Linux tar命令

Linux 命令大全 Linux 命令大全

Linux tar命令用於備份檔。

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=<編號檔> 使用指定檔內的編號取代預設的卷冊編號。

實例

壓縮檔 非打包

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

列出壓縮檔內容

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

解壓檔

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

Linux 命令大全 Linux 命令大全