tar
tar(全稱:tape archive )命令用于備份檔案,tar 是用來創建或者還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案,tar linux說明
- 語法
tar [主選項 + 輔選項] 檔案或目錄
使用該命令時,主選項必須有,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用,
主選項:【一條命令下面的5個引數只能有一個,不能同時存在】
-c: --create 新建一個壓縮檔案,即打包
-x: --extract,--get解壓檔案
-t: --list,查看壓縮檔案里的所有內容
-r:--append 向壓縮檔案里追加檔案
-u:--update 更新原壓縮包中的檔案
輔助選項:
-z:是否同時具有gzip的屬性?即是否需要用gzip壓碩訓解壓?一般格式為xxx.tar.gz或xx.tgz
-j:是否同時具有bzip2的屬性?即是否需要用bzip2壓碩訓解壓?一般格式為xx.tar.bz2
-v:顯示操作程序!這個引數很常用
-f:使用檔案名,注意,在f之后要立即接檔案名,不要再加其他引數!
-C:切換到指定目錄
--exclude FILE:在壓縮程序中,不要將FILE打包
- 實體
- 打包
$ tar -cvf img.tar img1 img2
- 不解壓查看
$ tar -tvf img.tar
- 解壓
$ tar -xvf ./img.tar
- 只解壓某個目錄
$ tar -xvf ./img.tar img1
- 更新壓縮包
給img1檔案下新建一個檔案img3.txt,然后更新img.tar
$ tar -cvf img.tar img1 img2
# 給img1增加了一張照片,現在用下面命令更新img.tar
$ tar -uvf img.tar img1
- 追加
$ tar -cf img.tar img1 img2
# img.tar里追加一個檔案夾img3
$ tar -rf img.tar img3
- -C 引數
-C 引數非常有用,改變檔案目錄,多層級時使用, -C, --directory=DIR ( change to directory DIR )
使用了-C 引數改變目錄為 -C 后面的目錄,不管是在打包還是解壓都很有用,
語法:tar temp.tar -C fileDir file
$ cd temp
$ ls
img1 img2 img3
$ tar -cvf img.tar temp/*
# 這樣打包會將temp目錄也打包進去,使用下面帶有-C引數的命令可以去掉路徑資訊
$ tar -cvf img.tar -C temp .
解壓 img.tar 到當前目錄下的 temp 目錄
$ tar -xvf img.tar -C temp
附錄:
$ tar -cvf image.tar /home/usr/image
tar: Removing leading '/' from members names
/home/usr/image
該命令可以將/home/usr/image檔案打包到當前目錄下的image.tar中,需要注意的是:使用絕對路徑標識的源檔案,在用tar命令壓縮后,檔案名連同絕對路徑(這里是home/usr/,根目錄'/'被自動去掉了)一并被壓縮進來,使用tar命令解壓縮后會出現以下情況:
$ tar -xvf image.tar
解壓縮后的檔案名不是想象中的image,而是home/usr/image,$ tar -cvf image.tar -C /home/usr/ image
該命令中的-C dir引數,將tar的作業目錄從當前目錄改為/home/usr/,將image檔案(不帶絕對路徑)壓縮到image.tar中,注意:-C dir引數的作用在于改變作業目錄,其有效期為該命令中下一次-C dir引數之前,
使用tar的-C dir引數,同樣可以做到在當前目錄/root下將檔案解壓縮到其他目錄,例如:
$ tar -xvf image.tar -C /home/user
而tar不用-C dir引數時是無法做到的:
$ tar -xvf image.tar /root
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/412818.html
標籤:其他
上一篇:linux用戶組管理
