1. 程式人生 > 實用技巧 >Linux壓縮解壓

Linux壓縮解壓

壓縮命令只能應用於檔案,不能是路徑,路徑需要先tar打包再壓縮

gzip

副檔名:.gz

gzip passwd 壓縮檔案 預設會刪除檔案
gunzip pass.gz 解壓檔案,預設也會刪除檔案
gzip -d passwd.gz 解壓檔案
-c 保留原來的檔案
gzip -c passwd > passwd.gz 壓縮
gzip -c -d passwd.gz > passwd 解壓
-# 1-9 指定壓縮比,值越大壓縮比例越大 預設是9
zcat 檢視壓縮包內的檔案
zcat passwd.gz > passwd

bzip2

副檔名:.bz2

-k 保留原檔案
-d 解壓
bunzip2 解壓
-# 1-9 預設的是9
bzcat 檢視壓縮包的檔案

xz

副檔名:.xz

-k 保留原始檔
-d 解壓
unxz 解壓
-# 1-9 預設的是9
xzcat 檢視壓縮包內的檔案

tar

tar cvf a.tar b c
c  建立 打包不壓縮
v 顯示過程
f 指定檔案,自己寫名字
r 追加
x 解壓 解壓時候可以不指定壓縮檔案格式,會根據副檔名自動識別
-C 指定解壓位置
j 使用bzip2來壓縮
z 使用gzip來壓縮
J 使用xz來壓縮
--exclude 排除

tar cvf a.tar b c
tar -r -f a.tar d
tar xf a.tar -C /opt
tar jcvf a.tar.bz b c d
* tar zcvf a.tar.gz b c d 	#壓縮為.tar.gz
* tar xvf a.tar.gz		#解壓.tar.gz(bz2,xz)
tar Jcvf a.tar.xz b c d
tar zcf etc.tar.gz --exclude=/etc/yum.repos.d --exclude=yum.conf /etc/

分卷壓縮

split -b size file -d tarfile 
-b  指定每一個分卷的大小
-d 指定數字 預設是字母
-a 指定字尾個數
合併:
cat tarfile* > file.tar.gz
dd if=/dev/zero of=b bs=10M count=2
split -b 5M b b.tar.gz
split -b 5M b -d  b.tar.gz
split -b 5M b -d -a 3 b.tar.gz