Linux 的 find、tar、zip 命令


  • 注意:路徑為空,或為 ./ 都是表示當前路徑, ../ 為上一級目錄,如 ../dir 表示當前路徑下上一級目錄的dir文件夾
  • find 目錄 參數
    • 目錄項不寫 或 ./ 則表示當前目錄及其所有子目錄下,權限不夠前面加 sudo,'*.txt'中的 * 為模糊匹配
    • 參數 -name
      • find ./ -name '*.txt'    搜索當前路徑及其所有子目錄下以 .txt 結尾的文件,如 ./test.txt 表示文件在當前目錄下
      • find /home/zou123/Desktop -name '*.txt'    搜索指定路徑及其所有子目錄下以 .txt 結尾的文件
      • find -name '*.txt' -o -name 'Music'    搜索當前路徑及其所有子目錄下 .txt結尾或命名為Music的文件,-o 有點類似於 或(or)的意思
      • find -iname 'a.txt'    搜索當前路徑及其所有子目錄下忽略大小寫的a.txt文件,其中字母皆可大小寫,如 a.TXt、A.tXt、a.TXT 皆符合
      • find /home/zou123 ! -name '*.txt'    搜索用戶目錄及其所有子目錄下不以 .txt結尾的文件  
      • find -mindepth 1 -maxdepth 2 -name '*.txt'    搜索當前目錄及其第一層子目錄下的以 .txt結尾的文件(當前目錄為第一層,mindepth為查找的最小層數,maxdepth為最大層數,范圍 [mindepth,maxdepth],可組合也可單獨使用)
    • 參數 -empty
      • find -empty    搜索當前路徑及其所有子目錄下的空文件(目錄為空文件夾,普通文件內容為空等)
    • 參數 -type
      • find -type d    搜索當前路徑及其所有子目錄的文件夾
      • find /home/zou123 -type f    搜索用戶目錄及其所有子目錄下的普通文件
    • 參數 -size,k、b為小寫,M為大寫
      • find -size 2k    查找當前目錄及其子目錄下所有大小等於2k的文件
      • find -size -5M    查找當前目錄及其子目錄下所有大小小於5M的文件
      • find -size +3b    查找當前目錄及其子目錄下所有大小大於3b的文件
      • find -size +5b -size -30k    查找當前目錄及其子目錄下所有大小大於5b且小於30k的文件
    • 參數 -perm
      • find ./ -perm 777    搜索當前目錄及其子目錄下所有全新未777的文件
    • 多個參數可以組合起來使用,如 find /home/zou123 -mindepth 2 -maxdepth 3 -type f -iname '*.txt' -size -10k   搜索用戶目錄一級子目錄至二級子目錄下所有為普通文件類型的、以.txt結尾的、忽略大小寫的、存儲小於10k的文件
 
  • tar(歸檔管理),參數可以連用
    • -zcvf 創建、進度、指定壓縮包名,如果僅僅是 -cvf則只是打包沒有壓縮,-zcvf指打包壓縮成的格式為 xxx.tar.gz,而 -cvf為 xxx.tar,前者壓縮體積,后者僅僅只是打包
    • -zxvf 解壓、進度、指定解壓的包名
    • 注:gz 和 .bz2 兩種壓縮占據了大多數
 
常用參數
操作含義
-c
生成檔案文件,創建打包文件
-v
列出歸檔解檔的詳細過程,顯示進度
-f
指定檔案文件名稱,f后面一定是 .tar文件,所以必須放選項最后
-t
列出檔案中包含的文件
-x
解開檔案文件

 

    • tar -cvf 打包包路徑與名稱 文件1 文件2 ...     將當前目錄下的文件1、文件2 ... 打包成指定命名的包,並顯示進度,如 tar -cvf ./python ./1.py ./2.py ./3.py
    • tar -zcvf ./python.tar.gz ./*.py    當前目錄下的所有.py結尾的文件壓縮為 python.tar.gz
    • tar -zxvf 壓縮包路徑與名稱   解壓指定路徑的壓縮包,如 rar -zxvf ./python.tar.gz   解壓當前目錄下的名為python.tar.gz的壓縮包
    • rar -zxvf ./python.tar.gz -C ./aa    將 .gz壓縮包解壓到指定路徑,這里為當前目錄的aa子目錄下,目錄應存在
    • tar -jcvf ./python.tar.bz2 ./*.py    當前目錄下的所有.py結尾的文件壓縮為 python.tar.bz2
    • tar -jxvf 壓縮包路徑與名稱   解壓指定路徑的壓縮包,如 rar -jxvf ./python.tar.bz2   解壓當前目錄下的名為python.tar.bz2的壓縮包
    • rar -jxvf ./python.tar.bz2 -C ./aa    將 .bz2壓縮包解壓到指定路徑,這里為當前目錄的aa子目錄下
    • '打包'   '.gz壓縮'   '.bz2壓縮'   的用法規則類似
      • tar  -Wcvf  命名.tar.Y  文件
      • tar  -Wxvf  命名.tar.Y  -C 解壓指定路徑
      • 其中  '打包'   '.gz壓縮'   '.bz2壓縮'  的 W分別為:空、z、j,  Y分別為空、gz、bz2
 
  • zip(比 tar的使用方式更簡潔,但壓縮包的體積更大)
    • zip 壓縮包名 文件   zip壓縮,如 zip zz.zip *.py,使用zip壓縮當前目錄下所有 .py文件
    • unzip 解壓縮包名    zip解壓縮,如 zip zz.zip,使用zip解壓縮當前目錄的 zz.zip文件
    • unzip zz.zip -d ./aa    將 .zip壓縮包解壓到指定路徑,若文件夾不存在,則自動創建
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM