tar命令
tar可以為文件和目錄創(chuàng)建檔案示辈。利用tar,用戶可以為某一特定文件創(chuàng)建檔案(備份文件)遣蚀,也可以在檔案中改變文件,或者向檔案中加入新的文 件纱耻。tar最初被用來在磁帶上創(chuàng)建檔案芭梯,現(xiàn)在,用戶可以在任何設(shè)備上創(chuàng)建檔案弄喘,如軟盤玖喘。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件蘑志,這 對于備份文件或?qū)讉€文件組合成為一個文件以便于網(wǎng)絡(luò)傳輸是非常有用的累奈。Linux上的tar是GNU版本的。
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時急但,主選項是必須要有的澎媒,它告訴tar要做什么事情,輔選項是輔助使用的波桩,可以選用戒努。
主選項:
-
c
創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件镐躲,就要選擇這個選項储玫。 -
r
把要存檔的文件追加到檔案文件的未尾侍筛。例如用戶已經(jīng)作好備份文件,又發(fā)現(xiàn)還有一個目錄或是一些文件忘記備份了撒穷,這時可以使用該選項匣椰,將忘記的目錄或文件追加到備份文件中。 -
t
列出檔案文件的內(nèi)容端礼,查看已經(jīng)備份了哪些文件窝爪。 -
u
更新文件。就是說齐媒,用新增的文件取代原備份文件蒲每,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后喻括。 -
x
從檔案文件中釋放文件邀杏。
輔助選項:
-
b
該選項是為磁帶機設(shè)定的。其后跟一數(shù)字唬血,用來說明區(qū)塊的大小望蜡,系統(tǒng)預(yù)設(shè)值為20(20*512 bytes)。 -
f
使用檔案文件或設(shè)備拷恨,這個選項通常是必選的脖律。 -
k
保存已經(jīng)存在的文件。例如我們把某個文件還原腕侄,在還原的過程中小泉,遇到相同的文件,不會進行覆蓋冕杠。 -
m
在還原文件時微姊,把所有文件的修改時間設(shè)定為現(xiàn)在。 -
M
創(chuàng)建多卷的檔案文件分预,以便在幾個磁盤中存放兢交。 -
v
詳細(xì)報告tar處理的文件信息。如無此選項笼痹,tar不報告文件信息配喳。 -
w
每一步都要求確認(rèn)。 -
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備份文件的內(nèi)容,并以分屏方式顯示在顯示器上赞别。
$ tar tvf usr.tar | more
要將文件備份到一個特定的設(shè)備畏陕,只需把設(shè)備名作為備份文件名。
例5:
用戶在/dev/fd0設(shè)備的軟盤中創(chuàng)建一個備份文件仿滔,并將/home 目錄中所有的文件都拷貝到備份文件中惠毁。
$ tar cf /dev/fd0 /home
要恢復(fù)設(shè)備磁盤中的文件,可使用xf選項:
$ tar xf /dev/fd0
如果用戶備份的文件大小超過設(shè)備可用的存貯空間崎页,如軟盤鞠绰,您可以創(chuàng)建一個多卷的tar備份文件。M
選項指示tar命令提示您使用一個新的存貯設(shè)備飒焦,當(dāng)使用M選項向一個軟驅(qū)進行存檔時蜈膨,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就可以把tar檔案存入幾張磁盤中牺荠。
$ tar cMf /dev/fd0 /home
要恢復(fù)幾張盤中的檔案翁巍,只要將第一張放入軟驅(qū),然后輸入有x和M選項的tar命令休雌。在必要時您會被提醒放入另外一張軟盤灶壶。
$ tar xMf /dev/fd0
gzip命令
減少文件大小有兩個明顯的好處,一是可以減少存儲空間杈曲,二是通過網(wǎng)絡(luò)傳輸文件時驰凛,可以減少傳輸?shù)臅r間。gzip是在Linux系統(tǒng)中經(jīng)常使用的一個對文件進行壓縮和解壓縮的命令鱼蝉,既方便又好用洒嗤。
語法:gzip [選項] 壓縮(解壓縮)的文件名
各選項的含義:
-
-c
將輸出寫到標(biāo)準(zhǔn)輸出上,并保留原有文件魁亦。 -
-d
將壓縮文件解壓。 -
-l
對每個壓縮文件羔挡,顯示下列字段:
壓縮文件的大小
未壓縮文件的大小
壓縮比
未壓縮文件的名字 -
-r
遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮洁奈。 -
-t
測試,檢查壓縮文件是否完整绞灼。 -
-v
對每一個壓縮和解壓的文件利术,顯示文件名和壓縮比。 -
-num
用指定的數(shù)字num調(diào)整壓縮的速度低矮,-1或--fast表示最快壓縮方法(低壓縮比)印叁,-9或--best表示最慢壓縮方法(高壓縮比)。系統(tǒng)缺省值為6。
假設(shè)一個目錄/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中每個壓縮的文件解壓率触,并列出詳細(xì)的信息。
$ 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:
詳細(xì)顯示例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系統(tǒng)下展開呢两曼?可以用unzip命令,該命令用于解擴展名為.zip的壓縮文件玻驻。
語法:unzip [選項] 壓縮文件名.zip
各選項的含義分別為:
-
-x
文件列表 解壓縮文件悼凑,但不包括指定的file文件。 -
-v
查看壓縮文件目錄击狮,但不解壓佛析。 -
-t
測試文件有無損壞,但不解壓彪蓬。 -
-d
目錄 把壓縮文件解到指定目錄下寸莫。 -
-z
只顯示壓縮文件的注解。 -
-n
不覆蓋已經(jīng)存在的文件档冬。 -
-o
覆蓋已存在的文件且不要求用戶確認(rèn)膘茎。 -
-j
不重建文檔的目錄結(jié)構(gòu),把所有文件解壓到同一目錄下酷誓。
例1:
將壓縮文件text.zip在當(dāng)前目錄下解壓縮披坏。
$ unzip text.zip
例2:
將壓縮文件text.zip在指定目錄/tmp下解壓縮,如果已有相同的文件存在盐数,要求unzip命令不覆蓋原先的文件棒拂。
$ unzip -n text.zip -d /tmp
例3:
查看壓縮文件目錄,但不解壓玫氢。
$ unzip -v text.zip
zgrep命令
這個命令的功能是在壓縮文件中尋找匹配的正則表達式帚屉,用法和grep命令一樣,只不過操作的對象是壓縮文件漾峡。如果用戶想看看在某個壓縮文件中有沒有某一句話攻旦,便可用zgrep命令。