(Linux)- Linux tar 命令整理

(Linux)- Linux tar 命令整理

(Linux)- Linux tar 命令整理

 

 

Linux tar( 英文正名: tape archive )命令用於備份文件。

tar 是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件。

 

一. 語法:

 

tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <區塊數目>][-C <目的目錄>][-f <備份文件>][-F <Script文件>][-K <文件>][-L <媒體容量>][-N <日期時間>][-T <範本文件>][-V <卷冊名稱>][-X <範本文件>][-<設備編號><存儲密度>][--after-date=<日期時間>][--atime-preserve][--backuup=<備份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<範本樣式>][--force-local][--group=<群組名稱>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用戶名稱>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<區塊數目>][--recursive-unlink][--remove-files][--rsh-command=<執行指令>][--same-owner][--suffix=<備份字尾字符串>][--totals][--use-compress-program=<執行指令>][--version][--volno-file=<編號文件>][文件或目錄...]

 

二. 參數

  • -A –catenate 新增文件到已存在的備份文件。

  • -b<區塊數目> –blocking-factor =<區塊數目> 設置每筆記錄的區塊數目,每個區塊大小為12Bytes

  • -B –read-full-records 讀取數據時重設區塊大小。

  • -c –create 建立新的備份文件。

  • -C<目的目錄> –directory =<目的目錄> 切換到指定的目錄。

  • -d –diff –compare 對比備份文件內和文件系統上的文件的差異。

  • -f<備份文件> –file =<備份文件> 指定備份文件。

  • -F<Script文件> –info-script =<Script文件> 每次更換磁帶時,就執行指定的Script文件。

  • -g –listed-incremental 處理GNU格式的大量備份。

  • -G –incremental 處理舊的GNU格式的大量備份。

  • -h –dereference 不建立符號連接,直接復制該連接所指向的原始文件。

  • -i –ignore-zeros 忽略備份文件中的0 Byte區塊,也就是EOF

  • -k –keep-old-files 解開備份文件時,不覆蓋已有的文件。

  • -K<文件>–starting-file=<文件> 從指定的文件開始還原。

  • -l –one-file-system 復制的文件或目錄存放的文件系統,必須與tar指令執行時所處的文件系統相同,否則不予復制。

  • -L<媒體容量> -tape-length =<媒體容量> 設置存放每體的容量,單位以1024 Bytes計算。

  • -m –modification-time 還原文件時,不變更文件的更改時間。

  • -M –multi-volume 在建立,還原備份文件或列出其中的內容時,釆用多卷冊模式。

  • -N<日期格式> –newer =<日期時間> 只將較指定日期更新的文件保存到備份文件里。

  • -o –old-archive–portability 將資料寫入備份文件時使用 V7 格式。

  • -O –stdout 把從備份文件里還原的文件輸出到標准輸出設備。

  • -p –same-permissions 用原來的文件權限還原文件。

  • -P –absolute-names 文件名使用絕對名稱,不移除文件名稱前的“/”號。

  • -r –append 新增文件到已存在的備份文件的結尾部分。

  • -R –block-number 列出每個信息在備份文件中的區塊編號。

  • -s –same-order 還原文件的順序和備份文件內的存放順序相同。

  • -S –sparse 倘若一個文件內含大量的連續0字節,則將此文件存成稀疏文件。

  • -t –list 列出備份文件的內容。

  • -T<範本文件> –files-from =<範本文件> 指定範本文件,其內含有一個或多個範本樣式,讓 tar 解開或建立符合設置條件的文件。

  • -u –update 僅置換較備份文件內的文件更新的文件。

  • -U –unlink-first 解開壓縮文件還原文件之前,先解除文件的連接。

  • -v –verbose 顯示指令執行過程。

  • -V<卷冊名稱> –label =<卷冊名稱> 建立使用指定的卷冊名稱的備份文件。

  • -w –interactive 遭遇問題時先詢問用戶。

  • -W –verify 寫入備份文件后,確認文件正確無誤。

  • -x –extract –get 從備份文件中還原文件。

  • -X<範本文件>–exclude-from =<範本文件> 指定範本文件,其內含有一個或多個範本樣式,讓 ar 排除符合設置條件的文件

  • -z –gzip –ungzip 通過gzip指令處理備份文件。

  • -Z –compress –uncompress 通過compress指令處理備份文件。

  • -<設備編號><存儲密度> 設置備份用的外圍設備編號及存放數據的密度。

  • –after-date =<日期時間> 此參數的效果和指定 “-N” 參數相同。

  • –atime-preserve 不變更文件的存取時間。

  • –backup =<備份方式>–backup 移除文件前先進行備份。

  • –checkpoint 讀取備份文件時列出目錄名稱。

  • –concatenate 此參數的效果和指定 “-A” 參數相同。

  • –confirmation 此參數的效果和指定 “-w” 參數相同。

  • –delete 從備份文件中刪除指定的文件。

  • –exclude =<範本樣式> 排除符合範本樣式的文件

  • –group =<群組名稱> 把加入設備文件中的文件的所屬群組設成指定的群組。

  • –help 在線幫助。

  • –ignore-failed-read 忽略數據讀取錯誤,不中斷程序的執行。

  • –new-volume-script =<Script文件> 此參數的效果和指定 “-F” 參數相同。

  • –newer-mtime 只保存更改過的文件。

  • –no-recursion 不做遞歸處理,也就是指定目錄下的所有文件及子目錄不予處理。

  • –null null 設備讀取文件名稱。

  • –numeric-owner 以用戶識別碼及群組識別碼取代用戶名稱和群組名稱。

  • –owner =<用戶名稱> 把加入備份文件中的文件的擁有者設成指定的用戶。

  • –posix 將數據寫入備份文件時使用 POSIX 格式。

  • –preserve 此參數的效果和指定 “-ps” 參數相同。

  • –preserve-order 此參數的效果和指定 “-A” 參數相同。

  • –preserve-permissions 此參數的效果和指定 “-p” 參數相同。

  • –record-size =<區塊數目> 此參數的效果和指定 “-b” 參數相同。

  • –recursive-unlink 解開壓縮文件還原目錄之前,先解除整個目錄下所有文件的連接。

  • –remove-files 文件加入備份文件后,就將其刪除。

  • –rsh-command =<執行指令> 設置要在遠端主機上執行的指令,以取代 rsh 指令。

  • –same-owner 嘗試以相同的文件擁有者還原文件。

  • –suffix =<備份字尾字符串> 移除文件前先行備份。

  • –totals 備份文件建立后,列出文件大小。

  • –use-compress-program =<執行指令> 通過指定的指令處理備份文件。

  • –version 顯示版本信息。

  • –volno-file =<編號文件> 使用指定文件內的編號取代預設的卷冊編號。

 

