實驗目的:(1)掌握檢視和檢索檔案内容的方法,
(2)掌握備份與恢複文檔的方法,
(3)掌握使用vi文本編輯器的方法
實驗需求:
*練習檔案檢視及檢索操作
①檢視 /etc/filesystems檔案,确認目前系統支援的檔案系統類型
[root@chan ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@chan ~]#
②分頁檢視 /etc/services檔案,了解各種服務預設使用的協定,端口号
[root@chan ~]# more /etc/services
③從/proc/meminfo檔案中過濾實體記憶體大小,空閑記憶體大小
[root@chan ~]# grep "MemTotal" /proc/meminfo
MemTotal: 2028088 kB
[root@chan ~]# grep "MemFree" /proc/meminfo
MemFree: 267428 kB
*練習備份與恢複目錄
①備份整個/etc目錄樹,制作成歸檔壓縮封包件etc.tar.gz
[root@chan /]# tar fzvc etc.tar.gz /etc
[root@chan /]# ls
bbb bin boot dev etc etc.tar.gz home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
②檢視etc.tar.gz檔案中包含的目錄及檔案清單
[root@chan /]# tar ft etc.tar.gz
③将etc.tar.gz檔案恢複到/tmp目錄下,确認後删除/tmp/etc檔案夾
[root@chan /]# tar zxvf etc.tar.gz -C /tmp
[root@chan /]# ls /tmp
anaconda.log storage.log vmware-root_6298-692293416
etc systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-bolt.service-dBtwjR vmware-root_6318-734038149
hsperfdata_root systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-colord.service-DpUA3a vmware-root_6321-1681855298
ifcfg.log systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-cups.service-M7qtx2 vmware-root_6323-1690178240
ks-script-2Kf1dg systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-fwupd.service-Hwa603 vmware-root_6359-1949639453
packaging.log systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-rtkit-daemon.service-8XblbE yum.log
program.log tracker-extract-files.0 yum_save_tx.2022-06-28.15-23.kbtquZ.yumtx
sensitive-info.log tracker-extract-files.1000
ssh-msc4OO4bmXZT vmware-root_6294-734169251
[root@chan /]# rm -rf /tmp/etc
[root@chan /]# ls /tmp
anaconda.log storage.log vmware-root_6294-734169251
hsperfdata_root systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-bolt.service-dBtwjR vmware-root_6298-692293416
ifcfg.log systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-colord.service-DpUA3a vmware-root_6318-734038149
ks-script-2Kf1dg systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-cups.service-M7qtx2 vmware-root_6321-1681855298
packaging.log systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-fwupd.service-Hwa603 vmware-root_6323-1690178240
program.log systemd-private-23b4a6f7d34244e7bdf6fb7c06802706-rtkit-daemon.service-8XblbE vmware-root_6359-1949639453
sensitive-info.log tracker-extract-files.0 yum.log
ssh-msc4OO4bmXZT tracker-extract-files.1000 yum_save_tx.2022-06-28.15-23.kbtquZ.yumtx
*練習vi編輯器的基本用法
①通過“man man | col -b > man.txt”操作建立man指令的文本手冊頁,用vi編輯器打開man.txt檔案,以此檔案作為練習素材
[root@chan /]# man man | col -b > /man.txt
[root@chan /]# ls
bbb bin boot dev etc etc.tar.gz home lib lib64 man.txt media mnt opt proc root run sbin srv sys tmp usr var
[root@chan /]# vi man.txt
②切換到末行模式,并輸入“:set:nu”指令顯示行号[root@chan /]# vi man.txt (:set nu)
1 1111111111111111111111111111111111111111111111111
~
~
~
~
~
~
:set nu
③将第六行的内容複制到第二行,并删除第二行以後的幾個空行(yy為複制,dd為删除,p為粘貼)
[root@chan /]# vi man.txt
1 1111111111111111111111111111111111111111111111111
2 6666666666666666666666
3 333333333333333333333333
4 444444444444444444444
5 555555555555555555555
6 6666666666666666666666
7 7777777777777777777
~
:set nu
④在檔案中查找“1”字元串(/搜尋内容)
[root@chan /]# vi man.txt
1 1111111111111111111111111111111111111111111111111
2 6666666666666666666666
3 333333333333333333333333
4 444444444444444444444
5 555555555555555555555
6 6666666666666666666666
7 7777777777777777777
~
~
~
~
~
~
~
~
~
~
~
~
/1111
⑤将檔案中的所有“1”替換成“2”(:% s/舊内容/新内容/g)
[root@chan /]# vi man.txt
1 2222222222222222222222222222222222222222222222221
2 6666666666666666666666
3 333333333333333333333333
4 444444444444444444444
5 555555555555555555555
6 6666666666666666666666
7 7777777777777777777
~
~
~
:% s /11111/22222/g
⑥儲存改檔案後退出vi編輯器(:wq)
[root@chan /]# vi man.txt
1 2222222222222222222222222222222222222222222222221
2 6666666666666666666666
3 333333333333333333333333
4 444444444444444444444
5 555555555555555555555
6 6666666666666666666666
7 7777777777777777777
~
~
:wq
⑦重新打開man.txt,隻保留前五行,删除其餘所有内容(行數+dd)
[root@chan /]# vi man.txt
1 2222222222222222222222222222222222222222222222221
2 6666666666666666666666
3 333333333333333333333333
4 444444444444444444444
5 555555555555555555555
6 6666666666666666666666
7 7777777777777777777
~
~
~
:wq
⑧複制/root/.bashrc檔案的内容到第五行,然後另存為man2.txt檔案(:r 檔案路徑---插入内容,:w 檔案路徑---另存為)
[root@chan /]# vi man.txt
2222222222222222222222222222222222222222222222221
6666666666666666666666
333333333333333333333333
444444444444444444444
555555555555555555555
~
~
~
~
:r /root/.bashrc
*使用vi修改系統配置
①為/etc/sysconfig/network-scripts/ifcfg-ens33 /etc/issuewenjian 做好備份,以便在必要時進行恢複
[root@chan network-scripts]# cp ifcfg-ens33 ifcfg-ens33.back
[root@chan network-scripts]# cd /etc
[root@chan etc]# cp issue issue.backup
[root@chan etc]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
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="d3c459d8-b12f-4d3a-b85a-e32c677d1369"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.109.150"
PREFIX="24"
GATEWAY="192.168.109.2"
DNS1="8.8.8.8"
IPV6_PRIVACY="no"
[root@chan etc]# vi /etc/issue
Windows Server 2016
~
~
~
~
~
~
~
[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