天天看點

linux tar詳解

TAR

指令名

tar - tar 檔案檔案管理程式的 GNU 版本。下面将逐個介紹其含義

總覽

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, --compress, --uncompress

用 compress 對存檔壓縮或解壓

-z, --gzip, --ungzip

用 gzip 對存檔壓縮或解壓

--use-compress-program PROG

用 PROG 對存檔壓縮或解壓 ( PROG 需能接受 -d 參數)

--block-compress

為便于磁盤存儲,按塊記錄存檔

-[0-7][lmh]

指定驅動器和密度[高中低]

打包: tar -cf soft.tar soft

解包: tar -xf soft.tar soft

壓縮目錄

打包壓縮:tar czvf usr.tar.gz /home

解壓縮:tar xzvf usr.tar.gz

壓縮檔案(對于目錄失效)

壓縮:zip good.zip good1 good2

解壓:unzip good.zip

繼續閱讀