打包命令 tar

2022-06-19 08:03:12 字數 3295 閱讀 7862

c 建立乙個新的歸檔檔案

x 對歸檔檔案解壓

t 檢視歸檔檔案裡的檔案

v 顯示執行過程

f 指定包名

z 使用gzip壓縮歸檔檔案 .tar.gz

j 使用bzip2壓縮歸檔檔案 .tar.gz2

j 使用xz壓縮歸檔後的檔案 .tar.xz

c 指定壓縮位置

x 排除多個檔案

h 打包軟鏈結

.tar.gz zcf

[root@rstx-53 test]# tar zcf etc.tar.gz  /etc

tar: removing leading `/' from member names

[root@rstx-53 test]# ls

etc.tar.gz

[root@rstx-53 test]# tar tf etc.tar.gz

etc/named/

etc/named.rfc1912.zones

........

.tar.gz2
[root@rstx-53 test]# tar jcf etc.tar.gz2 /etc

[root@rstx-53 test]# du -sh *

17m etc.tar.gz

15m etc.tar.gz2

[root@rstx-53 test]# tar jxf etc.tar.gz2 #解壓過程中會覆蓋檔案

[root@rstx-53 test]# du -sh etc

57m etc

.tar.xz
[root@rstx-53 test]# tar jcf etc.tar.xz /etc

tar: removing leading `/' from member names

[root@rstx-53 test]# ls

etc etc.tar.gz etc.tar.gz2 etc.tar.xz

[root@rstx-53 test]# du -sh *

17m etc.tar.gz

15m etc.tar.gz2

12m etc.tar.xz

[root@rstx-53 test]# tar jxf etc.tar.xz

[root@rstx-53 test]# ls

etc etc.tar.gz etc.tar.gz2 etc.tar.xz

[root@rstx-53 test]# du -sh *

57m etc

17m etc.tar.gz

15m etc.tar.gz2

12m etc.tar.xz

[root@rstx-53 test]# du -sh etc

57m etc

tar xf 解壓並覆蓋
[root@rstx-53 test]# tar jxf etc.tar.gz2 #解壓過程中會覆蓋檔案

[root@rstx-53 test]# du -sh etc

57m etc

tar -c 指定解壓路徑
[root@rstx-53 test]# tar xf etc.tar.gz -c ../

[root@rstx-53 test]# ll ../etc/

total 1384

drwxr-xr-x 3 root root 101 feb 24 15:45 abrt

-rw-r--r-- 1 root root 16 sep 22 15:03 adjtime

-rw-r--r-- 1 root root 1529 apr 1 2020 aliases

-rw-r--r-- 1 root root 12288 feb 24 15:47 aliases.db

find查詢檔案並打包
[root@rstx-53 test]# tar zcvf etc_2.tar.gz $(find /etc/ -size +5m)

tar: removing leading `/' from member names

/etc/udev/hwdb.bin

/etc/ansible/roles/ca_ssl/files/cfssl-certinfo_linux-amd64

/etc/ansible/roles/ca_ssl/files/cfssl_linux-amd64

[root@rstx-53 test]# find /etc/ -size +5m |xargs tar zcvf etc_1.tar.gz

tar: removing leading `/' from member names

/etc/udev/hwdb.bin

/etc/ansible/roles/ca_ssl/files/cfssl-certinfo_linux-amd64

/etc/ansible/roles/ca_ssl/files/cfssl_linux-amd64

tar --exclude 排除某個
單個檔案或者目錄排除

[root@rstx-53 test]# tar zcf test.tar.gz ./* --exclude=1

[root@rstx-53 test]# ls

1 2 3 test.tar.gz

[root@rstx-53 test]# tar tf test.tar.gz

\./2/

./2/index.html

./3/

./3/index.html

[root@rstx-53 test]# tar tf test.tar.gz

./2/

./2/index.html

./3/

./3/index.html

多個檔案排除

[root@rstx-53 test]# tar zcf test.tar.gz ./* --exclude=1 --exclude=2/*

[root@rstx-53 test]# tar tf test.tar.gz

./2/

./3/

./3/index.html

./test.tar.gz

用檔案記錄排除 x

[root@rstx-53 test]# tar zcfx test.tar.gz 1.txt ./*

[root@rstx-53 test]# tar tf test.tar.gz

./1/

./1/index.html

tar 打包命令

tar 將多個目錄或檔案打包成乙個檔案,並可透gzip和bzip2進行壓縮.語法格式 tar a c d r t u x options pathname 引數說明 c 建立打包檔案,可搭配 v檢視過程中被打包的檔名 t 檢視打包檔案有哪些檔名 x 解打包或解壓縮的功能,可搭配 c在特定目錄解開 j...

打包命令tar

tar是linux下最常用的打包命令,使用tar打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的,也有.gz或.bz2結尾的。c,create 新建打包檔案,搭配 v檢視被打包的檔名 t,list 列出包的內容 有那些檔名 x,extract 解壓,搭配 c 解壓到特定目錄 ...

打包壓縮命令tar

之前介紹的gzip和bzip2都是壓縮命令,但是它們只可以壓縮單個檔案。如果我們需要壓縮乙個目錄中的所有檔案的話,就需要使用tar。tar的使用簡單,關鍵是做好引數的設定。幾個常用的引數配置如下 1 tar jcv f 壓縮檔案名.tar.bz2 被壓縮檔案名 第乙個檔名是壓縮檔案名,這個需要使用者...