1. 程式人生 > >Linux tar解壓縮命令詳解

Linux tar解壓縮命令詳解

tar命令Windows和Linux操作都一樣 ,但是zip不一定都支援,壓縮命令用得最多的還是tar。

目錄

tar命令幫助

tar測試

壓縮

解壓

檢視內部檔案


tar命令幫助

[root @ localhost /] #tar --help
用法:tar [選項...] [檔案] ...
GNU`tar'將許多檔案一起儲存到單個磁帶或磁碟存檔中,並且可以從歸檔中恢復單個檔案。

例子:
  tar -cf archive.tar foo bar#從檔案foo和bar建立archive.tar。
  tar -tvf archive.tar#詳細列出archive.tar中的所有檔案。
  tar -xf archive.tar#從archive.tar中提取所有檔案。

 主要操作方式:

  -A, --catenate, --concatenate將tar檔案附加到存檔
  -c, --create建立一個新的存檔
  -d, --dif, --compare存檔和檔案系統之間的差異
       --delete存檔中的刪除(不在磁帶上!)
  -r, --append將檔案追加到存檔的末尾
  -t, --list列出存檔的內容
      --test-label測試存檔卷標並退出
  -u, --update僅附加比歸檔中的副本更新的檔案
  -x, --extract, --get從存檔中提取檔案

 操作修飾符:

      --check-device在建立增量時檢查裝置號
                             檔案(預設)
  -g, --list-incremental = FILE處理新的GNU格式增量備份
  -G, --incremental 增量處理舊的GNU格式增量備份
      --ignore-failed-read不會在不可讀的檔案上以非零退出
      --level =已建立的列出的增量存檔的NUMBER轉儲級別
  -n, - 搜尋檔案是可以搜尋的
      --no-check-device在建立時不檢查裝置號
                             增量檔案
       - 不尋求存檔是不可尋求的
      --occurrence [= NUM​​BER]僅處理每個檔案的第NUMBER次出現
                             在檔案中;此選項僅在
                             與其中一個子命令--delete結合使用,
                             --diff, - extract或--list以及列表時
                             檔案在命令列或通過
                             -T選項; NUMBER預設為1
      --sparse-version= MAJOR [.MINOR]
                             設定要使用的稀疏格式的版本(暗示
                              - 疏)
  -S, --sparse有效處理稀疏檔案

 覆蓋控制:

  -k, --keep-old-files在提取時不替換現有檔案,
                             把它們視為錯誤
      --keep-directory-symlink將現有符號連結保留到目錄時
                             提取
      --keep-newer-files不會替換比new更新的現有檔案
                             他們的檔案副本
      --no-overwrite-dir保留現有目錄的元資料
      --overwrite在提取時覆蓋現有檔案
      --overwrite-dir覆蓋現有目錄的元資料時
                             提取(預設)
       --recursive-unlink --recursive-unlink空層次結構
      --remove-files將檔案新增到存檔後刪除檔案
      --skip-old-files在提取時不替換現有檔案,
                             默默地跳過它們
  -U,--unlink-first首先刪除每個檔案,然後再提取它
  -W,--verify 在寫入後驗證存檔的嘗試

選擇輸出流:

      --ignore-command-error忽略子代的退出程式碼
      --no-ignore-command-error將子項的非零退出程式碼視為
                             錯誤
  -O, --to-stdout  將檔案提取到標準輸出
      --to-command = COMMAND管道提取檔案到另一個程式

 處理檔案屬性:

      --atime-preserve [= METHOD]保留轉儲檔案的訪問時間
                             通過閱讀後恢復時間
                             (METHOD ='replace';預設)或不設定
                             首先是時間(METHOD ='system')
      --delay-directory-restore延遲設定修改時間和
                             提取目錄的許可權直到結束
                             提取
      --group = NAME強制NAME作為新增檔案的組
      --mode = CHANGES強制(符號)模式更改新增的檔案
      --mtime = DATE-OR-FILE為來自DATE-OR-FILE的新增檔案設定mtime
  -m, - touch不提取檔案修改時間
      --no-delay-directory-restore
                             取消--delay-directory-restore的效果
                             選項
      --no-same-owner將檔案提取為您自己(預設為普通檔案)
                             使用者)
      --no-same-permissions在提取許可權時應用使用者的umask
                             來自存檔(普通使用者的預設值)
      --numeric-owner始終使用使用者/組名稱的數字
      --owner = NAME強制NAME為新增檔案的所有者
  -p, --preserve-permissions, --same-permissions
                             提取有關檔案許可權的資訊
                             (超級使用者預設)
      --preserve  保持與-p和-s相同
      --same-owner嘗試提取具有相同所有權的檔案
                             存檔中存在(超級使用者的預設值)
  -s, --preserve-order, --same-order
                             成員引數的列出順序與
                             存檔中的檔案

 處理擴充套件檔案屬性:

      --acls啟用POSIX ACL支援
      --no-acls禁用POSIX ACL支援
      --no-selinux禁用SELinux上下文支援
      --no-xattrs禁用擴充套件屬性支援
      --selinux啟用SELinux上下文支援
      --xattrs啟用擴充套件屬性支援
      --xattrs-exclude = MASK指定xattr鍵的排除模式
      --xattrs-include = MASK指定xattr鍵的包含模式

 裝置選擇和切換:

  -f, --file = ARCHIVE 使用存檔檔案或裝置存檔
      --force-local存檔檔案即使有冒號也是本地檔案
  -F, --info-script = NAME, --new-volume-script = NAME
                             在每個磁帶的末尾執行指令碼(暗示-M)
  寫入NUMBER x 1024位元組後,-L,--tape-length = NUM​​BER更改磁帶
  -M, --multi-volume  多卷建立/列表/提取多卷存檔
      --rmt-command =COMMAND 使用給定rmt COMMAND而不是rmt
      --rsh-command = COMMAND 使用遠端COMMAND而不是rsh
      --volno-file = FILE使用/更新FILE中的卷號

 裝置阻止:

  -b,--blocking-factor = BLOCKS BLOCKS每個記錄512個位元組
  -B, --read-full-records當我們讀取時重新記錄(對於4.2BSD管道)
  -i, --ignore-zeros 忽略歸檔中的歸零塊(表示EOF)
       --record-size=NUMBER 每條記錄的NUMBER個位元組數,512的倍數

 存檔格式選擇:

  -H, --format = FORMAT 建立給定格式的存檔

FORMAT是以下之一:

    gnu GNU tar 1.13.x格式
    oldgnu GNU格式,根據tar <= 1.12
    pax POSIX 1003.1-2001(pax)格式
    posix與pax相同
    ustar POSIX 1003.1-1988(ustar)格式
    v7舊的V7 tar格式

      --old-archive, - 可移植性
                             與--format = v7相同
      --pax選項=關鍵字[[:] =值] [,關鍵字[[:] =值]] ...
                             控制pax關鍵字
      --posix與--format = posix相同
  -V, --label = TEXT使用卷名TEXT建立存檔;在
                             列表/提取時間,使用TEXT作為通配模式
                             用於卷名

 壓縮選項:

  -a, --auto-compress 使用archive字尾來確定壓縮
                             程式
  -I, --use-compress-program = PROG
                             通過PROG過濾(必須接受-d)
  -j, --bzip2  通過bzip2過濾存檔
  -J, -- xz 通過xz過濾存檔
      --lzip 通過lzip過濾存檔
      --lzma通過lzma過濾存檔
      --lzop
      --no-auto-compress不使用歸檔字尾來確定
                             壓縮程式
  -z, - gzip, - gunzip, - ungzip通過gzip過濾存檔
  -Z, - compress, - uncompress通過compress過濾歸檔

 本地檔案選擇:

      --add-file = FILE 將給定的FILE新增到存檔(如果名稱有用則有用)
                             以破折號開頭)
      --backup[=CONTROL] 刪除前備份[= CONTROL]備份,選擇版本CONTROL
  -C,--directory=DIR 更改到目錄DIR
      --exclude = PATTERN排除檔案,以PATTERN形式給出
      --exclude-backups排除備份和鎖定檔案
      --exclude-caches排除包含目錄的內容
                             CACHEDIR.TAG,標記檔案本身除外
      --exclude-caches-all排除包含CACHEDIR.TAG的目錄
      --exclude-caches-under排除包含目錄的所有內容
                             CACHEDIR.TAG
      --exclude-tag = FILE排除包含FILE的目錄的內容,
                             除了FILE本身
      --exclude-tag-all = FILE排除包含FILE的目錄
      --exclude-tag-under = FILE排除目錄下的所有內容
                             包含檔案
      --exclude-vcs排除版本控制系統目錄
  -h,--deference遵循符號連結;存檔並轉儲它們的檔案
                             指向
      --hard-dereference 硬取消引用硬連結;存檔並轉儲它們的檔案
                             參考
  -K, --starting-file=MEMBER-NAME
                             閱讀時,請在會員MEMBER-NAME開頭
                             檔案
      --newer-mtime = DATE僅比較資料更改的日期和時間
      --no-null禁用前一個--null選項的效果
      --no-recursion避免在目錄中自動降序
      --no-unquote不要取消引用-T讀取的檔名
      --null -T讀取以null結尾的名稱,禁用-C
  -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                             僅儲存比DATE-OR-FILE更新的檔案
       --one-file-system 建立存檔時,one-file-system保留在本地檔案系統中
  -P,--absolute-names  不會從檔名中刪除前導`/
      --recursion遞迴到目錄(預設)
      --suffix = 刪除之前的STRING備份,覆蓋通常的字尾('〜'
                             除非被環境變數覆蓋
                             SIMPLE_BACKUP_SUFFIX)
  -T, --files-from=FILE 獲取要從FILE中提取或建立的名稱
       --unquote  使用-T(預設)讀取unquote unquote檔名
  -X, --exclude-from=FILE  排除FILE中列出的模式

