1. 程式人生 > >Linux下最常用的10個檔案壓縮工具

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

 

三、學習交流

歡迎大家關注我的公眾號,一起交流、學習。