在linux系統上,有一個核心思想,那就是一切皆文件。那我們在和linux系統打交道的同時,不免要和文件打交道。既然如此,那掌握文件查找、壓縮、解壓縮和文件歸檔類工具是我們必不可少的一項技能。
文件查找工具:locate、find
locate是一款非實時性查詢工具,它是根據事先建立的索引數據庫來查找文件,索引的構建是在系統不繁忙時自動創建,需要遍歷整個根文件系統,極其消耗資源,管理員也可以手工創建。正因爲如此,所以locate查詢文件比較快,但不能夠精確查找,都是模糊查詢。
locate -i :區分大小寫進行搜索
locate -n x:只顯示前x個搜索到的文件
updatedb:手動更新索引數據庫
locate foo:搜索名稱或者路徑中帶有foo的文件
find是一個實時性查找工具,通過遍歷指定路徑完成文件查找,查找速度略慢;find可以指定條件查找,能夠精確查找文件。
find語法:find 選項 查找路徑 查找條件 處理動作
查找路徑:指定具體目標路徑,默認爲當前路徑
查找條件:指定具體查找條件,可以文件名、文件大小、類型等等
處理動作:對符合條件的文件做什麼操作,默認輸出屏幕
find查找條件:
1、根據文件名和inode查找
-name:根據文件名稱查找,支持通配符,*、?、【】、【^】
-iname:文件名稱不區分大小寫
-inum:根據inode號查找
-links n:連接數爲n的文件
-samefile name:查找相同inode號的文件
-regex:匹配整個文件路徑,不只是文件名稱
2、根據文件屬主和屬組查找
-user username:查找屬主爲指定的用戶
-group groupname:查找屬組爲指定的組
-uid ID:查找屬主爲指定的UID的文件
-gid ID:查找屬組爲指定的GID的文件
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
3、根據文件類型查找
-type f:查找普通文件
-type d:查找目錄文件
-type b:查找塊設備文件
-type c:查找字符設備文件
-type s:查找套接字文件
-type p:查找管道文件
-type l:查找符號鏈接文件
4、組合條件查找。與 -a、或 -o 、非 -not !
!A -a !B = !(A -o B)
!A -o !B = ! (A -a B)
查找/var下不屬於root、gdm的所有文件
查找/var目錄下屬主爲root,且屬組爲mail的所有文件
5、根據文件大小查找
-size # k,M,G 範圍 (#-1,#]K,M,G
-size -# K.M,G 範圍 [0,#-1]K,M,G
-size +#K.M,G 範圍 (#,oo)K,M,G
6、根據時間戳查找
-atime # 按訪問時間查找,以天爲單位
-atime -# 【0,#) #天內訪問
-atime *# 【#*1,oo】 #+1天之前訪問
-atime # 【#,#+1) #天與#+1天之間訪問
-mtime和-ctime 和上面語法一樣,-mtime是修改時間,ctime是文件屬性修 改時間,-amin -mmin -cmin 是以分鐘爲單位
7、根據文件權限查找
-perm MODE:精確權限匹配
-perm /MODE:任何一位u,g,o對象的權限中,只要有一類權限匹配即可
-perm -MODE:每一類對象必須同時擁有指定權限,才能匹配
find處理動作
-ls:相當於對查找到的文件執行ls -l操作
-print:輸出至屏幕,相當於默認操作
-delete:刪除查找到的符合條件的文件
-ok COMMAND {} \;對查找到的文件執行COMMAND命令
-fls file:對查找到的所有文件長格式保存指定文件中
文件壓縮、解壓縮、文件歸檔工具
compress 壓縮文件 uncompress 解壓縮文件
compress -d 解壓縮文件
compress -c 結果輸出至標準輸出,不刪除原文件
compress -v 顯示壓縮文件詳情
zcat file:查看.Z和.gz文件後綴
gzip 壓縮文件 gunzip 解壓縮文件
gzip -d 解壓縮文件
gzip -c 將壓縮或解壓縮的結果輸出至標準輸出
gzip -# 指定壓縮比,默認爲6,範圍 1到9
bzip2 壓縮文件 bunzip2 解壓縮文件
bzip2 -d 解壓縮文件
bzip2 -k 保留原文件
bzip2 -# 指定壓縮比,默認爲6,範圍1到9
bzcat file 不顯示解壓縮的前提下查看文件
xz 壓縮文件 unxz 解壓縮文件
xz -d 解壓縮文件
xz -k 保留原文件
xz -# 指定壓縮比,默認爲6,範圍1-9
xzcat 不顯示解壓縮的前提下查看文件
zip 打包壓縮 unzip解包解壓縮
tar -cvf 創建歸檔
tar -xvf 展開歸檔
tar -txf 查看歸檔文件
tar -zcvf 結合gzip工具壓縮並創建歸檔
tar -jcvf 結合bzip2工具壓縮並創建歸檔
tar -Jcvf 結合xz工具壓縮並創建歸檔
cpio是通過重定向的方式進行打包備份,還原恢復的工具,它可以解壓以 cpio、tar爲後綴的打包文件
cpio -o 將文件拷貝打包成文件或者將文件輸出至屏幕上
cpio -i 解包,將打包文件解壓或者將設備上的備份還原到系統
cpio -t 預覽,查看文件內容
cpio -v 顯示文件打包過程中的文件名稱
cpio -d 解包生成目錄,在cpio還原時,自動創建目錄
cpio -tv < aa.cpio 預覽文件
cpio -idv < aa.cpio 解包文件