參考谷粒學院的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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/143443.html
標籤:Linux
