N51第一周作业

一.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别


Linux发行版:Linux distribution也叫GUN/Linux发行版,一般是为用户预先集成好的Linux操作系统及各种应用软件,一般不需要重新编译,在安装好之后,稍微更改设置就可以使用,通过软件包管理系统进行应用软件管理。

实际上的Linux只是Linux内核,完整的Linux系统是Linux内核+大量的开源软件和GNU系统,常见的Linux发行版可以大致分为两类:商业公司维护发行的发行版rhel为代表和社区组织维护的发行版Debian为代表。

1.RedHat

RHEL :Redhat Enterprise Linux 红帽企业操作系统,红帽企业的商业版Linux系统具有极高的稳定、高效的性能,主要用于服务器领域,系统免费使用但是部分功能需要收费,有强大的售后技术支持。

Centos:Community Enterprise Operating System 社区企业操作系统(rhel克隆版),把rhel系统重新编译并发布给用户免费使用的linux系统,除了logo不一样其他几乎跟rhel一样并同步更新。

Fedora :是redhat桌面版发展来的,是rhel在上面实验最新的技术或者工具的系统,之后应用成熟并入更新到redhat系统。

 

2.Debian

Ubuntu:基于Debian发行的桌面版操作系统,界面友好上手快,所有的发行版都是免费的。

Mint :Linux Mint基于ubuntu/Debian的linux发行的桌面环境操作系统

Deepin :Linux deepin深度操作系统,针对个人用户使用。

3.Slackware

SUSE Linux enterprise server:SLES商业版的SUSE Linux,主用于服务器,Novell公司产品,

OpenSUSE :社区版SUSE Linux是SUSE Linux Professional的接替者,主用于桌面环境。

4.其他发行版

Alpine :Alpine Linux是一个由社区开发的基于musllibc和BusyBoxLinux操作系统,一个以安全为理念的轻型Linux,面向x86路由器、防火墙、虚拟专用网、IP电话盒及服务器而设计,大小只有5M左右。

ArchLinux :具有轻量简洁的特点,遵循K.I.S.S原则 (keep it simple and stupid )

Gentoo : 采用编译安装,具有极致的性能,不提供传统意义上的安装程序,有极高的自定制性。

LFS :Linux From scratch *的制作Linux。

国产Linux:红旗Linux 中标麒麟

Android :安卓是一种基于Linux的*及开放源代码的操作系统,主要使用于移动设备。Android = Linux 内核 + BusyBox + java 虚拟机

 

各发行版本之间系统的核心即内核都是一样的并基于GNU的GPL协议,都是Linux内核+各种应用软件和常用工具的集合产品,通常均使用软件包管理系统。不同的发行版本他们之间的内核版本不同,不同的程序软件不同的库,不同的操作系统软件包管理系统也不一样。

SLES、Fedora、openSUSE、Centos、RHEL用rmp包管理系统,包文件以rpm为扩展名;Ubuntu、Debian系列使用基于dpkg包管理系统,包文件以deb为扩展名。


二.安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登陆系统,将主要步骤截图

1.在虚拟机管理界面中,单击“开启虚拟机”按钮后几秒后进入安装centos7系统安装界面,选中 install centos7 直接安装系统

N51第一周作业

 

2.回车键后开始加载安装ISO镜像,并等待。。。

N51第一周作业

开始安装程序,等待一下。。。

 

N51第一周作业

3.选择安装系统语言单击continue按钮,默认语言为English。

 

N51第一周作业

4. 进入centos7系统的安装主界面,单击location选项,设置时区为Asia/Shanghai,Done.

 

N51第一周作业

 

N51第一周作业

 

5.设置键盘布局,默认。

N51第一周作业

6.设置语言支持为English并安装,也默认 Done.

N51第一周作业

 

7.centos7软件定制界面可以根据用户需求来调整系统的基本环境,单击software selection按钮,选择Server with GUI(带桌面的服务器),Done.

N51第一周作业

 

8.在安装主界面,单击installtion destination选项选择安装媒介并设置分区,选择手动设置分区,Done。

N51第一周作业

 

9.设置分区类型为标准分区 standard partition,单击 “+” 进行创建分区,

 

创建/boot分区,挂载点/boot,分区大小1G;创建根分区,挂载点/,设置大小100G;创建swap分区,挂载点/swap,设置大小为内存2倍为4G;创建自定义的/data数据分区,大小50G,最后Done。

在变更的摘要中,选择accept changes按钮,接受分区改变。

N51第一周作业

N51第一周作业

 

 

N51第一周作业

10.配置网络和主机名,设置主机名为n51c7,开启网络服务,Done。(没有IP地址因为宿机的VMNAT/DHCP服务没有开启)

N51第一周作业

 

设置网络自动连接,save。

N51第一周作业

 

11在安装主界面面完成设置调整后,开始安装,单击begin installation.

N51第一周作业

 

12.设置root用户密码,Done。(设置的密码级别较弱有安全风险,非要使用两次确认就行,生产环境慎重。)

