壓縮命令tar gzip

2022-03-28 15:38:58 字數 4984 閱讀 3549

tar命令 

tar可以為檔案和目錄建立檔案。利用tar,使用者可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案,如軟盤。利用tar命令,可以把一大堆的檔案和目錄全部打包成乙個檔案,這對於備份檔案或將幾個檔案組合成為乙個檔案以便於網路傳輸是非常有用的。linux上的tar是gnu版本的。 

語法:tar [主選項+輔選項] 檔案或者目錄 

使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。 

主選項: 

c 建立新的檔案檔案。如果使用者想備份乙個目錄或是一些檔案,就要選擇這個選項。 

r 把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經作好備份檔案,又發現還有乙個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。 

t 列出檔案檔案的內容,檢視已經備份了哪些檔案。 

u 更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後。 

x 從檔案檔案中釋放檔案。 

輔助選項: 

b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。 

f 使用檔案檔案或裝置,這個選項通常是必選的。 

k 儲存已經存在的檔案。例如我們把某個檔案還原,在還原的過程中,遇到相同的檔案,不會進行覆蓋。 

m 在還原檔案時,把所有檔案的修改時間設定為現在。 

m 建立多卷的檔案檔案,以便在幾個磁碟中存放。 

v 詳細報告tar處理的檔案資訊。如無此選項,tar不報告檔案資訊。 

w 每一步都要求確認。 

z 用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。 

例1:把/home目錄下包括它的子目錄全部做備份檔案,備份檔案名為usr.tar。 

$ tar cvf usr.tar /home 

例2:把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔案名為usr.tar.gz 。 

$ tar czvf usr.tar.gz /home 

例3:把usr.tar.gz這個備份檔案還原並解壓縮。 

$ tar xzvf usr.tar.gz 

例4:檢視usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。 

$ tar tvf usr.tar | more 

要將檔案備份到乙個特定的裝置,只需把裝置名作為備份檔案名。 

例5:使用者在/dev/fd0裝置的軟盤中建立乙個備份檔案,並將/home 目錄中所有的檔案都拷貝到備份檔案中。 

$ tar cf /dev/fd0 /home 

要恢復裝置磁碟中的檔案,可使用xf選項: 

$ tar xf /dev/fd0 

如果使用者備份的檔案大小超過裝置可用的存貯空間,如軟盤,您可以建立乙個多卷的tar備份檔案。m選項指示tar命令提示您使用乙個新的存貯裝置,當使用m選項向乙個軟碟機進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就可以把tar檔案存入幾張磁碟中。 

$ tar cmf /dev/fd0 /home 

要恢復幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和m選項的tar命令。在必要時您會被提醒放入另外一張軟盤。 

$ tar xmf /dev/fd0 

gzip命令 

減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。gzip是在linux系統中經常使用的乙個對檔案進行壓縮和解壓縮的命令,既方便又好用。 

語法:gzip [選項] 壓縮(解壓縮)的檔名 

各選項的含義: 

-c 將輸出寫到標準輸出上,並保留原有檔案。 

-d 將壓縮檔案解壓。 

-l 對每個壓縮檔案,顯示下列字段: 

壓縮檔案的大小 

未壓縮檔案的大小 

壓縮比 

未壓縮檔案的名字 

-r 遞迴式地查詢指定目錄並壓縮其中的所有檔案或者是解壓縮。 

-t 測試,檢查壓縮檔案是否完整。 

-v 對每乙個壓縮和解壓的檔案,顯示檔名和壓縮比。 

-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6。 

假設乙個目錄/home下有檔案mm.txt、sort.txt、xx.com。 

例1:把/home目錄下的每個檔案壓縮成.gz檔案。 

$ cd /home 

$ gzip * 

$ ls 

m.txt.gz sort.txt.gz xx.com.gz 

例2:把例1中每個壓縮的檔案解壓,並列出詳細的資訊。 

$ gzip -dv * 

mm.txt.gz 43.1%-----replaced with mm.txt 

sort.txt.gz 43.1%-----replaced with sort.txt 

xx.com.gz 43.1%-----replaced with xx.com 

$ ls 

mm.txt sort.txt xx.com 

例3:詳細顯示例1中每個壓縮的檔案的資訊,並不解壓。 

$ gzip -l * 

compressed uncompr. ratio uncompressed_name 

277 445 43.1% mm.txt 

278 445 43.1% sort.txt 

277 445 43.1% xx.com 

$ ls 

mm.txt.gz sort.txt.gz xx.com.gz 

例4:壓縮乙個tar備份檔案,如usr.tar,此時壓縮檔案的擴充套件名為.tar.gz 

$ gzip usr.tar 

$ ls 

usr.tar.gz 

unzip命令 

