文章目录
一、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
1.Linux的发行版主要分类
Debian
1、Ubuntu 针对桌面和服务器
2、knopix 以安全著称
3、mint 桌面
slackwave
1、S.u.S.E 也是针对于桌面和服务器
2、 SLES-SuSE Linux Enterprise 服务器
3、OpenSuSE 桌面
redhat
1、RHEL-RedHat Enterprise Linux redhat公司发布的linux操作系统,每18个月发布一次
2、CentOS-Community ENTerprise 基于redhat提供的可自由使用源代码的linux版本,相当于RHEL的山寨版本
3、Fedora redhat测试版本,每6个月发行一次
其他发行版
1、Gentoo 极致性能,下载源代码在本机上直接编译软件
2、ArchLinux 轻量简介,遵循K.I.S.S 原则
2.各发行版之间的联系
1、所有的发行版都使用linux内核;
2、所有的linux发行版都需要遵循GNU的GPL协定;
3、所有的发行版都有自己的版本号,版本格式约定基本一样,主版本号.次版本号.发行号或修正号。
3.各发行版之间的区别
1、只有debian以社区的方式运作;
2、各个发行版的本质区别,在于集成了不同版本的内核、库、程序的组合;
3、不同发行商发行版之间无法有效进行版本的对比;
4、不同发行版几乎采用了不同的包管理器
(a). Debian:包管理器dpkg(deb格式),apt-get
(b). RedHat:包管理器rpm,前端包管理器叫yum
©. S.U.S.E:包管理器rpm,zypper
二、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
1.选择Install CentOS 7开始安装系统
- 设置安装语言和键盘为English
3.设置时区 亚洲上海
4、选择桌面安装GNOME Desktop
5、配置分区,设置文件类型XFS,分区方案为LVM
6、开始安装,创建普通用户wangmingwang并设置密码,设置root密码
7、使用wangmingwang账号成功登入系统
三、配置环境变量,实现执行history的时候可以看到执行命令的时间
- 执行history显示执行时间
vim ~/.bashrc
HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S "
export HISTTIMEFORMAT
:wq!
source ~/.bashrc
四、总结Linux哲学思想。
1、一切皆文件
无论硬件、软件在linux中都通过文件表示,尤其硬件设备以文件形式保存,更方便使用者控制
物理终端:/dev/console
虚拟终端:/dev/tty# [1,6]
串行终端:/dev/ttyS#
伪终端:dev/pts/#
2、组合小程序完成复杂任务
由众多功能单一的程序实现复杂的功能
3、尽量避免和用户交互
贴近编程,易于以编程的方式实现自动化任务
4、由众多功能单一的程序组成
每个程序只负责做好自己的事,保证linux内核的高效运行
5、使用文本文件保存配置信息
只需使用任一款文本编辑器即可修改配置文件信息
五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
**linux命令使用格式**
COMMAND [OPTIONS...] [ARGUMENTS...]
linux基本命令相关
1、ifconfig:查看、配置、启用或禁用网络接口
语法格式
```bash
Interface:网卡接口号,包括 eth0、eth1等
Options,可以接的参数,包括如下:
Up或down,启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)
mtu,可以设置不同的 MTU 数值,例如MTU 1500 (单位为 byte)
netmask,就是子屏蔽网络
broadcast,就是广播地址
eth0:网卡的代号,也有 lo 这个 loopback。
HWaddr:网卡的硬件地址,习惯称为 MAC。
inet addr:IPv4 的 IP 地址,后续的 Bcase、Mask 分别代表的是 Broadcast 与 Netmask。
inet6 addr:是 IPv6 的版本的 IP,我们没有使用,所以略过。
RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets 代表数据包数、errors 代表数据包发生错误的数量、dropped 代表数据包由于有问题而遭丢弃的数量等。
TX:与 RX 相反,为网络由启动到目前为止的传送情况。
collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。
txqueuelen:代表用来传输数据的缓冲区的储存长度。
RX Bytes、TX Bytes:总传送、接收的字节总量。
Interrupt、Memory:网卡硬件的数据,IRQ 岔断与内存地址。
实例
ifconfig virbr0 down
ifconfig virbr0 up
ifconfig virbr0 mtu 1500
ifconfig virbr0 192.168.122.2
ifconfig virbr0 192.168.122.2 netmask 255.255.254.0
ifconfig virbr0 mtu 1000
/etc/init.d/network restart
2、echo:回显命令
语法格式
```bash
echo [-neE][字符串]
-n 不自动换行
-e 启用\字符的解释功能
-E 不支持\解释功能
\n 换行符
\t 水平制表符
\y 纵向制表符
\r 回车符
\b 退格符
实例
echo "hello"
echo -n "hello"
echo -e "hello"
echo -e "\nhello"
echo -e "\rhello"
echo -e "\bhello"
3、screen
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
实例
screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
4、date:显示设定系统的日期与时间
语法
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%F 显示YY-MM-DD 。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00..53,星期一为第一天)
%X 相当于%HH%MM%SS。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
实例
格式化输出时间:date +"%Y-%m-%d"
显示当前日期时间:date
显示两天前的时间: date -d "+2 days ago"
显示两天前的时间,并以%Y-%m-%d %H:%M:%S格式输出:date -d "+2 days ago" "+%Y-%m-%d %H:%M:%S
设置时间:
date -s "20191102 09:01:00" //这样可以设置全部时间
5、export:设置或显示环境变量值
语法格式
export [-fnp][变量名称]=[变量设置值]
实例
export -p 列出所有的环境变量
export -f 代表环境变量是函数名称
export -n 删除指定的环境变量