EduCoder Linux之文件打包和解压缩
本實訓主要講解Linux中對文件/目錄壓縮和解壓縮操作。
隨著多媒體、視頻圖象、文檔映象等技術的出現,數據壓縮成了一個重要研究點。數據壓縮基本上是擠壓數據使得它占用更少的磁盤存儲空間和更短的傳輸時間。壓縮的依據是數字數據中包含大量的重復,它將這些重復信息用占用空間較少的符號或代碼來代替。
Linux 系統中提供很多文件/目錄的壓縮和解壓縮命令,常見的格式有.tar.gz,而Windows上創建的壓縮文件格式是.rar。
本實訓主要講解如何對Linux文件/目錄設置特殊的權限和特殊屬性。
第1關:tar打包命令
- 任務描述
- 相關知識
- 打包
- 解包
- 編程要求
- 測試說明
任務描述
有時,我們會在Linux系統中將多個文件打包成一個單獨的文件,通過本關的學習,我們將學會如何在Linux系統中將多個文件/目錄打包生成一個文件。
本關任務:使用tar命令完成文件和目錄的打包操作。
相關知識
tar(tape archive的簡寫)工具可完成許多功能,其名稱源于它的原始功能-創建和讀取歸檔文件和備份磁帶。如今,該工具常用來將多個文件或多個目錄打包成一個tar文件,或者將某個tar文件分解開。
接下讓我們詳細的學習tar的使用方法。
打包
tar命令可以將多個文件/目錄進行打包,將多個文件生成一個文件,生成的文件后綴為.tar。
具體打包命令如下:
tar -cvf 生成的tar包名 要打包的文件/目錄列表
常用命令參數如下:
案例演示1:
在當前目錄下創建a.txt、b.txt和c.txt文件,將其打包成一個new.tar,具體使用如下命令:
案例演示2:
在當前目錄下創建dirA、dirB和dirC目錄,將其打包成一個newDir.tar,具體使用如下命令:
解包
tar命令可以將已經打包好的文件解壓出來。
具體打包命令如下:
tar -xvf 解壓包名 -C 解壓到指定目錄
常用命令參數如下:
如果不使用-C(大寫)參數,則默認解壓到當前目錄下。
案例演示1:
將當前目錄下的a.txt、b.txt和c.txt文件刪除,將打包好的new.tar文件解壓到當前目錄,具體使用如下命令:
案例演示2:
在當前目錄下創建newDir目錄,將打包好的newDir.tar文件解壓到newDir目錄下,具體使用如下命令:
編程要求
在右側編輯器中補充代碼,使用tar命令打包和解包,具體編程要求如下:
使用tar命令將當前目錄下的oldFile1和oldFile2文件打包成一個newFile.tar文件;
使用tar命令將當前目錄下的oldFile.tar文件解壓到當前目錄下。
測試說明
平臺將對你編寫的代碼進行評測:
預期輸出:
不因幸運而固步自封,不因厄運而一蹶不振。真正的強者,善于從順境中找到陰影,從逆境中找到光亮,時時校準自己前進的目標。——易卜生
開始你的任務吧,祝你成功!
#!/bin/bash#在以下部分寫出完成任務的命令 #*********begin*********# tar -cvf newFile.tar oldFile1 oldFile2 tar -xvf oldFile.tar #********* end *********#第2關:文件壓縮命令
- 任務描述
- 相關知識
- bzip2
- gzip
- zip
- tar命令進行壓縮
- 編程要求
- 測試說明
任務描述
由于磁盤空間有限,我們通常會將不常用的大文件進行壓縮以便于節約磁盤空間,通過本關的學習,我們將學會Linux系統上常見的壓縮命令。
本關任務:對系統中已存在的文件/目錄進行壓縮操作。
相關知識
Linux下存在多個文件壓縮工具,常用的有bzip2、gzip和zip。這三個工具都是可以將一個文件進行壓縮操作,使其在不丟失任何信息的情況下占用較少的磁盤空間。而如何對于多個文件/目錄進壓縮操作呢?
我們通過上一關的學習,我們了解到了使用tar命令可以將多文件/目錄打包生成一個文件,那么對于多文件/目錄的壓縮操作分為兩步:第一步是將其進行打包,然后將打包過后的文件進行壓縮操作。
接下讓我們詳細的學習bzip2、gzip和zip的使用方法。
bzip2
bzip2命令用于創建和管理(包括解壓縮).bz2格式的壓縮包。
具體命令如下:
bzip2 命令參數 指定要壓縮的文件
常用命令參數如下:
案例演示:
使用bzip2命令對當前目錄下的new.tar文件進行壓縮,具體使用如下命令:
gzip
gzip命令用于創建和管理(包括解壓縮).gz格式的壓縮包。
具體命令如下:
gzip 命令參數 指定要壓縮的文件
常用命令參數如下:
案例演示:
使用gzip命令對當前目錄下的new.tar文件進行壓縮,具體使用如下命令:
zip
zip命令對文件進行打包操作。zip是個使用廣泛的壓縮程序,文件經它壓縮后會另外產生具有.zip擴展名的壓縮文件。
具體命令如下:
zip 命令參數 指定生成的壓縮文件名 要被壓縮的文件/目錄列表
常用命令參數如下:
案例演示:
使用zip命令將newDir目錄下的所有文件/目錄壓縮生成newDir.zip,具體使用如下命令:
tar命令進行壓縮
在上一關的學習中,我們學會了使用tar命令對多個文件/目錄進行打包操作,如果針對多文件/目錄進行壓縮操作時,首先使用tar將其打包生成一個文件,然后使用bzip2和gzip對其進行壓縮,那么這里也可以使用tar命令一步就實現對多文件/目錄進行壓縮操作。
采用bzip2方式執行tar命令進行壓縮的具體命令如下:
tar -jcvf 指定生成的壓縮文件名 要被壓縮的文件/目錄列表
常用命令參數如下:
采用gzip進行壓縮的具體命令如下:
tar -zcvf 指定生成的壓縮文件名 要被壓縮的文件/目錄列表
常用命令參數如下:
案例演示1:
使用tar命令將當前目錄下的a.txt、b.txt和c.txt文件壓縮生成new.tar.bz2,具體使用如下命令:
這里也可以分為兩步進行操作,首先是創建tar包,然后對tar包使用bzip2進行壓縮操作。
案例演示2:
使用tar命令將當前目錄下的a.txt、b.txt和c.txt文件壓縮生成new.tar.gz,具體使用如下命令:
這里也可以分為兩步進行操作,首先是創建tar包,然后對tar包使用gzip進行壓縮操作。
編程要求
在右側編輯器中補充代碼,對系統中已存在的文件/目錄進行壓縮操作,具體編程要求如下:
使用tar命令將當前目錄下的oldFile1和oldFile2文件打包壓縮成一個newFile.tar.gz文件;
使用bzip2命令對當前目錄下的oldFile.tar文件壓縮;
使用zip命令將當前目錄下的oldDir目錄所有文件/目錄壓縮生成oldDir.zip。
測試說明
平臺會對你編寫的代碼進行評測:
預期輸出:
倘若你想達成目標,便得在心中描繪出目標達成后的景象;那么,夢想必會成真。——英國當代動機大師 理查丹尼
開始你的任務吧,祝你成功!
#!/bin/bash#在以下部分寫出完成任務的命令 #*********begin*********# tar -zcvf newFile.tar.gz oldFile1 oldFile2 bzip2 oldFile.tar zip -r oldDir.zip oldDir #********* end *********#第3關:文件解壓縮命令
- 任務描述
- 相關知識
- bunzip2
- gunzip
- unzip
- tar命令進行解壓縮
- 編程要求
- 測試說明
任務描述
通常,我們上網下載的文件一般都是壓縮過后的文件,通過本關的學習,我們可以學會如何將一個壓縮文件進行解壓操作。
本關任務:將壓縮文件進行解壓縮操作。
相關知識
Linux下存在多個文件壓縮工具,上一關我們介紹了包括bzip2、gzip和zip。針對這三種壓縮工具生成的壓縮包,我們可以使用bunzip2、gunzip和unzip命令對其進行解壓縮。
接下讓我們詳細的學習bunzip2、gunzip和unzip的使用方法。
bunzip2
bunzip2命令解壓縮由bzip2指令創建的.bz2壓縮包。使用bzip2 -d命令也可以將.bz2壓縮包進行解壓。
具體命令如下:
bunzip2 命令參數 指定要解壓的文件
常用命令參數如下:
案例演示:
使用bunzip2命令對當前目錄下的new.tar.bz2文件進行解壓操作,具體使用如下命令:
注意:這里解壓生成了一個tar包,如果想得到tar包里的內容,則需要對tar包進行解包操作(詳細命令參考第一關知識點)。
gunzip
gunzip命令解壓縮由gzip指令創建的.gz壓縮包。使用gzip -d命令也可以將.gz壓縮包進行解壓。
具體命令如下:
gunzip 命令參數 指定要解壓的文件
常用命令參數如下:
案例演示:
使用gunzip命令對當前目錄下的new.tar.gz文件進行解壓操作,具體使用如下命令:
注意:這里解壓生成了一個tar包,如果想得到tar包里的內容,則需要對tar包進行解包操作(詳細命令參考第一關知識點)。
unzip
unzip命令用于解壓縮由zip命令壓縮的.zip壓縮包。
具體命令如下:
unzip 命令參數 指定要解壓的文件
常用命令參數如下:
案例演示:
使用unzip命令對當前目錄下的newDir.zip文件進行解壓操作,具體使用如下命令:
tar命令進行解壓縮
在上一關的學習中,我們學會了使用tar命令對多個文件/目錄進行打包壓縮操作,本關將繼續講解使用tar命令對文件進行解壓縮操作。
采用bunzip2進行解壓縮的具體命令如下:
tar -jxvf 指定要解壓的文件
常用命令參數如下:
采用gzip進行壓縮的具體命令如下:
tar -zxvf 指定要解壓的文件
常用命令參數如下:
案例演示1:
使用tar命令對當前目錄下的new.tar.bz2文件進行解壓,具體使用如下命令:
這里也可以分為兩步進行操作,首先是使用bunzip2進行解壓生成tar包,然后對tar包進行解包操作。
案例演示2:
使用tar命令對當前目錄下的 new.tar.gz文件進行解壓,具體使用如下命令:
這里也可以分為兩步進行操作,首先是使用gunzip進行解壓生成tar包,然后對tar包進行解包操作。
編程要求
在右側編輯器中補充代碼,將壓縮文件進行解壓,具體編程要求如下:
使用tar命令解壓當前目錄下的oldFile.tar.gz文件;
使用bunzip2命令解壓當前目錄下的oldFile.tar.bz2文件;
使用unzip命令解壓當前目錄下的oldDir.zip。
測試說明
平臺將對你編寫的代碼進行評測:
預期輸出:
真正的人生,只有在經過艱難卓絕的斗爭之后才能實現。——塞涅卡
開始你的任務吧,祝你成功!
#!/bin/bash#在以下部分寫出完成任務的命令 #*********begin*********# tar -zxvf oldFile.tar.gz bunzip2 oldFile.tar.bz2 unzip oldDir.zip #********* end *********#總結
以上是生活随笔為你收集整理的EduCoder Linux之文件打包和解压缩的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EduCoder Linux文件/目录高
- 下一篇: LeetCode 879. 盈利计划