三. 實

3.1 壓縮文件 非打包

# touch a.c       
# tar -czvf test.tar.gz a.c   //壓縮 a.c文件為test.tar.gz 
a.c

3.2 列出壓縮文件內容

# tar -tzvf test.tar.gz 
-rw-r--r-- root/root     0 2010-05-24 16:51:59 a.c

3.3 解壓文件

# tar -xzvf test.tar.gz 
a.c

 

3.4 排除目錄中的某些文件,然后進行壓縮。

命令格式如下:

tar --exclude=目錄名/* 或者 文件名 -zcvf 備份文件名.tgz 目錄名

 

3.5 具體舉例:

# 創建一個名為 abc 的目錄
mkdir abc

# 進入 abc 這個目錄
cd abc

# 創建兩個文件,文件名為1.txt 2.txt
touch 1.txt 2.txt

# 切換到 abc 的父目錄
cd ..

# 將文件 abc 進行壓縮時,排除1.txt,壓縮后的文件名為 abc.tar
tar --exclude=abc/1.txt -zcvf abc.tgz abc

# 解壓文件
tar -zxvf abc.tgz

# 刪除壓縮文件
rm abc.tgz

# 刪除解壓后的文件,并刪除文件夾
rm -rf abc

 

 

 

 

免責聲明:

1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題。

2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業。

3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *