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