1. 程式人生 > >tar命令的簡單理解

tar命令的簡單理解

tar壓縮和解壓的使用說明
1、引數-f 的含義:
-f, --file=ARCHIVE
    use archive file or device ARCHIVE
個人理解是:一般是用於磁碟檔案,所以一般tar命令都需要跟這個引數,感覺理解不準確。
2、-A, --catenate, --concatenate
   append tar files to an archive
這個引數,預設-A是和--concatenate效果相同,使用--catenate時,需要二者都是.tar檔案,這樣在解壓時才不會出錯,如果被追加的檔案不是.tar,則解壓時會跳過,不過檢視壓縮檔案中檔案的個數,是正常的,就是解壓時不對,根據字面意思,catenate是連結,是不是隻是存了檔案連結(即地址),所以解壓時需要特殊處理,這個沒有驗證,--concatenate這個引數和直接追加-r,效果好像是相同的。
3、--delete
  delete from the archive (not on mag tapes!)
這個刪除指定的檔案,只需要提供被刪除的檔名就行。tar --delete -f 2.tar 1.txt
4、個人理解類似這樣的修飾符“--修飾符名”(比如--directory),需要寫在“-修飾符名”(比如-f)的前面,比如:錯誤寫法:tar -f --catenate 2.tar 12.tar,正確寫法:tar --catenate -f 2.tar 12.tar。還有如果有多個”--修飾符名“,需要作用到不同的引數上,這樣每個“--修飾符名”需要在被作用的引數前,中間不能有別的引數(比如:--修飾符1 引數1 引數2,這樣修飾符1將作用於引數1,而不是引數2)
5、-C, --directory=DIR
   change to directory DIR
這個引數可以改變目錄,比如源解壓檔案的目錄,和解壓到的目的目錄名。比如:tar -xf 2.tar --directory=./t_t,將2.tar解壓到t_t目錄下
6、-v, --verbose
   verbosely list files processed
列出檔案的詳細資訊。verbose:詳細的,冗餘的。
7、--exclude=PATTERN
   exclude files, given as a PATTERN
操作時排除某些檔案,PATTERN應該是過濾的正則表示式。比如,壓縮時需要過濾某些檔案的命令:tar --directory=./t_t -cf 12.tar --exclude=3.txt *.txt
8、tar命令一般是兩個引數,如果沒有寫第二個引數,預設表示當前目錄。