1. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
1.1. 常见的Linux发行版
发行版系列 | 发行版 | 收费收费 | 应用领域 | 应用范围 |
---|---|---|---|---|
Redhat | RHEL | 企业版/收费 | 服务器系统 | 企业级应用 |
Redhat | CentOS | 社区版/免费 | 服务器系统 | 企业级应用 |
Redhat | Fedora | 社区版/免费 | redhat系前瞻性 | 测试新技术 |
Debian | Debian | 社区版/免费 | 安全性要求较高 | 金融/游戏 |
Debian | Ubuntu | 社区版/免费 | 桌面 | 研发人员首选 |
SUSE | SUSE | 企业版/收费 | 网络领域/电子邮件 | 欧洲德国 |
SUSE | openSUSE | 社区版/免费 | 网络领域/电子邮件 | 欧洲德国 |
国产化 | UOS/深度/优麒麟/红旗 | 免费 | 国产办公领域 | 国产办公领域 |
1.1.1. Redhat系
RHEL(Redhat Enterprise Linux,一般为Advanced Server版本),红帽企业级版本,服务收费;
CentOS,依据RHEL源码的社区发行版,现已被Redhat公司收购;
OracleLinux,Oracle公司依据RHEL源码的发行版,据说对Oracle软件具有优化;
Fedora,面向个人用户及新技术尝鲜.
1.1.2. Debian系
Debian,最遵循GNU规范的操作系统,纯社区方式开发运行,运行极其稳定,但不太适用于新手
Ubuntu,拥有Debian众多优点,且加入更加人性化的操作,具有server和desktop版本,更提供相应的LTS版本
Mint,基于Ubuntu与Debian开发,被誉为Linux世界中的macOS,非常适合个人日常办公或开发
deepin(深度),依据Debian进行二次研发的国产系统,据说UOS也是深度主要研发的
1.1.3. SUSE系(按血统应该成为SLS系)
Slackware
SUSE,企业级收费
openSUSE
1.1.4. Gentoo
为用户提供大量程序包源码,推荐编译安装软件,对性能要求较高
1.1.5. Arch Linux
轻量级系统,提供滚动升级,致力于保持最新稳定版软件,使用ABS包管理器
1.1.6. LFS
其实,这并不是一款Linux发行版,而是一本从零构建Linux的技术手册.
1.1.7. Others
Linux发行版太多了,无法穷尽,在此代表为进行说明的各版本,
1.2. 不同发行版之间的联系与区别
1.2.1. 联系
- 均采用Kernel+Package组成
- 文件系统遵循FHS标准
- 具有统一的API及ABI
1.2.2. 区别
- kernel及软件包版本稳定性选用的差异
- 软件包及包管理器差异
- 收费企业版及免费社区版
1.3. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
安装过程略...
配置CentOS7网卡eth0
useradd cpxiaoxia
echo "cpxiaoxia" | passwd --stdin
1.4. 配置环境变量,实现执行history的时候可以看到执行命令的时间。
echo 'HISTTIMEFORMAT="%F %T "' >> /etc/profile.d/env.sh
source /etc/profile.d/env.sh
1.5. 总结Linux哲学思想。
- 一切皆文件:把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
- 由众多功能单一的程序组成;一个程序只做一件事,并且做好;组合小程序完成复杂任务;
- 尽量避免跟用户交互:易于以编程的方式实现自动化任务;
- 使用文本文件保存配置信息;
1.6. 总结Linux常用命令使用格式并用实例说明。
1.6.1. echo
功能:显示行文本
语法:echo [-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
选项:
-E (默认)不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
显示变量
echo "$VAR_NAME” 变量会替换,弱引用
echo '$VAR_NAME’ 变量不会替换,强引用
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\e escape,相当于\033
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
echo -e '\033[43;31;5mmagedu\e[0m'
\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)
1.6.2. screen
- 创建新screen会话
screen –S [SESSION]
- 加入screen会话
screen –x [SESSION]
- 退出并关闭screen会话
exit Ctrl+d
- 剥离当前screen会话
Ctrl+a,d
- 显示所有已经打开的screen会话
screen -ls
- 恢复某screen会话
screen -r [SESSION]
1.6.3. date
功能: 显示日期时间
# 显示当前日期时间
date
Sun Jun 21 06:27:18 CST 2020
# 按指定格式显示当前日期时间
date +"%F %T"
2020-06-21 06:28:41
# 安时间戳显示
date +%s
1592692167
# 显示指定时间戳,实际的时间
date -d @1592620167
Sat Jun 20 10:29:27 CST 2020
1.6.4. ifconfig
centos7最小安装不存在该命令,需要安装:yum install net-tools
; 默认使用ip命令集管理
# 直接使用,显示所有网卡信息
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:febf:4644 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bf:46:44 txqueuelen 1000 (Ethernet)
RX packets 543137 bytes 56065736 (53.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9965 bytes 966840 (944.1 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
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:febf:4644 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bf:46:44 txqueuelen 1000 (Ethernet)
RX packets 543173 bytes 56068586 (53.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9984 bytes 969660 (946.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# 临时子网卡配置新的ip地址
ifconfig eth0:1 192.168.1.201 netmask 255.255.255.0
1.6.5. export
配置环境变量: 不加export命令设置的环境变量只在本shell生效,加上export命令设置的环境变量不仅对本shell生效,对其子shell也生效。
网友评论