Linux命令:tar
最近更新時間 2019-12-30 14:34:28
tar命令用於壓縮解壓文件。可以將多個文件合併為一個文件,合併後的文件後綴為.tar。最初的設計目的時將文件備份到磁帶上(tape archive),因此命名tar。
tar文件如果進行壓縮,根據採用的壓縮算法不一樣而有不同後綴,常用擴展名如下
- .tgz等同於.tar.gz
- .tbz和tb2等同於.tar.gz2
- .taz等同於.tar.Z
- .tlz等同於.tar.lzma
- .txz等同於.tar.xz
命令格式
tar [-options] <name of the tar archive> [files or directories which to add into archive]
常用選項
-c
創建新的tar文件。-x
解開tar文件。-t
列出tar文件中包含的文件信息。-r
添加新的文件到tar文件中。-A
添加tar文件到另一個tar文件中。-d
將系統裏的文件和tar裏面的文件進行比較。-v
列出處理過程中涉及的文件信息,只有一個"v"時,只顯示文件名,使用兩個“v”,顯示權限、所有者、時間等信息。-k
不覆蓋系統中已有的文件。-f
指定文件名。-P
使用絕對路徑。--bzip2
調用bzip2執行壓縮或解壓。-J
調用XZ Utils執行壓縮或解壓。-z
調用gzip執行壓縮或解壓。
常用命令
打包目錄
把/docsxyz目錄下所有文件打包到docsxyz.tar文件中,tar默認記錄相對路徑,如果想要使用絕對路徑需要“-P”參數。
tar -cvf docsxyz_backup.tar /docsxyz
#或者
cd /docsxyz
tar -cvf docsxyz_backup.tar *
#如果打包後進行gz壓縮
tar -czvf docsxyz_backup.tar.gz /docsxyz
以上第二種方式解壓時會將文件直接輸出到當前目錄,而不會新建一個docsxyz目錄。
查看打包文件
查看打包文件docsxyz.tar中的內容,"-t"僅顯示文件名,"v"參數則會顯示文件詳細信息。
tar -tf docsxyz_backup.tar
#詳細信息
tar -vf docsxyz_backup.tar
解壓打包文件
解壓打包文件docsxyz.tar到當前目錄,並顯示文件信息。
#解壓打包文件
tar -xvf docsxyz_backup.tar
常見打包壓縮算法
壓縮算法如下:
#Tar
#解包
tar -xvf docsxyz.tar
#打包
tar -cvf docsxyz.tar /docsxyz
#.gz
#解壓
gunzip docsxyz.gz
gzip -d docsxyz.gz
#.tar.gz和.tgz
#解壓
tar -zxvf docsxyz.tar.gz
#壓縮
tar -czvf docsxyz.tar.gz /docsxyz
#.gz2
#解壓
bzip2 -d docsxyz.bz2
bunzip2 docsxyz.bz2
#壓縮
bzip2 -z docsxyz
#.tar.bz2
#解壓
tar -jxvf docsxyz.bz2
#壓縮
tar -cjvf docsxyz.tar.bz2 /docsxyz
#.Z
#解壓
uncompress docsxyz.Z
#壓縮
compress docsxyz
#.tar.Z
#解壓
tar -Zxvf docsxyz.tar.Z
#壓縮
tar -cZvf docsxyz.tar.Z /docsxyz
#.zip
#解壓
unzip docsxyz.zip
#壓縮
zip docsxyz.zip /docsxyz
#.rar
#解壓
rar x docsxyz.rar
#壓縮
rar a docsxyz.rar /docsxyz