Linux下最常用的10個文件壓縮工具

 

作者簡介

李先生(Lemon),高級運維工程師(自稱),SRE專家(目標),夢想在35歲買一輛保時捷。喜歡鑽研底層技術,認為底層基礎才是王道。一切新技術都離不開操作系統(CPU、內存、磁盤)、網絡等。堅持輸入輸出,記錄自己學習的點滴,在平凡中堅持前行,總有一天會遇見不一樣的自己。公眾號:運維汪(ID:Leeeee_Li)。
 
 

一、前言

作為運維人員,經常會遇到「小李啊,幫我取一下今天的日誌」,因此在Linux服務器上壓縮包、解壓包是經常的事情,但是就我個人而言,經常會遇到很多不一樣的壓縮解壓工具,最常用的是tar。雖然經常用,但是還是很多參數記不住,當然不用去記住每一個參數,–help就行。在十萬火急的情況下,一個解壓還要去google一下,好像也不合理,因此記住常用的幾個還是有必要的,再同樣的技術水平情況下,那就只能比速度了。
 

二、Linux下最常用的壓縮工具

1、tar
 
1)壓縮
tar -zcvf too.tar.gz too

 

2)解壓
#.tar.gz     
tar -zxvf  too.tar.gz
 
#.tar.gz2    
tar -jxvf   too.tar.gz2

 

3)排除某個目錄打包

把too目錄打包成too.tar.gz,除logs目錄;注這裡的too/logs後面不能加/,如果加的話還是會打包進去。
 
tar -czvf too.tar.gz --exclude=too/logs too

 

4)只打包某個目錄,而不是全部打包進去
 
加-C參數, 這樣的話可以只打包api3.0 ,而不會從/usr開始一個一個目錄都打包進去
 
tar -zcf api3.0_`date +%Y%m%d%H%M%S`.tar.gz -C /usr/local/tomcat/webapps api3.0

 

2、gzip
 
gzip工具是Linux中最流行、最快的文件壓縮工具,Gzip工具保留原始文件名稱壓縮文件的擴展名.gz和時間戳。
 
1)打包
gzip filename

 

2)解壓
gzip -d filename # 打包的文件會被刪除

 

3、bzip2
 
Bzip2實用程序執行更快的gzip,它壓縮文件和文件夾更緊湊。壓縮文件時需要更多的內存,為了減少內存消耗,在選項中通過-s標誌。
 
1)壓縮
bzip2 examplefile or bzip2 -s examplefile

 

2)解壓
bzip2 -d examplefile.bz2 or bunzip2 examplefile.bz2

 

3)詳細說明

bzip2 -v examplefile

 

4、Lzma
 
Lzma是一種壓縮工具,與zip或tar類似,但與bzip相比,它的執行速度更快,雖然lzma是一個強大的工具,但它在Linux用戶中並不流行。
 
1)壓縮
lzma -c --stdout examplefile> examplefile.lzma

 

2)解壓
lzma -d --stdout examplefile.lzma >examplefile

 

5、xz
 
XZ是lzma實用程序的繼承者,它只能壓縮單個文件,但不能在一個命令中壓縮多個文件,它將自動為壓縮文件添加.xz擴展名。
 
1)壓縮
xz examplefile 
 
2)解壓
xz -d examplefile

 

6、pax
 
Pax它的執行速度很快,而且它不僅僅是一個壓縮器,它可以真正的歸檔它可以遠程複製文件,在Ubuntu/Mint Linux中,默認情況下Pax沒有安裝。
 
1)壓縮
pax -wf examplefile.tar examplefile
pax -wf examplefile.tar.gz examplefile 

 

2)解壓
pax -r <examplefile.tar

 

3)查看壓縮包文件清單
pax -f examplefile.tar

 

7、7zip
 
7Zip文件壓縮器是一個開源工具,它最初是為微軟Windows開發的,它支持多種文件壓縮格式和高文件壓縮,它可以用一個命令壓縮多個文件。
 
1)安裝7zip
wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-16.02-10.el7.x86_64.rpm
wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-plugins-16.02-10.el7.x86_64.rpm
 
sudo rpm -U --quiet p7zip-16.02-10.el7.x86_64.rpm
sudo rpm -U --quiet p7zip-plugins-16.02-10.el7.x86_64.rpm
 

 

2)壓縮
7z  a examplefile.7z examplefile

 

3)解壓
7z  a examplefile.7z examplefile

 

8、shar
 
Shar是一個命令行工具,可以用來壓縮測試文件,Shar可以定義為「shell archive」。一個簡單而快速的文件存檔實用程序對於獲取shell腳本的存檔非常有用。
 
1)安裝shar工具
yum -y install sharutils

 

2)壓縮
shar examplefile > examplefile.shar

 

3)解壓
unshar examplefile.shar

 

9、cpio
 
可以定義為複製輸入和輸出,它在輸入中逐行讀取文件名列表,在輸出中讀取歸檔文件。這是一個內置的經典命令。
 
1)壓縮
ls | cpio -ov >/home/username/backup.cpio

 

2)解壓
cpio -idv <backup.cpio

 

10、ar
 
rar的前身,仍然在Debian及其衍生物中使用,它是一個簡單的歸檔工具,但並不是很流行。
 
1)壓縮 
ar cvsr examplefile.a examplefile
 
2)解壓
ar -xv examplefile.a

 

11、iso
 
ISO製作iso鏡像
 
dd if=/media/dvd of=/home/username/filename.iso