在學(xué)習(xí)Linux上的文件打包與解壓縮之前,有必要學(xué)習(xí)一下常見(jiàn)的文件打包格式型酥。Windows上常見(jiàn)的文件打包格式有zip
躬柬、rar
、7z
三種壓縮文件格式拾给,而Linux上除了以上三種類型外祥得,還有gz
、xz
蒋得、bz2
级及、tar
、tar.gz
额衙、tar.xz
饮焦、tar.bz2
怕吴,簡(jiǎn)單介紹如下表:
格式 | 說(shuō)明 |
---|---|
zip |
zip程序壓縮的文件 |
rar |
rar程序壓縮的文件 |
7z |
7zip程序壓縮的文件 |
gz |
gzip程序(GUN zip)壓縮的文件 |
xz |
zx程序壓縮的文件 |
bz2 |
bzip2程序壓縮的文件 |
tar |
tar打包,未壓縮的文件 |
tar.gz |
tar打包县踢,gzip程序壓縮的文件 |
tar.zx |
tar打包转绷,zx程序壓縮的文件 |
tar.bz2 |
tar打包,bzip2程序壓縮的文件 |
文件的壓縮格式有很多種殿雪,而我們常用的命令主要包括zip
暇咆,rar
,tar
丙曙。
zip壓縮打包程序
- 文件壓縮:
zip -r -q -e -l -o Code.zip -9 Code/ -x Code/*.zip
其中:
-r
表示遞歸壓縮包含子目錄內(nèi)容
-q
表示安靜模式爸业,不向屏幕輸出信息
-e
表示加密壓縮包
-l
表示將Linux下LF
換行符轉(zhuǎn)換成Windows下CR+LF
回車加換行
-o <filename>
表示輸出文件的文件名
-9
表示文件壓縮級(jí)別,壓縮級(jí)別[1-9]
級(jí)亏镰,1表示最快壓縮但壓縮包最大扯旷,9表示壓縮包體積最小但壓縮耗時(shí)最久。
-x
表示排除某些文件索抓,只有打包對(duì)象和排除對(duì)象都使用絕對(duì)路徑才生效
- 文件解壓:
unzip -O GBK -q Code.zip -d eldon
其中:
-O
表示指定編碼類型
-q
表示安靜模式
-d
表示解壓到指定目錄
- 壓縮包查看:
unzip -l Code.zip
rar壓縮打包程序
- 文件壓縮:
rar a Code.rar Code
注意:rar命令參數(shù)中沒(méi)有-钧忽,如果加上會(huì)報(bào)錯(cuò)
- 查看壓縮包內(nèi)容:
rar l Code.rar
- 文件解壓:
unrar x Code.rar eldon1
unrar e Code.rar eldon2
rar命令參數(shù)很多,可以使用man手冊(cè)獲取更多幫助
tar壓縮打包程序
Linux上更常用的打包工具是tar
逼肯,tar
原本是一個(gè)打包工具耸黑,同時(shí)還是實(shí)現(xiàn)了對(duì)7z、gzip篮幢、xz大刊、bzip2等工具的支持,這些壓縮工具本身只實(shí)現(xiàn)了對(duì)文件或目錄的壓縮三椿,沒(méi)有實(shí)現(xiàn)對(duì)文件的打包壓縮缺菌,所以我們只需要在tar中使用不同的參數(shù)來(lái)壓縮文件成不同的格式。
- 文件打包:
tar -cvf Code.tar Code
- 查看包內(nèi)容:
tar -tf Code.tar
- 文件解包:
tar -xf Code.tar -C Code
- 保留文件屬性和跟隨鏈接(符號(hào)鏈接或軟鏈接):
tar -cphf Code.tar Code/
- 打包gz壓縮格式文件:
tar -czf Code.tar.gz Code
- 解壓gz格式壓縮文件:
tar -xzf Code.tar.gz
其中:
-c
表示創(chuàng)建一個(gè)tar包文件
-f
表示指定創(chuàng)建的包名搜锰,-f
參數(shù)之后必須緊跟報(bào)名
-v
表示可視模式
-P
表示保留絕對(duì)路徑符
-x
表示解包文件
-C
表示解包到指定目錄(目錄需要已存在)
-t
表示查看包內(nèi)容
-p
表示保留文件屬性
-h
表示保留保留備份鏈接指向的源文件而不是鏈接本身
-z
表示文件使用gzip
格式壓縮
-J
表示文件使用xz
格式壓縮
-j
表示文件使用bzip2
格式壓縮
tar命令參數(shù)很多伴郁,可以使用man手冊(cè)獲取更多幫助