第六節(jié) 文件打包與解壓縮

一、linux中常見的壓縮包文件格式

文件后綴名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?說明

?*.zip ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?zip程序打包壓縮的文件

?*.rar ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? rar程序壓縮的文件

?*.7z ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?7zip程序壓縮的文件

?*.tar ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tar程序打包,未壓縮的文件

?*. gz ? ? ? ? ? ? ? ? ? ?gzip程序(GNU ?zip)壓縮的文件

?*.xz ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xz程序壓縮的文件

?*.bz2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bzip2程序壓縮的文件

?*.tar.gz ? ? ? ? ? ? ? ? ? ? ?tar打包,gzip程序壓縮的文件

?*tar.xz ? ? ? ? ? ? ? ? ? ? ? ? tar打包,xz程序壓縮的文件

?*tar.bz2 ? ? ? ? ? ? ? ? ? ?tar打包,bzip2程序壓縮的文件

?*tar.7z ? ? ? ? ? ? ? ? ? ? ? ?tar打包,7zip程序壓縮的文件

二、zip

1、使用zip打包文件夾

?命令參數(shù):

? ? ?-r :遞歸打包包含子目錄的全部內(nèi)容

? ? ?-q : ?安靜模式(不向屏幕輸出信息)

? ? ?-o : 輸出文件,需在其后緊跟打包輸出文件名

? ? ?du:查看打包后文件的大小和類型

? ? ?-x ?: 排除上一次創(chuàng)建的zip文件,否則又會被打包進(jìn)本次的壓縮文件中

-【1-9】 :設(shè)置壓縮級別,9最大,1最小,且默認(rèn)為級別9

-d ?:指定目錄

-h ?:打印文件的大小,以人能看懂的形式

-e ?:創(chuàng)建加密壓縮包

-l :將換行方式LF轉(zhuǎn)化為方式CR+LF

windows換行符:CR+LF

linux換行符:LF

eg:

1)zip -r -q ?-o ? shiyanlou.zip ? ?/homeiyanlou :

將shiyanlou的home目錄打包成一個文件

2)du -h ?shiyanlou.zip:

查看打包后文件大小和類型

3)zip -r ?-9 -q ?-o ?shiyanlou.zip ?/homeiyanlou -x ?~/*.zip

zip -r -1 ?-q -o ? shiyanlou.zip /homeiyanlou ?-x ?~/*.zip ?:

設(shè)置壓縮級別為9和1,這里只能使用絕對路徑,否則不起作用

4)zip -r -e -o shiyanlou_encryption.zip ?/home/shiyanlou

創(chuàng)建加密壓縮包

5)du ?-h ?-d ?0 ?*.zip ?~ | sort :

查看當(dāng)前用戶的家目錄中的默認(rèn)壓縮級別,最低、最高壓縮級別及未壓縮的文件大小,從小到大排序輸出,且0不能少)

6) zip ?-r -l ?-o shiyanlou.zip ?/homeiyanlou:

為了在llinux中創(chuàng)建的zip壓縮文件在windows上解壓后不會出現(xiàn)沒有換行的問題

2、解壓縮zip文件

1)unzip ? 文件.zip :

將文件.zip解壓到當(dāng)前目錄

2)unzip ? ?-q ? 文件.zip ? ?-d ? ?指定目錄:

使用安靜模式,將文件解壓到指定目錄(若指定目錄不存在,會自行創(chuàng)建)

ls ?-R ?指定目錄 :查看解壓后情況

3)unzip ? -l ? shiyanlou.zip: ? ? 不解壓只查看壓縮包內(nèi)容

4)unzip ? -o ?GBK ?中文壓縮文件.zip ?:

指定編碼類型解壓縮在windows中創(chuàng)建的文件

(Linux默認(rèn)使用UTF-8編碼,在windows上創(chuàng)建的壓縮文件(包含中文文檔或者以中文命名的文件)會默認(rèn)采用GBK或其他編碼,如果不加處理在linux中解壓后會出現(xiàn)中文亂碼的問題)

三、rar

rar命令參數(shù)有別于zip和tar,不帶 - ?,加上會出錯

1、rar打包壓縮

1)安裝rar和unrar工具 : ? sudo apt-get update

sudo apt-get ? ?install rar unrar

2)從指定文件或目錄創(chuàng)建壓縮包或添加文件到壓縮包:

rar ? a ? 指定文件.rar ?.

(a參數(shù) 添加一個目錄 ~ ?到歸檔目錄中,如果該指定文件不存在就會自動創(chuàng)建)

3)從指定壓縮包文件A中刪除某個文件B:

rar ?d ? 文件A.rar ? .B

4)查看不解壓文件

rar ?l ?文件.zip

2、使用unrar解壓rar文件

1)全路徑解壓:

unrar ?x ? 文件.rar

2)去掉路徑解壓:

mkdir ? 目錄A ? (創(chuàng)建一個新目錄)

unrar ? ?e ? ? ?文件.rar ? A/

四、tar

常用命令參數(shù):

-c :表示創(chuàng)建一個tar包文件

-f : 指定創(chuàng)建的文件名,且文件名必須緊跟在-f之后

-v :以可視的方式輸出打包的文件

-p:保留絕對路徑符/ (一般會默認(rèn)刪除/)

-x:解包一個文件

-C:指定路徑到已經(jīng)存在的目錄

-t ?:只查看不解包文件

-p :使用tar備份文件,當(dāng)在其他主機(jī)還原時希望保留文件的屬性

-h :使用tar備份文件,當(dāng)在其他主機(jī)還原時希望保留備份鏈接指向的源文件而不是鏈接本身

-z :使用gzip來壓縮文件

-J :使用xz程序來壓縮文件

-j ?:使用bzip程序來壓縮文件

1、tar打包

1)創(chuàng)建一個tar包:

tar ? -cf ? 文件A.tar ? ~

2)查看文件A 和目錄A的實(shí)際大小是否一致:

du ? 文件A.zip

2、tar解包

1)解包一個文件A到指定路徑的已存在目錄B:

tar ? -xf ? 文件A.tar ?-C ?目錄B

2)只查看不解包文件A:

tar ? -tf ? A.tar

3)保留文件屬性和跟隨鏈接(符號鏈接或軟連接)

tar ?-cphf ?文件A.tar ? /A

4)創(chuàng)建不同壓縮格式的文件

eg:

使用gzip來壓縮文件:(使用-z參數(shù))

tar ?-czf ? 文件.tar.gz ?~

解壓:

tar ?-xzf ? 文件tar.gz

( ? 對于tar創(chuàng)建不同壓縮格式的文件,只需要換一個參數(shù))

五、總結(jié)

zip:

打包: ?zip ?something.zip ?something (目錄加參數(shù)-r)

解包 : unzip ?something.zip

unzip ?something.zip ?-d ?指定路徑

tar:(以成*.tar.gz壓縮文件格式為例)

打包: tar ?-czvf ?something.tar.gz ?something

解包: tar ?-xzvf ?something.tar.gz ? something

tar ? -xzvf ?something.tar.gz ?-C ? ?指定目錄

六、有趣程序(火爐)

sudo ?apt-get ? install ?libaa-bin

aafire

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容