第一周
第一周
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
-
slackware
比较早的linux版本,遵循“KISS”(Keep It Simple, Stupid)原则,尽量保持系统的简洁,从而实现稳定、高效和安全
-
debian
代表:ubuntu和deepin(深度)
特点:更新升级比较快
-
redhat
代表
RHEL:企业版,收费,刚刚更新到8.0
CentOS:社区版,兼容RHEL格式,免费,使用的最多
中标麒麟:中国的linux系统,基于redhat,国家安全部门会使用
Fedora:企业版(RHEL)的测试版本,免费,每6个月发行一个新版本
特点:目前国内使用人群最多的Linux版本,稳定,但是更新比较慢
-
Archlinux
轻量简洁,遵循K.I.S.S原则,用的不多
-
Gentoo
极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
-
LFS
Linux From scratch 自制linux
-
Android
kernel+busybox(工具集)+java虚拟机
2、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
-
选择安装CentOS 7 64位操作系统

-
设置硬盘大小为200G

-
设置硬件参数

-
开始安装

-
修改时区为"中国上海",软件包选择"GNOME Desktop"

-
磁盘选择标准分区

-
开始安装,设置root密码123456;创建scott用户,密码123456

3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
命令:HISTTIMEFORMAT="%F %T "
%F是添加日期,%T是时间
命令行直接修改是临时生效,永久生效可以写到/etc/profile文件中
[root@centos7 ~]# HISTTIMEFORMAT="%F %T "
[root@centos7 ~]# history
1 2020-04-15 15:56:13 ls
2 2020-04-15 15:56:14 ll
3 2020-04-15 15:56:20 cd /etc/
4 2020-04-15 15:56:22 cd
5 2020-04-15 15:56:25 history
6 2020-04-15 15:57:16 HISTTIMEFORMAT="%F %T "
7 2020-04-15 15:57:17 history
4、总结Linux哲学思想。
-
一切都是一个文件(包括硬件)
-
小型/单一用途的程序
-
链接程序,共同完成复杂的任务
-
避免令人困惑的用户界面
-
配置数据存储在文本中
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
-
echo
功能:显示字符
语法:echo [-neE][字符串]
说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
-E (默认)不支持 \ 解释功能
-n 不自动换行
-e 启用 \ 字符的解释功能
# echo默认不能识别换行符
[root@centos7 ~]# echo \n
n
[root@centos7 ~]# echo "\n"
\n
# 加上-e参数才能识别换行符
[root@centos7 ~]# echo -e "\n"
# 默认echo会自动添加换行符
# 加上-n就不会换行了
[root@centos7 ~]#echo abc
abc
[root@centos7 ~]#echo -n abc
abc[root@centos7 ~]#
-
screen
CentOS7默认没有安装,需要使用yum安装
-
创建新screen会话
screen –S [SESSION]
# 创建一个screen,并取名“xiaohong” [root@centos7 ~]# screen -S xiaohong [detached from 94819.xiaohong] [root@centos7 ~]# screen -ls There is a screen on: 94819.xiaohong (Detached) 1 Socket in /var/run/screen/S-root.-
加入screen会话
screen –x [SESSION]
前提:用相同用户登录到同一台机器时,才能加入
# 加入叫“xiaohong”的screen [root@centos7 ~]# screen -x xiaohong-
退出并关闭screen会话
exit
-
剥离当前screen会话
Ctrl+a,d
先按Ctrl+a,再按d,暂时退出,想要回到窗口可以使用screen -x或者-r
-
显示所有已经打开的screen会话
screen -ls
[root@centos7 ~]# screen -ls There is a screen on: 95012.xiaohong (Attached) 1 Socket in /var/run/screen/S-root. -
恢复某screen会话
screen -r [SESSION]
[root@centos7 ~]# screen -r xiaohong
-
-
date
date 显示和设置系统时间
格式:date [参数]... [+格式]
- -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
- --help : 显示辅助讯息
- -s datestr : 将系统时间设为 datestr 中所设定的时间
- -u : 显示目前的格林威治时间,比Beijing时间早8小时
- --version : 显示版本编号
[root@centos7 ~]# date Thu Apr 16 15:06:29 CST 2020 [root@centos7 ~]# date -u Thu Apr 16 07:06:31 UTC 2020-s 只有root权限才能执行
# 设置日期为20200301,没有写时间默认是00:00:00 [root@centos7 ~]# date -s 20200301 Sun Mar 1 00:00:00 CST 2020 # 设置时间为01:01:01 [root@centos7 ~]# date -s 01:01:01 Sun Mar 1 01:01:01 CST 2020 # 同时设置日期和时间,以下几种写法都可以 [root@centos7 ~]# date -s "20200305 03:03:03" Thu Mar 5 03:03:03 CST 2020 [root@centos7 ~]# date -s "2020-03-06 03:03:03" Fri Mar 6 03:03:03 CST 2020 [root@centos7 ~]# date -s "03:03:03 2020-03-07" Sat Mar 7 03:03:03 CST 2020 [root@centos7 ~]# date -s "06:06:06 20200307" Sat Mar 7 06:06:06 CST 2020 # 设置日期在2年以后 [root@centos7 ~]# date -s '2 years' Sat Apr 16 15:23:45 CST 2022 # 设置日期在2年以前 [root@centos7 ~]# date -s '2 years ago' Thu Apr 16 15:23:54 CST 2020 # 设置日期在5天之后 [root@centos7 ~]# date -s '5 days' Thu Apr 23 15:24:08 CST 2020 # 设置日期在5天以前 [root@centos7 ~]# date -s '5 days ago' Sat Apr 11 15:26:19 CST 2020-d参数用的特别多,是个非常重要的参数,只是显示时间,不会修改当前时间
# 显示两周后的日期 [root@centos7 ~]# date -d '2 weeks' Thu Apr 30 15:17:08 CST 2020 # 显示明天的日期 [root@centos7 ~]# date -d 'next-day' Fri Apr 17 15:17:26 CST 2020 [root@centos7 ~]# date -d 'tomorrow' Fri Apr 17 15:17:34 CST 2020 # 显示昨天的日期 [root@centos7 ~]# date -d last-day Wed Apr 15 15:17:43 CST 2020 [root@centos7 ~]# date -d yesterday Wed Apr 15 15:17:55 CST 2020 # 显示上个月的日期 [root@centos7 ~]# date -d last-month Mon Mar 16 15:18:07 CST 2020 # 显示下个月的日期 [root@centos7 ~]# date -d next-month Sat May 16 15:18:11 CST 2020 # 显示3天后的日期 [root@centos7 ~]# date -d '3 days' Sun Apr 19 15:18:33 CST 2020 # 显示3天前的日期 [root@centos7 ~]# date -d '3 days ago' Mon Apr 13 15:18:36 CST 2020 [root@centos7 ~]# date -d '-3 days' Mon Apr 13 15:18:50 CST 2020 # 显示3年后的日期 [root@centos7 ~]# date -d '3 years' Sun Apr 16 15:22:09 CST 2023 # 显示3年前的日期 [root@centos7 ~]# date -d '3 years ago' Sun Apr 16 15:22:12 CST 2017格式参数:
时间方面:
- % : 印出 %
- %n : 下一行
- %t : 跳格
- %H : 小时(00..23)
- %I : 小时(01..12)
- %k : 小时(0..23)
- %l : 小时(1..12)
- %M : 分钟(00..59)
- %p : 显示本地 AM 或 PM
- %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
- %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
- %S : 秒(00..61)
- %T : 直接显示时间 (24 小时制)
- %X : 相当于 %H:%M:%S
- %Z : 显示时区
日期方面:
- %a : 星期几 (Sun..Sat)
- %A : 星期几 (Sunday..Saturday)
- %b : 月份 (Jan..Dec)
- %B : 月份 (January..December)
- %c : 直接显示日期与时间
- %d : 日 (01..31)
- %D : 直接显示日期 (mm/dd/yy)
- %h : 同 %b
- %j : 一年中的第几天 (001..366)
- %m : 月份 (01..12)
- %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
- %w : 一周中的第几天 (0..6)
- %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
- %x : 直接显示日期 (mm/dd/yy)
- %y : 年份的最后两位数字 (00.99)
- %Y : 完整年份 (0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm
[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数# 修改时间为2020年1月10日,05:06:00 [root@centos7 ~]#date 011005062020 Fri Jan 10 05:06:00 CST 2020 [root@centos7 ~]#date Fri Jan 10 05:06:03 CST 2020# 显示时间后跳行,再显示目前日期 [root@centos7 ~]#date '+%T%n%D' 05:10:17 01/10/20# 显示当前时间 [root@centos7 ~]# date '+%T' 15:40:51 # 显示当前日期 [root@centos7 ~]# date '+%D' 04/16/20 # 通过显示年月日,自己DIY输出格式 [root@centos7 ~]# date +%Y%m%d 20200416 [root@centos7 ~]# date +%Y-%m-%d 2020-04-16 [root@centos7 ~]# date -d '10 days ago' '+%Y-%m-%d' 2020-04-06 [root@centos7 ~]# date -d '10 days ago' '+%Y-%m-%d %H:%M:%S' 2020-04-06 15:43:17 -
ifconfig
作用:命令用于显示或设置网络设备,可设置网络设备的状态,或是显示目前的设置。
# 使用方法 ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>] [add <address>[/<prefixlen>]] [del <address>[/<prefixlen>]] [[-]broadcast [<address>]] [[-]pointopoint [<address>]] [netmask <address>] [dstaddr <address>] [tunnel <address>] [outfill <NN>] [keepalive <NN>] [hw <HW> <address>] [mtu <NN>] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>] [txqueuelen <NN>] [[-]dynamic] [up|down] ...-
-a 显示全部接口信息,包含活动的与非活动的
-
-s 显示摘要信息
-
add 给指定网卡配置IPv6地址
-
del 删除指定网卡的IPv6地址
[root@centos7 ~]#ifconfig -s Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens33 1600 111939 0 0 0 54742 0 0 0 BMRU lo 65536 1062 0 0 0 1062 0 0 0 LRU virbr0 1500 0 0 0 0 0 0 0 0 BMU[root@centos7 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.139 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::4661:5cfd:9c5:bb07 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:b3:a9:51 txqueuelen 1000 (Ethernet) RX packets 48927 bytes 10496398 (10.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26017 bytes 3914777 (3.7 MiB) 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 1037 bytes 117943 (115.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1037 bytes 117943 (115.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0启动关闭指定网卡
[root@centos7 ~]# ifconfig ens33 down [root@centos7 ~]# ifconfig ens33 up [root@centos7 ~]#ifconfig ens33 reload给指定网卡配置ip地址,都是临时生效,注销之后配置消失
# 给ens33网卡配置ip地址 [root@centos7 ~]# ifconfig ens33 192.168.100.139 # 配置ip地址,并加上子网掩码 [root@centos7 ~]# ifconfig ens33 192.168.100.139 netmask 255.255.255.0 # 配置ip地址,子网掩码,广播地址 [root@centos7 ~]# ifconfig ens33 192.168.100.139 netmask 255.255.255.0 broadcast 192.168.100.255启用和关闭ARP协议
[root@centos7 ~]# ifconfig ens33 arp [root@centos7 ~]# ifconfig ens33 -arp设置MTU
[root@centos7 ~]# ifconfig ens33 mtu 1600 [root@centos7 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1600 inet 192.168.100.139 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::4661:5cfd:9c5:bb07 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:b3:a9:51 txqueuelen 1000 (Ethernet) RX packets 49649 bytes 10555969 (10.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26449 bytes 3963159 (3.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -
-
export
作用:用于设置或显示环境变量,环境变量可以在当前shell和其子shell中使用
语法:export
[-fnp][变量名称]=[变量设置值]参数说明
- -f 代表[变量名称]中为函数名称。
- -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
- -p 列出所有的shell赋予程序的环境变量
[root@centos7 ~]# export -p declare -x DISPLAY="localhost:12.0" declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="centos7.0" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root"定义环境变量并赋值
[root@centos7 ~]# export ABC=1 [root@centos7 ~]# export -p declare -x ABC="1" declare -x DISPLAY="localhost:12.0" declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="centos7.0" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root"

浙公网安备 33010602011771号