需求:

练习文件查看及检索查找:

  • 查看/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