tar命令引數詳解

王明輝發表於2019-02-12

命令總覽:
tar [-]A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update |
       x --extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ]
       [ --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ --force-local ] [ -F, --info-script F --new-volume-script F ]
       [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -I, --bzip ]
       [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ]
       [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ]
       [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ]
       [ -P, --absolute-paths ] [ --preserve ] [ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ]
       [ --same-owner ] [ -S, --sparse ] [ -T, --files-from F ] [ --null ] [ --totals ] [ -v, --verbose ] [ -V, --label NAME ]
       [ --version ] [ -w, --interactive, --confirmation ] [ -W, --verify ] [ --exclude FILE ] [ -X, --exclude-from FILE ]
       [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ] [ --use-compress-program PROG ] [ --block-compress ]
       [ -[0-7][lmh] ] filename1 [ filename2, ... filenameN ] directory1 [ directory2, ... , directoryN ]

命令描述:
tar程式用於儲存或展開tar存檔檔案。存檔檔案可放在磁碟中,也可以存為普通檔案。tar是需要引數的,可選的引數是A、c、d、r、t、u、x。
在使用tar時,必須首先為tar指定至少一個引數;然後,必須指定要處理的檔案或目錄。如果指定一個目錄則該目錄下的所有子目錄都將被加入存檔。
應用舉例:
(1) 展開abc.tar.gz。    命令:# tar xvzf abc.tar.gz
    展開abc.tar。       命令:# tar xvf abc.tar
(2) 將當前目錄下的man目錄及其子目錄存成存檔man.tar檔案。
    命令:tar cf man.tar ./man
引數說明:
執行tar時必須要有下列引數中的至少一個才可執行:
-A | --catenate | --concatenate 將一存檔與已有的存檔合併
-c | --create 建立新的存檔
-d | --diff, --compare 比較存檔與當前檔案的不同之處
--delete 從存檔中刪除
-r | --append 附加到存檔結尾
-t | --list 列出存檔中檔案的目錄
-u |--update 僅將較新的檔案附加到存檔中
-x | --extract | --get 從存檔展開檔案
其他引數:
--atime-preserve 不改變轉儲檔案的存取時間
-b | --block-size N 指定塊大小為 Nx512 位元組(預設時 N=20)
-B | --read-full-blocks 讀取時重組塊
-C | --directory DIR 轉到指定的目錄
--checkpoint 讀取存檔時顯示目錄名
-f | --file [HOSTNAME:]F 指定存檔或裝置(預設為 /dev/rmt0)
--force-local 強制使用本地存檔,即使存在克隆
-F | --info-script F | --new-volume-script F 在每個磁碟結尾使用指令碼F(隱含-M)
-G | --incremental 建立老 GNU 格式的備份
-g | --listed-incremental F 建立新 GNU 格式的備份
-h | --dereference 不轉儲動態連結,轉儲動態連結指向的檔案
-i | --ignore-zeros 忽略存檔中的 0 位元組塊(通常意味著檔案結束)
--ignore-failed-read 在不可讀檔案中作 0 標記後再退出
-k | --keep-old-files 儲存現有檔案;從存檔中展開時不進行覆蓋
-K | --starting-file F 從存檔檔案 F 開始
-l | --one-file-system 在本地檔案系統中建立存檔
-L | --tape-length N 在寫入 N*1024 個位元組後暫停,等待更換磁碟
-m | --modification-time 當從一個檔案中恢復檔案時,不使用新的時間標籤
-M | --multi-volume 建立多卷存檔,以便在幾個磁碟中存放
-N | --after-date DATE | --newer DATE 僅儲存時間較新的檔案
-o | --old-archive | --portability 以 V7 格式存檔,不用 ANSI 格式
-O | --to-stdout 將檔案展開到標準輸出
-p | --same-permissions | --preserve-permissions 展開所有保護資訊
-P | --absolute-paths 不要從檔名中去除 '/'
--preserve like -p -s 與 -p -s 相似
-R | --record-number 顯示資訊時同時顯示存檔中的記錄數
--remove-files 建立存檔後刪除原始檔
-s | --same-order | --preserve-order
--same-owner 展開以後使所有檔案屬於同一所有者
-S | --sparse 高效處理
-T | --files-from F 從檔案中得到要展開或要建立的檔名
--null 讀取空結束的檔名,使 -C 失效
--totals 顯示用--create引數寫入的總位元組數
-v | --verbose 詳細顯示處理的檔案
-V, --label NAME 為存檔指定卷標
--version 顯示 tar 程式的版本號
-w | --interactive | --confirmation 每個操作都要求確認
-W | --verify 寫入存檔後進行校驗
--exclude FILE 不把指定檔案包含在內
-X | --exclude-from FILE 從指定檔案中讀入不想包含的檔案的列表
-y | --bzip2 | --bunzip2 用 bzip2 對存檔壓縮或解壓
-Z | --compressv | --uncompress 用compress對存檔壓縮或解壓
-z | --gzip | --ungzip 用gzip對存檔壓縮或解壓
--use-compress-program PROG 用PROG對存檔壓縮或解壓(PROG需能接受-d引數)
--block-compress 為便於磁碟儲存,按塊記錄存檔
-[0-7][lmh] 指定驅動器和密度[高中低]

相關文章