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

 

rss_feed