在Linux下對文件或者目錄進行打包壓縮
阿新 • • 發佈:2018-04-23
linux下 file clip ont ocl str http ron pbo 一、壓縮命令[compress/gzip/bzip2]:
壓縮只能對文件,不能對目錄,目錄要先打包,然後再壓縮。
(1)compress
(2)gzip
1、壓縮文件
[cpp] view plain copy
- gzip hosts #將hosts壓縮成hosts.gz,不保留原文件
- gzip -c hosts > xx/hosts.gz #將hosts壓縮成hosts.gz,保留原文件,還可以指定路徑
2、查看壓縮文件內容
[cpp] view plain copy
- zcat hosts.gz
3、解壓
[cpp] view plain copy
- gzip -d hosts.gz #不指定路徑的解壓,解壓到當前目錄下、不保留壓縮文件
- gzip -d -c hosts.gz > xx/hosts #指定路徑的解壓,同時保留壓縮文件
(3)bzip
1、壓縮文件
[cpp] view plain copy
- bzip2 hosts.bz2 #將hosts壓縮成hosts.bz2,不保留原文件
- bzip2 -c hosts > xx/hosts.bz2 #將hosts壓縮成hosts.gz,保留原文件,還可以指定路徑<span style="font-size:18px;">
- </span>
2、查看壓縮文件內容
[cpp] view plain copy
- bzcat hosts.bz2
3、解壓
[cpp] view plain copy
- bzip2 -d hosts.bz2 #不指定路徑的解壓,解壓到當前目錄下、不保留壓縮文件
- bzip2 -d -c hosts.bz2 > xx/hosts #指定路徑的解壓,同時保留壓縮文件
總結:
-c:指定路徑、保留文件
-d:解壓
gzip、bzip2默認不保留原文件/壓縮文件。
二、打包/壓縮命令[tar]
2.1 打包/解包:
(1)打包單個文件
[cpp] view plain copy
- tar cvf aa.tar aa #默認保留原文件
- tar cvf aa.tar aa --remove-file #打包後刪除原文件
(2)打包多個文件
[cpp] view plain copy- tar cvf ab.tar aa bb #默認保留原文件
- tar cvf aa.tar aa bb --remove-file #打包後刪除原文件
(3)查看包裏的內容
[cpp] view plain copy- tar tvf aa.tar
(4)解包
[cpp] view plain copy- tar xvf aa.tar #不指定路徑的解包,解包到當前目錄下
- tar xvf aa.tar -C xx/aa #指定路徑的解包
2.2 打包並壓縮/解壓並解包:
以gzip格式
(1)打包單個文件並壓縮
[cpp] view plain copy- tar zcvf aa.tar.gz aa #保留原文件
- tar zcvf aa.tar.gz aa --remove-file #不保留原文件
(2)打包多個文件並壓縮
[cpp] view plain copy- tar zcvf ab.tar.gz aa bb #保留原文件
- tar zcvf ab.tar.gz aa bb --remove-file #不保留原文件
(3)解壓
[cpp] view plain copy- tar zxvf ab.tar.gz #不指定路徑解壓、解包
- tar zxvf ab.tar.gz -C xx/ab #指定路徑解壓、解包
以bizp2格式
(1)打包單個文件並壓縮
[cpp] view plain copy- tar jcvf aa.tar.bz2 aa #保留原文件
- tar jcvf aa.tar.bz2 aa --remove-file #不保留原文件
(2)打包多個文件並壓縮
[cpp] view plain copy- tar jcvf ab.tar.bz2 aa bb #保留原文件
- tar jcvf ab.tar.bz2 aa bb --remove-file #不保留原文件
(3)解壓
[cpp] view plain copy- tar jxvf ab.tar.bz2 #不指定路徑解壓、解包
- tar jxvf ab.tar.bz2 -C xx/ab #指定路徑解壓、解包
總結:
-C:指定路徑
--remove-file:刪除原文件
tar命令默認保留原文件。
在Linux下對文件或者目錄進行打包壓縮