參考穀粒學院的linux視頻教程:http://www.gulixueyuan.com/course/300/task/7091/show ...
參考穀粒學院的linux視頻教程:http://www.gulixueyuan.com/course/300/task/7091/show
在Linux中可以識別的常見的壓縮格式有十幾種,比如".zip","gz",".bz2",".tar",".tar.gz",".tar.bz2"等. 1.".zip" ".zip"是window中最常用的壓縮格式,Linux也可以正確的識別,".zip"格式,這可以方便地和Windows系統通用壓縮文件. 1.1.".zip"的壓縮命令: 壓縮命令的基本信息如下: 壓縮zip命令: 語法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字元串>][-t <日期時間>][-<壓縮效率>][壓縮文件][文件...][-i <範本樣式>][-x <範本樣式>] 參數: -A 調整可執行的自動解壓縮文件。 -b<工作目錄> 指定暫時存放文件的目錄。 -c 替每個被壓縮的文件加上註釋。 -d 從壓縮文件內刪除指定的文件。 -D 壓縮文件內不建立目錄名稱。 -f 此參數的效果和指定"-u"參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一併將其加入壓縮文件中。 -F 嘗試修複已損壞的壓縮文件。 -g 將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件。 -h 線上幫助。 -i<範本樣式> 只壓縮符合條件的文件。 -j 只保存文件名稱及其內容,而不存放任何目錄名稱。 -J 刪除壓縮文件前面不必要的數據。 -k 使用MS-DOS相容格式的文件名稱。 -l 壓縮文件時,把LF字元置換成LF+CR字元。 -ll 壓縮文件時,把LF+CR字元置換成LF字元。 -L 顯示版權信息。 -m 將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中。 -n<字尾字元串> 不壓縮具有特定字尾字元串的文件。 -o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。 -q 不顯示指令執行過程。 -r 遞歸處理,將指定目錄下的所有文件和子目錄一併處理。 -S 包含系統和隱藏文件。 -t<日期時間> 把壓縮文件的日期設成指定的日期。 -T 檢查備份文件內的每個文件是否正確無誤。 -u 更換較新的文件到壓縮文件內。 -v 顯示指令執行過程或顯示版本信息。 -V 保存VMS操作系統的文件屬性。 -w 在文件名稱里假如版本編號,本參數僅在VMS操作系統下有效。 -x<範本樣式> 壓縮時排除符合條件的文件。 -X 不保存額外的文件屬性。 -y 直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。 -z 替壓縮文件加上註釋。 -$ 保存第一個被壓縮文件所在磁碟的捲冊名稱。 -<壓縮效率> 壓縮效率是一個介於1-9的數值。 舉個例子: 1.將/usr/local/test200106目錄下的所有文件和文件夾打包為當前目錄下的html.zip zip -q -r html.zip /usr/local/test200106 2.如果我們在/usr/local/test200106 zip -q -r html.zip * 解壓命令:unzip Linux unzip命令用於解壓縮zip文件 unzip為.zip壓縮文件的解壓縮程式。 語法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目錄>][-x <文件>] 或 unzip [-Z] 參數: -c 將解壓縮的結果顯示到屏幕上,並對字元做適當的轉換。 -f 更新現有的文件。 -l 顯示壓縮文件內所包含的文件。 -p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。 -t 檢查壓縮文件是否正確。 -u 與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。 -v 執行是時顯示詳細的信息。 -z 僅顯示壓縮文件的備註文字。 -a 對文本文件進行必要的字元轉換。 -b 不要對文本文件進行字元轉換。 -C 壓縮文件中的文件名稱區分大小寫。 -j 不處理壓縮文件中原有的目錄路徑。 -L 將壓縮文件中的全部文件名改為小寫。 -M 將輸出結果送到more程式處理。 -n 解壓縮時不要覆蓋原有的文件。 -o 不必先詢問用戶,unzip執行後覆蓋原有文件。 -P<密碼> 使用zip的密碼選項。 -q 執行時不顯示任何信息。 -s 將文件名中的空白字元轉換為底線字元。 -V 保留VMS的文件版本信息。 -X 解壓縮時同時回存文件原來的UID/GID。 [.zip文件] 指定.zip壓縮文件。 [文件] 指定要處理.zip壓縮文件中的哪些文件。 -d<目錄> 指定文件解壓縮後所要存儲的目錄。 -x<文件> 指定不要處理.zip壓縮文件中的哪些文件。 -Z unzip -Z等於執行zipinfo指令。 舉個例子:解壓testzip.zip文件,不用詢問用戶,解壓到/usr/local目錄下. unzip -o -d /usr/local testzip.zip 如果沒有unzip命令的話,可以通過yum安裝一個,安裝命令如下:yum install -y unzip zip 安裝後就可以使用unzip命令了. 2.".gz" Linux gzip命令用於壓縮文件。 gzip是個使用廣泛的壓縮程式,文件經它壓縮過後,其名稱後面會多出".gz"的擴展名。 壓縮命令語法: gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字元串>][-<壓縮效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字元串>][-<壓縮效率>][--best/fast][目錄] 參數: -a或--ascii 使用ASCII文字模式。 -c或--stdout或--to-stdout 把壓縮後的文件輸出到標準輸出設備,不去更動原始文件。 -d或--decompress或----uncompress 解開壓縮文件。 -f或--force 強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接。 -h或--help 線上幫助。 -l或--list 列出壓縮文件的相關信息。 -L或--license 顯示版本與版權信息。 -n或--no-name 壓縮文件時,不保存原來的文件名稱及時間戳記。 -N或--name 壓縮文件時,保存原來的文件名稱及時間戳記。 -q或--quiet 不顯示警告信息。 -r或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一併處理。 -S<壓縮字尾字元串>或----suffix<壓縮字尾字元串> 更改壓縮字尾字元串。 -t或--test 測試壓縮文件是否正確無誤。 -v或--verbose 顯示指令執行過程。 -V或--version 顯示版本信息。 -<壓縮效率> 壓縮效率是一個介於1-9的數值,預設值為"6",指定愈大的數值,壓縮效率就會愈高。 --best 此參數的效果和指定"-9"參數相同。 --fast 此參數的效果和指定"-1"參數相同。 舉個例子: gzip * //壓縮目錄下的所有文件 gzip -dv xx.gz //解壓文件,併列出詳細信息 gzip -l * //顯示壓縮文件的信息 3.".bz2" Linux bzip2命令是.bz2文件的壓縮程式。 bzip2採用新的壓縮演演算法,壓縮效果比傳統的LZ77/LZ78壓縮演演算法來得好。若沒有加上任何參數,bzip2壓縮完文件後會產生.bz2的壓縮文件,並刪除原始的文件。 語法: bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 壓縮等級][要壓縮的文件] 參數: -c或--stdout 將壓縮與解壓縮的結果送到標準輸出。 -d或--decompress 執行解壓縮。 -f或--force bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數。 -h或--help 顯示幫助。 -k或--keep bzip2在壓縮或解壓縮後,會刪除原始的文件。若要保留原始文件,請使用此參數。 -s或--small 降低程式執行時記憶體的使用量。 -t或--test 測試.bz2壓縮文件的完整性。 -v或--verbose 壓縮或解壓縮文件時,顯示詳細的信息。 -z或--compress 強制執行壓縮。 -L,--license, -V或--version 顯示版本信息。 --repetitive-best 若文件中有重覆出現的資料時,可利用此參數提高壓縮效果。 --repetitive-fast 若文件中有重覆出現的資料時,可利用此參數加快執行速度。 -壓縮等級 壓縮時的區塊大小。 舉個慄子: 1. bzip2 -zv xxxx.txt 壓縮文件. 2. bzip2 -d xxxxx.bz2 解壓 4.".tar" Linux tar命令用於備份文件。 tar是用來建立,還原備份文件的工具程式,它可以加入,解開備份文件內的文件. 語法: tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <區塊數目>][-C <目的目錄>][-f <備份文件>][-F <Script文件>][-K <文件>][-L <媒體容量>][-N <日期時間>][-T <範本文件>][-V <捲冊名稱>][-X <範本文件>][-<設備編號><存儲密度>][--after-date=<日期時間>][--atime-preserve][--backuup=<備份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<範本樣式>][--force-local][--group=<群組名稱>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用戶名稱>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<區塊數目>][--recursive-unlink][--remove-files][--rsh-command=<執行指令>][--same-owner][--suffix=<備份字尾字元串>][--totals][--use-compress-program=<執行指令>][--version][--volno-file=<編號文件>][文件或目錄...] 參數: -A或--catenate 新增文件到已存在的備份文件。 -b<區塊數目>或--blocking-factor=<區塊數目> 設置每筆記錄的區塊數目,每個區塊大小為12Bytes。 -B或--read-full-records 讀取數據時重設區塊大小。 -c或--create 建立新的備份文件。 -C<目的目錄>或--directory=<目的目錄> 切換到指定的目錄。 -d或--diff或--compare 對比備份文件內和文件系統上的文件的差異。 -f<備份文件>或--file=<備份文件> 指定備份文件。 -F<Script文件>或--info-script=<Script文件> 每次更換磁帶時,就執行指定的Script文件。 -g或--listed-incremental 處理GNU格式的大量備份。 -G或--incremental 處理舊的GNU格式的大量備份。 -h或--dereference 不建立符號連接,直接複製該連接所指向的原始文件。 -i或--ignore-zeros 忽略備份文件中的0 Byte區塊,也就是EOF。 -k或--keep-old-files 解開備份文件時,不覆蓋已有的文件。 -K<文件>或--starting-file=<文件> 從指定的文件開始還原。 -l或--one-file-system 複製的文件或目錄存放的文件系統,必須與tar指令執行時所處的文件系統相同,否則不予複製。 -L<媒體容量>或-tape-length=<媒體容量> 設置存放每體的容量,單位以1024 Bytes計算。 -m或--modification-time 還原文件時,不變更文件的更改時間。 -M或--multi-volume 在建立,還原備份文件或列出其中的內容時,採用多捲冊模式。 -N<日期格式>或--newer=<日期時間> 只將較指定日期更新的文件保存到備份文件里。 -o或--old-archive或--portability 將資料寫入備份文件時使用V7格式。 -O或--stdout 把從備份文件里還原的文件輸出到標準輸出設備。 -p或--same-permissions 用原來的文件許可權還原文件。 -P或--absolute-names 文件名使用絕對名稱,不移除文件名稱前的"/"號。 -r或--append 新增文件到已存在的備份文件的結尾部分。 -R或--block-number 列出每個信息在備份文件中的區塊編號。 -s或--same-order 還原文件的順序和備份文件內的存放順序相同。 -S或--sparse 倘若一個文件內含大量的連續0位元組,則將此文件存成稀疏文件。 -t或--list 列出備份文件的內容。 -T<範本文件>或--files-from=<範本文件> 指定範本文件,其內含有一個或多個範本樣式,讓tar解開或建立符合設置條件的文件。 -u或--update 僅置換較備份文件內的文件更新的文件。 -U或--unlink-first 解開壓縮文件還原文件之前,先解除文件的連接。 -v或--verbose 顯示指令執行過程。 -V<捲冊名稱>或--label=<捲冊名稱> 建立使用指定的捲冊名稱的備份文件。 -w或--interactive 遭遇問題時先詢問用戶。 -W或--verify 寫入備份文件後,確認文件正確無誤。 -x或--extract或--get 從備份文件中還原文件。 -X<範本文件>或--exclude-from=<範本文件> 指定範本文件,其內含有一個或多個範本樣式,讓ar排除符合設置條件的文件。 -z或--gzip或--ungzip 通過gzip指令處理備份文件。 -Z或--compress或--uncompress 通過compress指令處理備份文件。 -<設備編號><存儲密度> 設置備份用的外圍設備編號及存放數據的密度。 --after-date=<日期時間> 此參數的效果和指定"-N"參數相同。 --atime-preserve 不變更文件的存取時間。 --backup=<備份方式>或--backup 移除文件前先進行備份。 --checkpoint 讀取備份文件時列出目錄名稱。 --concatenate 此參數的效果和指定"-A"參數相同。 --confirmation 此參數的效果和指定"-w"參數相同。 --delete 從備份文件中刪除指定的文件。 --exclude=<範本樣式> 排除符合範本樣式的文件。 --group=<群組名稱> 把加入設備文件中的文件的所屬群組設成指定的群組。 --help 線上幫助。 --ignore-failed-read 忽略數據讀取錯誤,不中斷程式的執行。 --new-volume-script=<Script文件> 此參數的效果和指定"-F"參數相同。 --newer-mtime 只保存更改過的文件。 --no-recursion 不做遞歸處理,也就是指定目錄下的所有文件及子目錄不予處理。 --null 從null設備讀取文件名稱。 --numeric-owner 以用戶識別碼及群組識別碼取代用戶名稱和群組名稱。 --owner=<用戶名稱> 把加入備份文件中的文件的擁有者設成指定的用戶。 --posix 將數據寫入備份文件時使用POSIX格式。 --preserve 此參數的效果和指定"-ps"參數相同。 --preserve-order 此參數的效果和指定"-A"參數相同。 --preserve-permissions 此參數的效果和指定"-p"參數相同。 --record-size=<區塊數目> 此參數的效果和指定"-b"參數相同。 --recursive-unlink 解開壓縮文件還原目錄之前,先解除整個目錄下所有文件的連接。 --remove-files 文件加入備份文件後,就將其刪除。 --rsh-command=<執行指令> 設置要在遠端主機上執行的指令,以取代rsh指令。 --same-owner 嘗試以相同的文件擁有者還原文件。 --suffix=<備份字尾字元串> 移除文件前先行備份。 --totals 備份文件建立後,列出文件大小。 --use-compress-program=<執行指令> 通過指定的指令處理備份文件。 --version 顯示版本信息。 --volno-file=<編號文件> 使用指定文件內的編號取代預設的捲冊編號。 舉個例子: 1.壓縮文件,非大包. touch a.c tar -czvf test.tar.gz a.c //壓縮 a.c文件為test.tar.gz 2.列出壓縮文件的內容: tar -tzvf test.tar.gz 3.解壓文件: tar -xzvf test.tar.gz