N51第一周作业

 

13.创建普通用户和密码,作为普通用户登陆使用,Done。

N51第一周作业

14.完成所有配置后,系统安装进行中。。。

N51第一周作业

15.完成安装重启系统。

N51第一周作业

重启后的第一次启动。

N51第一周作业

 

 

16.许可协议选择i accept,Done。

N51第一周作业

17.用户名并登陆

N51第一周作业

 

N51第一周作业

 

首次登陆初始化桌面环境,接着下一步。

N51第一周作业

N51第一周作业

18.centos7.6桌面.

N51第一周作业

 

 

宿机的VMNAT/DGCP服务开启后,IP地址已自动分配。

N51第一周作业

 


三.配置环境变量,实现执行history的时候可以看到执行命令的时间。

执行命令后,系统默认会在内存中记录执行过得命令,会将内存的命令历史存放对应的历史文件中,默认位置是~/.bash_history,以点开头的文件是隐藏文件。

HISTTIMEFORMAT="%F %T `whoami`" 显示时间和用户,变量可以 export 变量名="值" 形式存放在 /etc/profile 或 ~/.bash_profile中(变量永久保存)。

以点开头的文件为隐藏文件,查看文件信息,并写入保存配置信息HISTTIMEFORMAT="%F %T

[root@n51c7 ~]# cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

[root@n51c7 ~]# vi .bash_profile 编辑配置文件并写入可以永久保存

[root@n51c7 ~]# source .bash_profile

[root@n51c7 ~]# cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export HISTTIMEFORMAT="%F %T"

:wq

执行history

N51第一周作业

 


四.总结Linux的哲学思想

1.一切皆文件。包括硬件设备,通信接口等在系统中所有都以文件显示 。

2.提供很多功能用途单一的简单程序工具。

3.众多简单程序组合相互连接使用,可以完成复杂的功能。 [shell编程]

4.避免让人困惑的用户界面,用命令行字符界面,执行效率高,性能好系统稳定耗费资源少。

5.配置数据存储保存在文本中。


五.总结Linux的常用命令格式,并用实例说明,例如echo 、screen、date、ifconfig、export等命令

Linux的常用命令格式:commoned [option] [file] /命令名称 [命令参数] [命令对象],具体的格式可以通过help 或者man查看帮助。

1.echo: 在终端上将后面跟进的字符串或者变量提取后的值输出

格式:echo [option] [字符串]/ [$变量]

[root@n51c7 ~]# help echo

echo: echo [-neE] [arg ...]

Write arguments to the standard output.

Display the ARGs on the standard output followed by a newline.

常用选项Options:

-n do not append a newline 不自动换行

-e enable interpretation of the following backslash escapes 启用 \ 字符的解释功能

-E explicitly suppress interpretation of backslash escapes (默认)不支持 \ 解释功能

[root@n51c7 ~]# echo abc

abc

