linux典型压缩包操作 tar打包、压缩与解压
1、tar打包與解包
有時(shí),我們會(huì)在Linux系統(tǒng)中將多個(gè)文件打包成一個(gè)單獨(dú)的文件,通過(guò)本關(guān)的學(xué)習(xí),我們將學(xué)會(huì)如何在Linux系統(tǒng)中將多個(gè)文件/目錄打包生成一個(gè)文件。
本關(guān)任務(wù):使用tar命令完成文件和目錄的打包操作。
相關(guān)知識(shí)
tar(tape archive的簡(jiǎn)寫)工具可完成許多功能,其名稱源于它的原始功能-創(chuàng)建和讀取歸檔文件和備份磁帶。如今,該工具常用來(lái)將多個(gè)文件或多個(gè)目錄打包成一個(gè)tar文件,或者將某個(gè)tar文件分解開。
接下讓我們?cè)敿?xì)的學(xué)習(xí)tar的使用方法。
打包
tar命令可以將多個(gè)文件/目錄進(jìn)行打包,將多個(gè)文件生成一個(gè)文件,生成的文件后綴為.tar。
具體打包命令如下:
tar -cvf 生成的tar包名 要打包的文件/目錄列表常用命令參數(shù)如下:
-c 建立新的歸檔文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作;案例演示1:
在當(dāng)前目錄下創(chuàng)建a.txt、b.txt和c.txt文件,將其打包成一個(gè)new.tar,具體使用如下命令:
touch a.txt b.txt c.txt tar -cvf new.tar a.txt b.txt c.txt案例演示2:
在當(dāng)前目錄下創(chuàng)建dirA、dirB和dirC目錄,將其打包成一個(gè)newDir.tar,具體使用如下命令:
mkdir dirA dirB dirC tar -cvf newDir.tar dirA dirB dirC解包
tar命令可以將已經(jīng)打包好的文件解壓出來(lái)。
具體打包命令如下:
tar -xvf 解壓包名 -C 解壓到指定目錄常用命令參數(shù)如下:
-x 或--ext\fract或--get:從備份文件中還原文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作; -C <目的目錄> 切換到指定的目錄;如果不使用-C(大寫)參數(shù),則默認(rèn)解壓到當(dāng)前目錄下。
案例演示1:
將當(dāng)前目錄下的a.txt、b.txt和c.txt文件刪除,將打包好的new.tar文件解壓到當(dāng)前目錄,具體使用如下命令:
rm -fr a.txt b.txt c.txt tar -xvf new.tar案例演示2:
在當(dāng)前目錄下創(chuàng)建newDir目錄,將打包好的newDir.tar文件解壓到newDir目錄下,具體使用如下命令:
mkdir newDir tar xvf newDir.tar -C ./newDir案例1
在右側(cè)編輯器中補(bǔ)充代碼,使用tar命令打包和解包,具體編程要求如下:
- 使用tar命令將當(dāng)前目錄下的oldFile1和oldFile2文件打包成一個(gè)newFile.tar文件;
- 使用tar命令將當(dāng)前目錄下的oldFile.tar文件解壓到當(dāng)前目錄下。
2、文件壓縮命令
由于磁盤空間有限,我們通常會(huì)將不常用的大文件進(jìn)行壓縮以便于節(jié)約磁盤空間,通過(guò)本關(guān)的學(xué)習(xí),我們將學(xué)會(huì)Linux系統(tǒng)上常見(jiàn)的壓縮命令。
本關(guān)任務(wù):對(duì)系統(tǒng)中已存在的文件/目錄進(jìn)行壓縮操作。
相關(guān)知識(shí)
Linux下存在多個(gè)文件壓縮工具,常用的有bzip2、gzip和zip。這三個(gè)工具都是可以將一個(gè)文件進(jìn)行壓縮操作,使其在不丟失任何信息的情況下占用較少的磁盤空間。而如何對(duì)于多個(gè)文件/目錄進(jìn)壓縮操作呢?
我們通過(guò)上一關(guān)的學(xué)習(xí),我們了解到了使用tar命令可以將多文件/目錄打包生成一個(gè)文件,那么對(duì)于多文件/目錄的壓縮操作分為兩步:第一步是將其進(jìn)行打包,然后將打包過(guò)后的文件進(jìn)行壓縮操作。
接下讓我們?cè)敿?xì)的學(xué)習(xí)bzip2、gzip和zip的使用方法。
bzip2
bzip2命令用于創(chuàng)建和管理(包括解壓縮).bz2格式的壓縮包。
具體命令如下:
bzip2 命令參數(shù) 指定要壓縮的文件常用命令參數(shù)如下:
-z或——compress:強(qiáng)制執(zhí)行壓縮; -d或——decompress:執(zhí)行解壓縮; -f或-force:bzip2在壓縮或解壓縮時(shí),若輸出文件與現(xiàn)有文件同名,預(yù)設(shè)不會(huì)覆蓋現(xiàn)有文件。若要覆蓋。請(qǐng)使用此參數(shù); -v或——verbose:壓縮或解壓縮文件時(shí),顯示詳細(xì)的信息;案例演示:
使用bzip2命令對(duì)當(dāng)前目錄下的new.tar文件進(jìn)行壓縮,具體使用如下命令:
bzip2 new.targzip
gzip命令用于創(chuàng)建和管理(包括解壓縮).gz格式的壓縮包。
具體命令如下:
gzip 命令參數(shù) 指定要壓縮的文件常用命令參數(shù)如下:
-d或--decompress或----uncompress:解開壓縮文件; -f或——force:強(qiáng)行壓縮文件。不理會(huì)文件名稱或硬連接是否存在以及該文件是否為符號(hào)連接; -l或——list:列出壓縮文件的相關(guān)信息; -r或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理; -v或——verbose:顯示指令執(zhí)行過(guò)程;案例演示:
使用gzip命令對(duì)當(dāng)前目錄下的new.tar文件進(jìn)行壓縮,具體使用如下命令:
gzip new.tarzip
zip命令對(duì)文件進(jìn)行打包操作。zip是個(gè)使用廣泛的壓縮程序,文件經(jīng)它壓縮后會(huì)另外產(chǎn)生具有.zip擴(kuò)展名的壓縮文件。
具體命令如下:
zip 命令參數(shù) 指定生成的壓縮文件名 要被壓縮的文件/目錄列表常用命令參數(shù)如下:
-d:從壓縮文件內(nèi)刪除指定的文件; -q:不顯示指令執(zhí)行過(guò)程; -r:遞歸處理,將指定目錄下的所有文件和子目錄一并處理; -v:顯示指令執(zhí)行過(guò)程或顯示版本信息; -u:更換較新的文件到壓縮文件內(nèi); -x<范本樣式>:壓縮時(shí)排除符合條件的文件;案例演示:
使用zip命令將newDir目錄下的所有文件/目錄壓縮生成newDir.zip,具體使用如下命令:
zip -r newDir.zip newDirtar命令進(jìn)行壓縮
在上一關(guān)的學(xué)習(xí)中,我們學(xué)會(huì)了使用tar命令對(duì)多個(gè)文件/目錄進(jìn)行打包操作,如果針對(duì)多文件/目錄進(jìn)行壓縮操作時(shí),首先使用tar將其打包生成一個(gè)文件,然后使用bzip2和gzip對(duì)其進(jìn)行壓縮,那么這里也可以使用tar命令一步就實(shí)現(xiàn)對(duì)多文件/目錄進(jìn)行壓縮操作。
采用bzip2方式執(zhí)行tar命令進(jìn)行壓縮的具體命令如下:
tar -jcvf 指定生成的壓縮文件名 要被壓縮的文件/目錄列表常用命令參數(shù)如下:
-c 建立新的歸檔文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作; -j 以bzip2對(duì)文件/目錄進(jìn)行壓縮;采用gzip進(jìn)行壓縮的具體命令如下:
tar -zcvf 指定生成的壓縮文件名 要被壓縮的文件/目錄列表常用命令參數(shù)如下:
-c 建立新的歸檔文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作; -z 以gzip對(duì)文件/目錄進(jìn)行壓縮;案例演示1:
使用tar命令將當(dāng)前目錄下的a.txt、b.txt和c.txt文件壓縮生成new.tar.bz2,具體使用如下命令:
tar -jcvf new.tar.bz2 a.txt b.txt c.txt這里也可以分為兩步進(jìn)行操作,首先是創(chuàng)建tar包,然后對(duì)tar包使用bzip2進(jìn)行壓縮操作。
案例演示2:
使用tar命令將當(dāng)前目錄下的a.txt、b.txt和c.txt文件壓縮生成new.tar.gz,具體使用如下命令:
tar -zcvf new.tar.gz a.txt b.txt c.txt這里也可以分為兩步進(jìn)行操作,首先是創(chuàng)建tar包,然后對(duì)tar包使用gzip進(jìn)行壓縮操作。
編程要求
在右側(cè)編輯器中補(bǔ)充代碼,對(duì)系統(tǒng)中已存在的文件/目錄進(jìn)行壓縮操作,具體編程要求如下:
- 使用tar命令將當(dāng)前目錄下的oldFile1和oldFile2文件打包壓縮成一個(gè)newFile.tar.gz文件;
- 使用bzip2命令對(duì)當(dāng)前目錄下的oldFile.tar文件壓縮;
- 使用zip命令將當(dāng)前目錄下的oldDir目錄所有文件/目錄壓縮生成oldDir.zip。
3、解壓縮
相關(guān)知識(shí)
Linux下存在多個(gè)文件壓縮工具,上一關(guān)我們介紹了包括bzip2、gzip和zip。針對(duì)這三種壓縮工具生成的壓縮包,我們可以使用bunzip2、gunzip和unzip命令對(duì)其進(jìn)行解壓縮。
接下讓我們?cè)敿?xì)的學(xué)習(xí)bunzip2、gunzip和unzip的使用方法。
bunzip2
bunzip2命令解壓縮由bzip2指令創(chuàng)建的.bz2壓縮包。使用bzip2 -d命令也可以將.bz2壓縮包進(jìn)行解壓。
具體命令如下:
bunzip2 命令參數(shù) 指定要解壓的文件常用命令參數(shù)如下:
-f或--force:解壓縮時(shí),若輸出的文件與現(xiàn)有文件同名時(shí),預(yù)設(shè)不會(huì)覆蓋現(xiàn)有的文件; -k或——keep:在解壓縮后,預(yù)設(shè)會(huì)刪除原來(lái)的壓縮文件。若要保留壓縮文件,請(qǐng)使用此參數(shù); -v或——verbose:解壓縮文件時(shí),顯示詳細(xì)的信息;案例演示:
使用bunzip2命令對(duì)當(dāng)前目錄下的new.tar.bz2文件進(jìn)行解壓操作,具體使用如下命令:
bunzip2 new.tar.bz2 或 bzip2 -d new.tar.bz2**注意:**這里解壓生成了一個(gè)tar包,如果想得到tar包里的內(nèi)容,則需要對(duì)tar包進(jìn)行解包操作(詳細(xì)命令參考第一關(guān)知識(shí)點(diǎn))。
gunzip
gunzip命令解壓縮由gzip指令創(chuàng)建的.gz壓縮包。使用gzip -d命令也可以將.gz壓縮包進(jìn)行解壓。
具體命令如下:
gunzip 命令參數(shù) 指定要解壓的文件常用命令參數(shù)如下:
-f或-force:強(qiáng)行解開壓縮文件,不理會(huì)文件名稱或硬連接是否存在以及該文件是否為符號(hào)連接; -l或-list:列出壓縮文件的相關(guān)信息; -q或-quiet:不顯示警告信息; -r或-recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理; -v或-verbose:顯示指令執(zhí)行過(guò)程;案例演示:
使用gunzip命令對(duì)當(dāng)前目錄下的new.tar.gz文件進(jìn)行解壓操作,具體使用如下命令:
gunzip new.tar.gz 或 gzip -d new.tar.gz**注意:**這里解壓生成了一個(gè)tar包,如果想得到tar包里的內(nèi)容,則需要對(duì)tar包進(jìn)行解包操作(詳細(xì)命令參考第一關(guān)知識(shí)點(diǎn))。
unzip
unzip命令用于解壓縮由zip命令壓縮的.zip壓縮包。
具體命令如下:
unzip 命令參數(shù) 指定要解壓的文件常用命令參數(shù)如下:
-q:執(zhí)行時(shí)不顯示任何信息; -n:解壓縮時(shí)不要覆蓋原有的文件; -d<目錄>:指定文件解壓縮后所要存儲(chǔ)的目錄;案例演示:
使用unzip命令對(duì)當(dāng)前目錄下的newDir.zip文件進(jìn)行解壓操作,具體使用如下命令:
unzip newDir.ziptar命令進(jìn)行解壓縮
在上一關(guān)的學(xué)習(xí)中,我們學(xué)會(huì)了使用tar命令對(duì)多個(gè)文件/目錄進(jìn)行打包壓縮操作,本關(guān)將繼續(xù)講解使用tar命令對(duì)文件進(jìn)行解壓縮操作。
采用bunzip2進(jìn)行解壓縮的具體命令如下:
tar -jxvf 指定要解壓的文件常用命令參數(shù)如下:
-x 或--ext\fract或--get:從備份文件中還原文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作; -j 以bunzip2進(jìn)行解壓縮;采用gzip進(jìn)行壓縮的具體命令如下:
tar -zxvf 指定要解壓的文件常用命令參數(shù)如下:
-x 或--ext\fract或--get:從備份文件中還原文件; -v 處理過(guò)程中輸出相關(guān)信息; -f 對(duì)普通文件操作; -z 以gunzip進(jìn)行解壓縮;案例演示1:
使用tar命令對(duì)當(dāng)前目錄下的new.tar.bz2文件進(jìn)行解壓,具體使用如下命令:
tar -jxvf new.tar.bz2這里也可以分為兩步進(jìn)行操作,首先是使用bunzip2進(jìn)行解壓生成tar包,然后對(duì)tar包進(jìn)行解包操作。
案例演示2:
使用tar命令對(duì)當(dāng)前目錄下的 new.tar.gz文件進(jìn)行解壓,具體使用如下命令:
tar -zxvf new.tar.gz[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-xFKpGOVH-1657181259261)(https://data.educoder.net/api/attachments/185323)]
這里也可以分為兩步進(jìn)行操作,首先是使用gunzip進(jìn)行解壓生成tar包,然后對(duì)tar包進(jìn)行解包操作。
編程要求
在右側(cè)編輯器中補(bǔ)充代碼,將壓縮文件進(jìn)行解壓,具體編程要求如下:
- 使用tar命令解壓當(dāng)前目錄下的oldFile.tar.gz文件;
- 使用bunzip2命令解壓當(dāng)前目錄下的oldFile.tar.bz2文件;
- 使用unzip命令解壓當(dāng)前目錄下的oldDir.zip。
總結(jié)
以上是生活随笔為你收集整理的linux典型压缩包操作 tar打包、压缩与解压的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tar 打包隐藏文件
- 下一篇: limbo镜像linux下载,Limbo