壓縮命令:tar
- 壓縮命令語法:
tar zcvf 存放路徑/壓縮包名字 指定要壓縮的文件
z 壓縮的方式:zip
c 創建壓縮包文件
v 顯示壓縮過程
f 指定壓縮包文件路徑信息
[root@hgg ~]# tar zcvf /hgg/hgg.tar.gz /hgg/hgg.txt
tar: Removing leading `/' from member names
/hgg/hgg.txt
[root@hgg ~]# ls /hgg
hgg01 hgg.tar.gz hgg.txt
- 如何解壓數據包
[root@hgg hgg]# tar xvf /hgg/hgg.tar.gz
hgg/hgg.txt
[root@hgg hgg]# ll
total 0
drwxr-xr-x 2 root root 21 Jul 8 22:01 hgg
-rw-r--r-- 1 root root 0 Jul 8 21:53 hgg.txt
- 確認解壓后的文件與源文件是否一致
查看文件的大小和時間信息
利用vimdiff或diff比較兩個文件內容是否有區別
[root@hgg hgg]# vimdiff /hgg/hgg/hgg.txt /hgg/hgg.txt
- 不解壓查看壓縮包數據
[root@hgg ~]# tar tf /hgg/hgg.tar.gz
hgg/hgg.txt
- 在壓縮目錄中排除指定數據不進行壓縮(--exclude)
- 單個文件排除:
tar zcvf 存放路徑/壓縮包名字 指定要壓縮的文件 --exclude=排除的文件
[root@hgg hgg]# tar zcvf /tmp/hgg_exclude.tar.gz /hgg --exclude=/hgg/hggboy.txt
tar: Removing leading `/' from member names
/hgg/
/hgg/hggdog.txt
- 多個文件排除
tar zcvf 存放路徑/壓縮包名字 指定要壓縮的文件 --exclude-from=排除的文件(可以一起放在一個文件中用from統一排除)
[root@hgg hgg]# vim /tmp/hgg.test.txt
/hgg/hgg
/hgg/hggboy.txt
root@hgg hgg]# tar zcvf /tmp/hgg_exclude04.tar.gz /hgg --exclude-from=/tmp/hgg.test.txt
tar: Removing leading `/' from member names
/hgg/
/hgg/hggdog.txt
- 批量壓縮(xargs)
[root@hgg ~]# find /hgg -maxdepth 1 -type f -name "*txt"|xargs tar zcvf /tmp/hgg100.tar.gz --查找到.txt的所有文件,然后通過管道跟xargs列為一行進行統一壓縮
tar: Removing leading `/' from member names
/hgg/hgg01.txt
/hgg/hgg02.txt
/hgg/hgg03.txt
/hgg/hgg04.txt
/hgg/hgg05.txt
/hgg/hgg06.txt
/hgg/hgg07.txt
/hgg/hgg08.txt
/hgg/hgg09.txt
/hgg/hgg10.txt
[root@hgg ~]# tar tf /tmp/hgg100.tar.gz ---查看壓縮是否成功
hgg/hgg01.txt
hgg/hgg02.txt
hgg/hgg03.txt
hgg/hgg04.txt
hgg/hgg05.txt
hgg/hgg06.txt
hgg/hgg07.txt
hgg/hgg08.txt
hgg/hgg09.txt
hgg/hgg10.txt