[root@n51c7 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin

 

2.screen: 会话共享功能,实现会话管理,新建会话,共享会话等。

CentOS7 来自于base源,CentOS8 来自于epel源。

安装screen

[root@n51c7 ~]# yum install screen -y

[root@n51c7 ~]# man screen 查看screen命令格式

screen命令常见用法:创建新screen会话

screen –S [SESSION]

[root@n51c6 ~]# ssh 10.0.0.18

Nasty PTR record "10.0.0.18" is set up for 10.0.0.18, ignoring

root@10.0.0.18's password:

Last login: Sat Nov 28 00:59:43 2020 from 10.0.0.17

[root@n51c8 ~]# screen -S haha

加入screen会话

screen –x [SESSION]

[root@n51c7 ~]# ssh 10.0.0.18

root@10.0.0.18's password:

Last login: Sat Nov 28 01:01:02 2020 from 10.0.0.16

[root@n51c8 ~]# screen -x

首先使用ssh服务程序将终端n51c6远程连接到服务器n51c8,并创建一个会话窗口screen -S haha,然后,使用ssh服务程序将终端n51c7远程连接到服务器n51c8,并执行获取远程会话screen -x的命令。接下来,两台主机就能看到相同的内容了

退出并关闭screen会话

exit

[root@n51c8 ~]# exit

logout

Connection to 10.0.0.18 closed.

[root@n51c6 ~]#

[root@n51c8 ~]# exit

logout

Connection to 10.0.0.18 closed.

[root@n51c7 ~]#

剥离当前screen会话

Ctrl+a,d

显示所有已经打开的screen会话

screen -ls

[root@n51c8 ~]# screen -ls

There is a screen on:

1640.haha (Attached)

1 Socket in /run/screen/S-root.

恢复某screen会话

screen -r [SESSION]

 

3.date:显示或设定系统的日期与时间

格式为“date [选项] [+指定的格式

Linux的两种时钟

系统时钟:由Linux内核通过CPU的工作频率进行的

硬件时钟:主板

默认有固定的显示模式,后面接参数可以显示参数的信息

参数 作用

%S 秒(00~59)

%M 分钟(00~59)

%H 小时(00~23)

%I 小时(00~12)

%m 月份(1~12)

%p 显示出AM或PM

%a 缩写的工作日名称(Sun)

%A 完整的工作日名称(Sunday)

%b 缩写的月份名称(Jan)

%B 完整的月份名称(January)

%q 季度(1~4)

%y 简写年份(20)

%Y 完整年份(2020)

%d 本月中的第几天

%j 今年中的第几天

%n 换行符(相当于按下回车键)

%t 跳格(相当于按下Tab键)

[root@n51c7 ~]# date

Sat Nov 28 01:20:37 CST 2020

[root@n51c7 ~]# date +%F

2020-11-28

[root@n51c7 ~]# date +%T

01:21:15

clock,hwclock: 显示硬件时钟

-s, --hctosys 以硬件时钟为准,校正系统时钟

-w, --systohc 以系统时钟为准,校正硬件时钟

设置硬件时间

# hwclock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)

或者# clock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)

硬件时钟与系统时钟同步:# hwclock –hctosys=hwclock -s(hc代表硬件时间,sys代表系统时间)或者# clock –hctosys

系统时钟和硬件时钟同步:# hwclock –systohc或者# clock –systohc =hwclock -w

时区: /etc/localtime

修改linux时区

命令 ln -sf /usr/share/zoneinfo/Asia/xxxx /etc/localtime

[root@n51c6 ~]# cat /etc/sysconfig/clock

ZONE="Asia/Shanghai"

[root@n51c7 ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@n51c7 ~]# ls -l /etc/localtime

lrwxrwxrwx. 1 root root 33 Nov 28 01:42 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai

[root@n51c8 ~]# timedatectl set-timezone Asia/Shanghai

[root@n51c8 ~]# ll /etc/localtime

lrwxrwxrwx. 1 root root 35 Nov 9 21:08 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

 

4.ifconfig:用于显示或设置网络设备,默认什么都不接是显示网卡信息,后面也可以接其他不同的参数

格式:ifconfig [网络设备] [参数]

[root@n51c7 ~]# yum install net-tools -y

[root@n51c7 ~]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.0.0.17 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::118b:bef8:ba25:bf36 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:5e:1e:8d txqueuelen 1000 (Ethernet)

RX packets 13481 bytes 6502598 (6.2 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 5209 bytes 635529 (620.6 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (Local Loopback)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

常用选项 OPTIONS

-a display all interfaces which are currently available, even if down 显示全部接口信息。

 

-s display a short list (like netstat -i) 显示摘要信息(类似于 netstat -i)。

 

-v be more verbose for some error conditions 显示详细的错误条件

 

[root@n51c7 ~]# ifconfig -a

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.0.0.17 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::118b:bef8:ba25:bf36 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:5e:1e:8d txqueuelen 1000 (Ethernet)

RX packets 13702 bytes 6518828 (6.2 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 5328 bytes 653221 (637.9 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (Local Loopback)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

[root@n51c7 ~]# ifconfig -s

Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

ens33 1500 13712 0 0 0 5334 0 0 0 BMRU

lo 65536 0 0 0 0 0 0 0 0 LRU

[root@n51c7 ~]# ifconfig -v

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.0.0.17 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::118b:bef8:ba25:bf36 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:5e:1e:8d txqueuelen 1000 (Ethernet)

RX packets 13958 bytes 6539318 (6.2 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 5479 bytes 677121 (661.2 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (Local Loopback)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

启动关闭指定网卡

ifconfig eth0 up up 启动指定网络设备/网卡。

ifconfig eth0 down down 关闭指定网络设备/网卡。

 

5.export:用于设置或显示环境变量。

参数:

-f  代表[变量名称]中为函数名称。

-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p  列出所有的shell赋予程序的环境变量。

[root@n51c7 ~]# export

declare -x HISTTIMEFORMAT="%F %T root"

declare -x HISTTIMEFPRMAT="%T %F"

declare -x HISTTIMEFROMAT="%F %T"

declare -x HOME="/root"

declare -x LOGNAME="root"

declare -x MAIL="/var/mail/root"

declare -x OLDPWD="/usr/share/zoneinfo/Asia"

declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin:/root/bin"

declare -x PWD="/root"

declare -x SELINUX_LEVEL_REQUESTED=""

declare -x SELINUX_ROLE_REQUESTED=""

declare -x SELINUX_USE_CURRENT_RANGE=""

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="192.168.2.102 60005 22"

declare -x SSH_CONNECTION="192.168.2.102 60005 10.0.0.17 22"

declare -x SSH_TTY="/dev/pts/0"

declare -x TERM="xterm"

declare -x USER="root"

declare -x XDG_RUNTIME_DIR="/run/user/0"

declare -x XDG_SESSION_ID="1"

[root@n51c7 ~]#

 

 

 

 

 

 

 

 

上一篇:如何编写一个d.ts文件


下一篇:今天遇到了不能创建mysql函数