雲端計算全棧-系統管理04-目錄和檔案管理(二)
作者資訊: 房佳亮 ([email protected])
學習環境:
IP地址 |
主機名 |
軟體包 |
備註 |
|
CentOS7.5 |
192.168.200.111 |
localhost |
實驗初始配置:所有主機關閉防火牆與selinux
[root@localhost ~]# iptables -F
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i '/SELINUX/ s/enforcing/disabled/g' /etc/sysconfig/selinux
Linux目錄結構
樹形目錄結構:
根目錄:
- 所有分割槽、目錄、檔案等的位置起點
- 整個樹形目錄結構中,使用獨立的一個“/”表示
- 不管計算機擁有多少個分割槽,多少個硬碟,作業系統使用時只能有一個跟
- /root:系統管理員root的宿主目錄
- /home:普通使用者的宿主目錄
- /boot:系統核心、啟動檔案
- /dev:裝置檔案
- /etc:配置檔案
- /lib /lib64:庫檔案
- /tmp:臨時檔案
- /media /mnt 預設掛載點
- /bin:所有使用者可執行的命令
- /sbin:管理員可執行的管理命令
- /usr /opt:應用程式
- /var/log:日誌檔案等
cat、nl、tac、rev
用法:cat [選項]... [檔案]...
將[檔案]或標準輸入組合輸出到標準輸出。
- -n 顯示內容的同時顯示行號
- -A 顯示所有的字元 (通常windows系統拷貝過來的檔案無法直接cat到,需要加此選項)
[root@localhost ~]# cat -n /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost ~]# nl /etc/resolv.conf
1 # Generated by NetworkManager
2 nameserver 202.106.0.20
3 search localdomain
[root@localhost ~]# tac /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
more 全屏方式分頁顯示檔案內容
用法:more [選項] 檔案...
快捷鍵:
- 按Enter向下滾動一行
- 按空格鍵向下滾動一頁
- 按q鍵退出
less 與more基本相同,但擴充套件功能更多
格式:less [選項] 檔名 (一般不用選項)
快捷鍵:
- 按PgUp、PgDn鍵上下翻頁
- 按“/”鍵查詢內容,“n”下一個,“N”上一個
- 其他功能與more基本類似
head檢視檔案開頭的一部分內容,預設顯示10行,可加選項調節
用法:head [選項]... [檔案]...
[root@localhost ~]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tail檢視檔案結尾的一部分內容,預設顯示10行,可加選項調節
用法:tail [選項]... [檔案]...
- –f 動態更新尾部的資訊=tailf
[root@localhost ~]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
mysql:x:1000:1000::/home/mysql:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
wc作用:統計檔案中的單詞數量(Word Count)等
用法:wc [選項]... [檔案]...
常用選項:
- -l:統計行數
- -w:統計單詞個數
- -c:統計位元組數
[root@localhost ~]# wc -l /etc/passwd
45 /etc/passwd
[root@localhost ~]# wc -w /etc/passwd
90 /etc/passwd
[root@localhost ~]# wc -c /etc/passwd
2341 /etc/passwd
[root@localhost ~]# wc /etc/passwd
45 90 2341 /etc/passwd
grep
作用:在檔案中查詢並顯示包含指定字串的行
用法: grep [選項]... PATTERN [FILE]...
- -i:查詢時忽略大小寫
- -v:反轉查詢,輸出與條件不相符的行
- -E: 查詢時支援正則表示式
- -w: 查詢時將條件視為完整單詞
“^…”表示以…開頭
“…$”表示以…結尾
“^$”表示空行
egrep=grep -E
作用:增強型過濾
格式:egrep [選項] “查詢條件1|查詢條件2|查詢條件3…” 目標檔案
gzip
作用:壓縮,選項為1-9的數字控制壓縮級別,數字越大壓縮級別越高。壓縮後 檔案格式為“.gz”
格式:gzip [-9] 檔名
gunzip、gzip –d
作用:解壓縮格式為.gz的壓縮檔案
格式:gunzip 檔名
gzip -d 檔名
bzip2
作用:壓縮,選項為1-9的數字控制壓縮級別,數字越大壓縮級別越高。壓縮後 檔案格式為“.bz2”
格式:bzip2 [-9] 檔名
bunzip2、bzip2 –d
作用:解壓縮格式為.bz2的壓縮檔案
格式:bunzip2 檔名
bzip2 -d 檔名
tar
作用:製作歸檔檔案、釋放歸檔檔案
格式:
- 歸檔:tar [選項c…] 歸檔檔名 原始檔或目錄
- 釋放:tar [選項x…] 歸檔檔名 [-C 目標目錄]
常用選項:
- -c 建立.tar格式的包檔案
- -x 解開.tar格式的包檔案
- -v 輸出詳細資訊
- -f 表示使用歸檔檔案(後面需緊跟歸檔檔名)
- -p 打包時保留原始檔案及目錄的許可權(不建議使用)
- -t 列表檢視包內的檔案
- -C 解包時指定釋放的目標目錄
- -z 呼叫gzip程式進行壓縮或解壓
- -j 呼叫bzip2程式進行壓縮或解壓
- -P打包時保留檔案及目錄的絕對路徑(不建議使用)
- --remove 選項打包壓縮時可刪除原始檔
注意:
1、tar命令的選項前可以省略“-”,在解壓時無需選擇“-z”或“-j”,命令可以自行識別
2、tar命令通過-zcf 選項建立打包壓縮檔案時(.tar.gz = .tgz)
額外擴充套件:
1、tar命令實現增量備份
完整備份:
建立測試路徑與檔案
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/{a,b,c}
在test目錄下生成三個檔案
執行完整備份
[root@localhost ~]# tar -g snapshot -zcf full.tar.gz test/
檢視 tarball 內容
[root@localhost ~]# tar tf full.tar.gz
test/
test/a
test/b
test/c
差異+增量備份 :
新增一個檔案, 並修改一個檔案內容
[root@localhost ~]# touch test/e
[root@localhost ~]# echo 123 > test/a
執行第二次的增量備份 (注意 tarball 檔名)
[root@localhost ~]# tar -g snapshot -zcf full_2.tar.gz test
檢視 tarball 內容
[root@localhost ~]# tar tf full_2.tar.gz
test/
test/a
test/e
還原備份資料:清空測試資料
[root@localhost ~]# rm -rf test/
開始進行資料還原
[root@localhost ~]# tar xf full.tar.gz
[root@localhost ~]# tar xf full_2.tar.gz
檢視測試資料
[root@localhost ~]# ls test/
a b c e
2、打包某個目錄下的所有檔案時忽略某個檔案
[root@localhost ~]# mkdir /tardir
[root@localhost ~]# touch /tardir/{11,22,33,44,55}
[root@localhost ~]# ls -l /tardir/
總用量 0
-rw-r--r-- 1 root root 0 12月 14 16:59 11
-rw-r--r-- 1 root root 0 12月 14 16:59 22
-rw-r--r-- 1 root root 0 12月 14 16:59 33
-rw-r--r-- 1 root root 0 12月 14 16:59 44
-rw-r--r-- 1 root root 0 12月 14 16:59 55
[root@localhost ~]# tar zcf num.tar.gz --exclude=/tardir/11 --exclude=/tardir/22 /tardir
tar: 從成員名中刪除開頭的“/”
[root@localhost ~]# tar tf num.tar.gz
tardir/
tardir/33
tardir/44
tardir/55
或者
[root@localhost ~]# tar zcf num.tar.gz --exclude-from /tardir/excludefile /tardir
tar: 從成員名中刪除開頭的“/”
[root@localhost ~]# tar tf num.tar.gz
tardir/
tardir/33
tardir/44
tardir/55
tardir/excludefile
3、tar命令打包壓縮時忽略目錄
[root@localhost ~]# tar zcf file.tar.gz -C /etc/ passwd
[root@localhost ~]# tar tf file.tar.gz
passwd
文字編輯器的作用
建立或修改文字檔案
維護 Linux 系統中的各種配置檔案
Linux中最常用的文字編輯器
vi:類UNIX作業系統的預設文字編輯器
vim:vim是vi文字編輯器(一般簡稱為vi編輯器)的增強版本
三種工作模式
命令模式、輸入模式、末行模式
不同模式之間的切換
- a 在游標後插入內容
- A 在游標所在行末尾插入內容
- i 從當前游標前插入內容
- I 在游標所在行行首插入內容
- o 在當前游標下插入空行
- O 在當前游標上插入空行
游標移動
複製、貼上、刪除
檔案內容查詢
撤銷編輯及儲存退出
儲存檔案及退出vi編輯器
開啟新檔案或讀入其他檔案內容
檔案內容替換
常規操作的補充:
- :x 儲存退出 但如果未修改,時間戳不改變
- :w file 將當前檔案另存為file (vim)
- :X 加密(vim)
- :7 跳轉到第7行
- :1,$ co $ 從第一行到第最後一行復制,到最後一行後
- J 合併當前行和下一行
- ctrl+r 對使用u命令撤銷操作進行恢復
vim視覺化模式操作:
vim學習工具:vimtutor
vim鍵盤圖