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