檔名轉換:

      --strip-components = NUM​​BER條帶來自檔案的NUMBER個主要元件
                             提取名稱
      --transform = EXPRESSION, -- xform = EXPRESSION
                             使用sed替換EXPRESSION來轉換檔案
                             名

 檔名匹配選項(同時影響排除和包含模式):

       --anchored 匹配檔名稱開始
      --ignore-case忽略大小寫
      --no-anchored 在任何`/'後都沒有錨定模式匹配(預設為排除)
      --no-ignore-case區分大小寫匹配(預設)
      --no-wildcards逐字字串匹配
      --no-wildcards-match-slash萬用字元與`/'不匹配
      --wildcards使用萬用字元(預設)
      --wildcards-match-slash萬用字元匹配`/'(預設為排除)

 資訊輸出:

      --checkpoint [= NUM​​BER]  顯示每NUMBERth條記錄的進度訊息                         (預設10)
      --checkpoint-action = ACTION 在每個檢查點上執行ACTION
      --full-time  全時列印檔案時間到其全解析度
      --index-file = FILE  將詳細輸出傳送到FILE
  -l, - check-links  列印訊息,如果不是所有連結都被轉儲
      --no-quote-chars = STRING 禁用STRING中字元的引用
      --quote-chars = STRING 另外引用STRING中的字元
      --quoting-style = STYLE 設定名稱引用樣式;請參閱下面的有效STYLE值
  -R, - block-number顯示每個訊息的歸檔中的塊編號
                           
      --show-defaults 顯示tar預設值
      --show-omitted-dirs 列出或解壓縮時顯示--dirs -dirs,列出每個目錄與搜尋條件不匹配
      --show-transformed-names, - show-stored-names                 轉換後顯示檔案或存檔名稱
      --totals [= SIGNAL]在處理存檔後列印總位元組數;
                             帶引數 - 列印總位元組數
                             SIGNAL已交付;允許的訊號是:SIGHUP,
                             SIGQUIT,SIGINT,SIGUSR1和SIGUSR2;名字
                             也不接受SIG字首
      --utc   以UTC格式列印檔案修改時間
  -v, - verbose  詳細列出已處理的檔案
      --warning = KEYWORD警告控制
  -w, - interactive, --confirmation            要求確認每項行動

 相容性選項:

  -o  建立時,與--old-archive相同;什麼時候
                             提取,與--no-same-owner相同

 其他選擇:

   - ?, - help給出這個幫助列表
       -- restrict 嚴格禁用某些可能有害的選項
      --usage給出一個簡短的使用資訊
      --version列印程式版本

長選項的必需或可選引數也是必需的或可選的
對於任何相應的短期權。

備份字尾為“〜”,除非使用--suffix或SIMPLE_BACKUP_SUFFIX進行設定。
可以使用--backup或VERSION_CONTROL設定版本控制,值為:

  none,off  永遠不會備份
  t,numbered 為編號備份
  nil,existing 現有編號的編號備份存在,否則簡單
  never,simple 總是做簡單的備份

--quoting-style選項的有效引數是:

  literal
  shell
  shell-always
  c
  c-maybe
  escape
  locale
  clocale

*此* tar預設為:

--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt
--rsh-command=/usr/bin/ssh

tar測試

壓縮

tar -zcvf /rtvsweb-dev-installer.tar.gz ./*

解壓

tar -zxvf /rtvsweb-dev-installer.tar.gz 

檢視內部檔案