用ms windows下的壓縮軟體winzip壓縮的檔案如何在linux系統下展開呢?可以用unzip命令,該命令用於解擴充套件名為.zip的壓縮檔案。 

語法:unzip [選項] 壓縮檔案名.zip 

各選項的含義分別為: 

-x 檔案列表 解壓縮檔案,但不包括指定的file檔案。 

-v 檢視壓縮檔案目錄,但不解壓。 

-t 測試檔案有無損壞,但不解壓。 

-d 目錄 把壓縮檔案解到指定目錄下。 

-z 只顯示壓縮檔案的註解。 

-n 不覆蓋已經存在的檔案。 

-o 覆蓋已存在的檔案且不要求使用者確認。 

-j 不重建文件的目錄結構,把所有檔案解壓到同一目錄下。 

例1:將壓縮檔案text.zip在當前目錄下解壓縮。 

$ unzip text.zip 

例2:將壓縮檔案text.zip在指定目錄/tmp下解壓縮,如果已有相同的檔案存在,要求unzip命令不覆蓋原先的檔案。 

$ unzip -n text.zip -d /tmp 

例3:檢視壓縮檔案目錄,但不解壓。 

$ unzip -v text.zip 

zgrep命令 

這個命令的功能是在壓縮檔案中尋找匹配的正規表示式,用法和grep命令一樣,只不過操作的物件是壓縮檔案。如果使用者想看看在某個壓縮檔案中有沒有某一句話,便可用zgrep命令。 

第十課(十一)  在linux環境下執行dos命令    2023年/3月20日 

linux系統提供了一組稱為mtools的可移植工具,可以讓使用者輕鬆地從標準的dos軟盤上讀、寫檔案和目錄。它們對dos和linux環境之間交換檔案非常有用。它們是不具備共同的檔案系統格式的系統之間交換檔案的有力手段。對於乙個ms-dos的軟盤,只要把軟盤放在軟碟機中,就可以利用mtools提供的命令來訪問軟盤上的檔案。 

mtools的主要命令如下: 

mcd 目錄名 改變msdos目錄; 

mcopy 原始檔 目標檔案 在msdos和unix之間複製檔案; 

mdel 檔名 刪除msdos檔案; 

mdir 目錄名 顯示msdos目錄; 

mformat 驅動器號 在低階格式化的軟盤上建立msdos檔案系統; 

rnlabel 驅動器號 產生msdos卷標; 

mmd 目錄名 建立msdos目錄; 

mrd 目錄名 刪除msdos目錄; 

mren 原始檔 目標檔案 重新命名已存在的msdos檔案; 

mtype 檔名 顯示msdos檔案的內容。 

這些命令和對應的不加 m的 msdos命令非常相似。 

例1:在linux環境下看dos盤最上層的目錄的內容: 

$ mdir a: 

volume in drive a has no label 

volume serial number is 15f6-3362 

directory of a:\ 

ss6 cpp 331 09-24-99 7:41 ss6.cpp 

ch9 

11-20-99 16:22 ch9 

xxq 0 11-20-99 16:24 xxq 

95czxta doc 36,864 06-15-98 22:51 95czxta.doc 

95czxtb doc 39,936 06-16-98 7:18 95czxtb.doc 

htca doc 27,136 01-08-99 0:13 htca.doc 

htcb doc 27,136 01-08-99 0:12 htcb.doc 

6 file(s) 131,403 bytes 

1 dir(s) 1,295,872 bytes free 

例2:將dos盤上的檔案xxq複製到當前目錄下,並用ls命令進行驗證。 

$ mcopy a:\htca.doc 

$ ls –l htca.doc 

-rw-r— -r- - 1 xxq xxq 27136 jan 1 01:80 htca.doc 

Linux系列五 壓縮tar gzip等

一 gzip zcat gzip cdtv filename c 將壓縮的資料輸出到螢幕上,可通過資料流重定向來處理 rock test cc gzip c findt.txt findt.txt.gz rock test cc ll total 32 drwxr xr x 7 cc test 22...

壓縮解壓縮命令

gzip 所在目錄 bin gzip,壓縮檔案,壓縮後檔案格式為.gz 用法 gzip 選項 檔案 例 gzip newfile linux的壓縮格式windows都支援 如好壓 但windows的壓縮格式linux不一定支援要有相應的軟體,gzip只能壓縮檔案,不能壓縮目錄,壓縮後不保留原檔案 g...

壓縮命令 Linux gzip命令 壓縮檔案或目錄

gzip 是 linux 系統中經常用來對檔案進行壓縮和解壓縮的命令,通過此命令壓縮得到的新檔案,其副檔名通常標記為 gz 再強調一下,gzip 命令只能用來壓縮檔案,不能壓縮目錄,即便指定了目錄,也只能壓縮目錄內的所有檔案。gzip 命令的基本格式如下 root localhost gzip 選項...