[Linux實(shí)用命令]-5-文件的壓縮和歸檔

引言

這篇文章主要介紹Linux下如何對單個文件進(jìn)行壓縮和解壓縮,如何對一個文件夾中的多個文件進(jìn)行歸檔壓縮和解壓縮。最后會補(bǔ)充一個創(chuàng)建文件軟連接的小技巧。

文章目錄

  • 0×1.使用Gzip對文件進(jìn)行壓縮和解壓縮
  • 0×2.使用Bzip2對文件進(jìn)行壓縮和解壓縮
  • 0×3.使用Gzip方式創(chuàng)建文件夾歸檔
  • 0×4.使用Bzip2方式創(chuàng)建文件夾歸檔
  • 0×5.如何創(chuàng)建軟連接

0×1.使用Gzip對文件進(jìn)行壓縮和解壓縮

就好像Windows下有"rar"的壓縮方式、"zip"的壓縮方式等,"gzip"是Linux下的一種壓縮方式,下面請看幾個實(shí)例:

#在當(dāng)前用戶的家目錄中有一個文件"testfile"和一個文件夾"vmtools"
qing@qingsword.com:~$ ls -l
-rw-r--r--. 1 qingsword qingsword 218273 Jan  1 10:15 testfile
drwxr-xr-x. 3 qingsword qingsword   4096 Jan  1 10:08 vmtools
 
#使用gzip對"testfile"進(jìn)行壓縮,這個命令其實(shí)不需要攜帶任何參數(shù),比較有用的參數(shù)是-[1-9]指定壓縮比率,9為最大壓縮比,壓縮的時間也相對較長
qing@qingsword.com:~$ gzip -9 testfile
 
#這種壓縮方式是直接將源文件壓縮成一個后綴為".gz"的壓縮包,不會保留源文件,這和Windows下的WinRAR的"壓縮后刪除源文件"功能相同,文件大小也從"218273"降至"17797"。
qing@qingsword.com:~$ ls -l
-rw-r--r--. 1 qingsword qingsword 17797 Jan  1 10:15 testfile.gz
drwxr-xr-x. 3 qingsword qingsword  4096 Jan  1 10:08 vmtools
 
#解壓縮
qing@qingsword.com:~$ gzip -d testfile.gz

0×2.使用Bzip2對文件進(jìn)行壓縮和解壓縮

bzip2相對gzip擁有更大的壓縮比,但壓縮時間也較長:

#使用bzip2進(jìn)行壓縮,壓縮率同樣設(shè)置成9,最大壓縮率
qing@qingsword.com:~$ bzip2 -9 testfile
 
#可以查看到,文件大小比gzip壓縮后的要小,bzip2壓縮后的后綴是".bz2"
qing@qingsword.com:~$ ls -l
-rw-r--r--. 1 qingsword qingsword 14851 Jan  1 10:15 testfile.bz2
drwxr-xr-x. 3 qingsword qingsword  4096 Jan  1 10:08 vmtools
 
#解壓縮
qing@qingsword.com:~$ bzip2 -d testfile.bz2

0×3.使用Gzip方式創(chuàng)建文件夾歸檔

可以使用tar命令對文件夾進(jìn)行歸檔壓縮,下面是gzip方式的歸檔壓縮實(shí)例:

#tar的選項(xiàng)參數(shù)中"vczf"解釋如下:
#v 顯示詳細(xì)信息
#c 創(chuàng)建歸檔
#z 使用gzip壓縮
#f 文件名(可帶路徑)
#緊接著選項(xiàng)參數(shù)的,是壓縮后的文件名稱"vmtools.tar.gz"
#一般使用gzip壓縮歸檔,在文件名后面添加.tar.gz后綴(或.tgz),這樣能更直觀的明白歸檔是用什么壓縮的,否則使用不同方式的解壓縮會出現(xiàn)錯誤
#最后一個參數(shù)是被歸檔的文件夾"vmtools/"
qing@qingsword.com:~$ tar -vczf vmtools.tar.gz vmtools/
 
#歸檔不同于對單個文件的壓縮,歸檔后不會刪除源文件夾
qing@qingsword.com:~$ ls -l
-rw-r--r--. 1 qingsword qingsword   218273 Jan  1 10:15 testfile
drwxr-xr-x. 3 qingsword qingsword     4096 Jan  1 10:08 vmtools
-rw-rw-r--. 1 qingsword qingsword 59410183 Jan  1 10:34 vmtools.tar.gz
 
#如果要排除目錄中的某個文件或目錄,可以添加--exclude參數(shù),每個exclude參數(shù)可以排除掉目錄中的一個對象(可以是文件或目錄)
qing@qingsword.com:~$  tar -vczf vmtools.tar.gz --exclude=for.py --exclude=if.py vmtools/
 
#解壓縮歸檔文件,參數(shù)x代表"釋放歸檔"
qing@qingsword.com:~$ tar -vxzf vmtools.tar.gz
 
# 釋放到指定的目錄
#-C后面接目標(biāo)目錄的絕對路徑或相對路徑,本例是將當(dāng)前目錄的"vmtools.tar.gz"釋放到當(dāng)前目錄的"testdir"這個目錄中,"./"代表當(dāng)前目錄,這是一個相對路徑的寫法
qing@qingsword.com:~$ tar -vxzf vmtools.tar.gz -C ./testdir

0×4.使用Bzip2方式創(chuàng)建文件夾歸檔

bzip2的歸檔和gzip歸檔的參數(shù)大致相同,-z代表使用使用gzip壓縮創(chuàng)建歸檔,-j則是使用bzip2壓縮創(chuàng)建歸檔,唯一需要注意的就是歸檔文件后綴的寫法:

#使用bzip2方式歸檔(后綴.tar.bz2或.tbz2)
qing@qingsword.com:~$ tar -vcjf vmtools.tar.bz2 vmtools
 
#釋放歸檔文件,不使用-C參數(shù)指定釋放位置,就是釋放到當(dāng)前文件夾中
qing@qingsword.com:~$ tar -vxjf vmtools.tar.bz2 -C ./testdir

0×5.如何創(chuàng)建軟連接

可以使用ln命令來為一些經(jīng)常用到的文件或者文件夾創(chuàng)建一個軟連接放置桌面上,這種軟連接和Windows下的快捷方式類似(但軟連接的概念和快捷方式并不相同):

#命令格式:
#ln -s [源文件位置] [目標(biāo)位置]
#給qingsword家目錄下的testfile制作一個軟連接放置桌面,軟連接最好使絕對路徑,完成之后雙擊桌面上的filelink就可以打開qingsword家目錄中的testfile
qing@qingsword.com:~$ ln -s /home/qingsword/testfile /home/qingsword/Desktop/filelink
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容