需求:
练习文件查看及检索查找:
- 查看/etc/filesystems文件,确认当前系统支持的文件系统类型
- 分页查看/etc/services文件,了解各种服务默认使用的协议,端口号。
- 从/proc/meminfo文件中过滤出物理内存大小、空闲内存大小。
练习备份与恢复操作。
- 备份整个/etc目录树,制作成归档压缩包文件etc.tar.gz。
- 查看etc.tar.gz文件中包含的目录及文件列表
- 将etc.tra.gz文件恢复到/tmp目录下,确认后再删除/tmp/etc文件夹
练习vi编辑器的基本使用
- 通过"man man | col -b >man.txt" 操作创建man命令的文本手册页,用vi编辑器打开man.txt文件,以此文件作为练习素材
- 切换到末行模式,并输入“:set nu”命令显示行号
- 将第六行的内容复制到第二行,并删除第二行以后的几个空行
- 在文件中查找“-K”字符串
- 将文件中你的所有“string”字符串替换为“BENET”
- 保存该文件后退出vi编辑器
- 重新打开man.txt文件,只保留前五行,删除其余所有内容
- 复制/root/.bashrc 文件的内容到第五行,然后另存为man2.txt文件
使用vi修改系统配置
- 为/etc/sysconfig/network-scripts/ifcfg-enc33、/etc/issue文件做好备份,以便在必要时进行恢复
- 用vi编辑器打开/etc/sysconfig/network-scripts/ifcfg-ens33文件,查找包含“ONBOOT=no”字符串的行,并修改为“ONBOOT=yes”
- 用vi编辑器打开/etc/issue文件,删除其中的所有内容,添加一行新的文字“Windows Server 2016”(自定义)
- 根据备份文件恢复/etc/sysconfig/network-scipts/ifcfg-ens33、/etc/issue文件的内容
练习文件查看及检索查找
查看/etc/filesystems文件,确认当前系统支持的文件系统类型
[root@localhost ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
分页查看/etc/services文件,了解各种服务默认使用的协议,端口号
[root@localhost ~]# more /etc/services
auth 113/tcp authentication tap ident
auth 113/udp authentication tap ident
sftp 115/tcp
sftp 115/udp
uucp-path 117/tcp
uucp-path 117/udp
nntp 119/tcp readnews untp # USENET News Transfer Protoco
l
nntp 119/udp readnews untp # USENET News Transfer Protoco
l
ntp 123/tcp
ntp 123/udp # Network Time Protocol
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
从/proc/meminfo文件中过滤出物理内存大小、空闲内存大小
[root@localhost ~]# grep "i" /proc/meminfo
MemAvailable: 1138592 kB
Active: 579800 kB
Inactive: 428732 kB
Active(anon): 509356 kB
Inactive(anon): 38732 kB
Active(file): 70444 kB
Inactive(file): 390000 kB
Unevictable: 0 kB
Dirty: 40 kB
Writeback: 0 kB
SReclaimable: 33180 kB
SUnreclaim: 44520 kB
WritebackTmp: 0 kB
CommitLimit: 2062616 kB
Committed_AS: 3938688 kB
Hugepagesize: 2048 kB
DirectMap4k: 122752 kB
DirectMap2M: 1974272 kB
DirectMap1G: 0 kB
练习备份与恢复操作。
备份整个/etc目录树,制作成归档压缩包文件etc.tar.gz。
[root@localhost ~]#tar zvcf etc.tar.gz /etc
/etc/cups/interfaces/
/etc/cups/lpoptions
/etc/cups/ppd/
/etc/cups/printers.conf
/etc/cups/snmp.conf
/etc/cups/ssl/
/etc/cups/paps.convs
/etc/cups/subscriptions.conf.O
/etc/cups/subscriptions.conf
[root@localhost ~]# ls -lh
-rw-r--r-- 1 root root 11M 6月 28 15:57 etc.tar.gz
查看etc.tar.gz文件中包含的目录及文件列表
[root@localhost ~]# tar -ft etc.tar.gz
/etc/cups/interfaces/
/etc/cups/lpoptions
/etc/cups/ppd/
/etc/cups/printers.conf
/etc/cups/snmp.conf
/etc/cups/ssl/
/etc/cups/paps.convs
/etc/cups/subscriptions.conf.O
/etc/cups/subscriptions.conf
将etc.tra.gz文件恢复到/tmp目录下,确认后再删除/tmp/etc文件夹
[root@localhost ~]# tar fxz etc.tar.gz -C /tmp
[root@localhost ~]# ls /tmp
etc
[root@localhost ~]# rm -fr /tmp/etc
练习vi编辑器的基本使用
通过"man man | col -b >man.txt" 操作创建man命令的文本手册页,用vi编辑器打开man.txt文件,以此文件作为练习素材
[root@localhost ~]# man man | col -b > man.txt
[root@localhost ~]# ls
man.txt
[root@localhost ~]# vi man.txt
切换到末行模式,并输入“:set nu”命令显示行号
[root@localhost ~]# vi man.txt
1 man(1) General Commands Manual man(1)
2
3
4
5 NAME
6 man - 格式化并显示在线帮助手册页
7 manpath - 定义用户查找man手册页的路径
8
9 总
10 man [-acdfFhkKtwW] [-m 系统名] [-p <前处理程序>] [-C <配置
文件>]
11 [-M <路径>] [-P <浏览方式>] [-S <区段清单>] [区段名称] 帮
助主题
12 ...
13
14 描
@
:set nu
将第六行的内容复制到第二行,并删除第二行以后的几个空行
1
2 man(1) General Commands Manual man(1)
3 NAME
4 NAME
在文件中查找“-K”字符串
7 man [-acdfFhkKtwW] [-m 系统名] [-p <前处理程序>] [-C <配置
文件>]
8 [-M <路径>] [-P <浏览方式>] [-S <区段清单>] [区段名称] 帮
助主题
9 ...
10
11 描
12 man 格式化并显示在线帮助手册页面。此版本支持 MANPATH 和
13 (@
/k
将文件中你的所有“string”字符串替换为“BENET”
:% s /string/BENET/g
57 substitutions on 43 lines
保存该文件后退出vi编辑器
:wq
重新打开man.txt文件,只保留前五行,删除其余所有内容
1
2 BENER(1) General ComBENERds Manual BENER(1)
3 NAME
4 BENERpath - 定义用户查找BENER手册页的路径
5
~ ~
~
~
~
~
~ ~
~ ~
~ ~
82 fewer lines
复制/root/.bashrc 文件的内容到第五行,然后另存为man2.txt文件
:r /root/.bashrc
6 # .bashrc 7
8 # User specific aliases and functions
9
10 alias rm='rm -i'
11 alias cp='cp -i'
12 alias mv='mv -i' 13
14 # Source global definitions 15 if [ -f /etc/bashrc ]; then
16 . /etc/bashrc 17 fi
"~/.bashrc" 12L, 176C
:w man2.txt
[root@localhost ~]# ls
man.txt
man2.txt
使用vi修改系统配置
为/etc/sysconfig/network-scripts/ifcfg-enc33、/etc/issue文件做好备份,以便在必要时进行恢复
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 111.back
[root@localhost ~]# cp /etc/issue 222.back
[root@localhost ~]# ls
111.back
222.back
用vi编辑器打开/etc/sysconfig/network-scripts/ifcfg-ens33文件,查找包含“ONBOOT=no”字符串的行,并修改为“ONBOOT=yes”
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=008452ac-b5d8-4913-9520-a9646dc777c4
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
用vi编辑器打开/etc/issue文件,删除其中的所有内容,添加一行新的文字“Windows Server 2016”(自定义)
Windows Server 2016
~
:wq
根据备份文件恢复/etc/sysconfig/network-scipts/ifcfg-ens33、/etc/issue文件的内容
[root@chan etc]# rm -rf issue
[root@chan etc]# mv issue.backup issue
[root@chan etc]# cd sysconfig/network-scripts/
[root@chan network-scripts]# ls
ifcfg-ens33 ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions
ifcfg-ens33.back ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
ifcfg-lo ifdown-ib ifdown-post ifdown-Team ifup-aliases ifup-ippp ifup-plusb ifup-sit ifup-wireless
ifdown ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-ipv6 ifup-post ifup-Team init.ipv6-global
[root@chan network-scripts]# rm -rf ifcfg-ens33
[root@chan network-scripts]# cp ifcfg-ens33.back ifcfg-ens33
[root@chan network-scripts]# ls
ifcfg-ens33 ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions
ifcfg-ens33.back ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
ifcfg-lo ifdown-ib ifdown-post ifdown-Team ifup-aliases ifup-ippp ifup-plusb ifup-sit ifup-wireless
ifdown ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-ipv6 ifup-post ifup-Team init.ipv6-global