自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何合理的進(jìn)行Linux下的文件管理

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維
Linux提供了對文件打包的功能,用戶可以使用其將若干文件或目錄打成一個(gè)軟件包;也提供了多種文件壓縮工具,用戶可以對文件進(jìn)行壓縮,以減小文件占用的硬盤空間或方便網(wǎng)絡(luò)傳輸。本文將通過例子來介紹如何合理地利用這些方法來管理Linux系統(tǒng)中的軟件。

【51CTO獨(dú)家特稿】隨著Linux開源系統(tǒng)平臺(tái)的不斷發(fā)展,越來越多的開源軟件可以提供給Linux用戶使用,這樣,也使得更多的文件“吞噬”著硬盤空間。作為一種優(yōu)秀的開源操作系統(tǒng),如何高效地管理系統(tǒng)中的軟件是一個(gè)很重要的問題。Linux提供了多種方法,用戶可以根據(jù)實(shí)際情況方便地對軟件進(jìn)行管理。比如,它提供了對文件打包的功能,用戶可以使用其將若干文件或目錄打成一個(gè)軟件包;同時(shí),它也提供了多種文件壓縮工具,使得用戶可以對某些文件進(jìn)行壓縮,以減小文件占用的硬盤空間或方便網(wǎng)絡(luò)傳輸。本文將通過例子來介紹如何合理地利用這些方法來管理Linux系統(tǒng)中的軟件。

作者介紹:李洋,博士畢業(yè)于中科院計(jì)算所。10多年來一直從事計(jì)算機(jī)網(wǎng)絡(luò)信息安全研發(fā)工作,曾主持和參與多項(xiàng)國家重點(diǎn)項(xiàng)目以及信息安全系統(tǒng)和企業(yè)信息安全系統(tǒng)的研發(fā)工作。具有Linux系統(tǒng)應(yīng)用、管理、安全及內(nèi)核的研發(fā)經(jīng)驗(yàn),擅長網(wǎng)絡(luò)安全技術(shù)、協(xié)議分析、Linux系統(tǒng)安全技術(shù)、Linux系統(tǒng)及網(wǎng)絡(luò)管理、Linux內(nèi)核開發(fā)等。

作者的博客:http://patterson.blog.51cto.com/。

一、Linux下的TAR包管理

TAR命令是在Linux下最常用的文件打包工具,可以將若干文件或若干目錄下打包成一個(gè)文件,既有利于文件管理,也方便壓縮和文件的網(wǎng)絡(luò)傳輸。TAR可以為文件和目錄創(chuàng)建檔案。利用TAR,用戶可以為某一特定文件創(chuàng)建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。

1、TAR命令語法及參數(shù)選項(xiàng)

TAR命令使用語法如下:

tar [主選項(xiàng)+輔選項(xiàng)] 文件或者目錄

其中,主選項(xiàng)是必需的,表明tar命令要完成的操作,輔選項(xiàng)是輔助使用的,可以有也可以沒有。下面列出常用的主選項(xiàng),并簡要說明其功能。

  1. -A,--catenate,--concatenate :將若干個(gè)tar文件合并成一個(gè)tar文件
  2. -c,--create :創(chuàng)建一個(gè)新的tar文件
  3. -d,--diff,--compare:比較tar文件或文件系統(tǒng)的不同之處
  4. --delete:從tar文件中刪除文件,但不能磁帶文件刪除
  5. -r,--append:在tar文件尾部追加文件
  6. -t,--list:顯示tar文件內(nèi)容
  7. -u,--update:更新tar文件
  8. -x,--extract,--get:從tar文件中取出文件

每次使用tar命令時(shí),上述8個(gè)命令參數(shù)選項(xiàng)必須選擇一個(gè),用以指明操作類型。

2、創(chuàng)建tar文件

創(chuàng)建一個(gè)tar文件要使用主參數(shù)選項(xiàng)c,并指明創(chuàng)建tar文件的文件名。下面假設(shè)當(dāng)前目錄下有smart和xplns兩個(gè)子目錄以及cpuinfo.txt,smart.txt,tar.txt ,tar_create.txt四個(gè)文件,smart目錄下有smartsuite-2.1-2.i386.rpm文件,xplns目錄下有xplns-cat-3.3.1-1.i386.rpm,xplns-elm-3.3.1-1.i386.rpm和xplns-img-3.3.1-1.i386.rpm三個(gè)文件。用ll –r命令顯示當(dāng)前目錄下文件信息如下:

#ll -r ./*
-rwx------1 root     root     7433  10月 12 21:25 ./tar.txt
-rwx------1 root     root      226  10月 12 21:25 ./tar_create.txt
-rwx------1 root     root       26  10月 12 21:25 ./smart.txt
-rwx------1 root     root       26  10月 12 21:25 ./cpuinfo.txt
 
./xplns:
總用量 1613
-rwx------1 root    root    793828  10月 12 21:26 xplns-img-3.3.1-1.i386.rpm
-rwx------1 root    root    572471  10月 12 21:26 xplns-elm-3.3.1-1.i386.rpm
-rwx------1 root    root   1933576  10月 12 21:26 xplns-cat-3.3.1-1.i386.rpm
 
./smart:
總用量 17
-rwx------1 root     root   34475  10月 12 21:25 smartsuite-2.1-2.i386.rpm

若要在該目錄下將所有文件打包成gong.tar文件,可以使用如下命令:

//參數(shù)c指明創(chuàng)建tar,參數(shù)f指明是創(chuàng)建文件,參數(shù)v指明顯示處理詳細(xì)過程
# tar cvf gong.tar ./*
./cpuinfo.txt
./smart/
./smart/smartsuite-2.1-2.i386.rpm
./smart.txt
./tar_create.txt
./tar.txt
./xplns/
./xplns/xplns-cat-3.3.1-1.i386.rpm
./xplns/xplns-elm-3.3.1-1.i386.rpm
./xplns/xplns-img-3.3.1-1.i386.rpm
 
//顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以發(fā)現(xiàn),當(dāng)前目錄下多了一個(gè)gong.tar文件,就是由剛才tar命令生成的
#ll
總用量 4927
-rwx------    1 root     root      3358720  10月 12 19:35 cpuinfo.txt
-rwx------    1 root     root      6717440  10月 12 19:36 gong.tar
drwx------    1 root     root            0   10月  8 21:37 smart
-rwx------    1 root     root           26   10月  8 21:37 smart.txt
-rwx------    1 root     root          226   10月 12 19:32 tar_create.txt
-rwx------    1 root     root         7433   10月 12 17:13 tar.txt
drwx------    1 root     root         4096   10月 12 19:34 xplns

3、顯示tar文件內(nèi)容

對于一個(gè)已存在的tar文件,用戶可能想了解其內(nèi)容是由哪些文件和目錄打包而來的,這就要用帶t參數(shù)的tar命令。例如對于上述產(chǎn)生的gong.tar文件,若欲顯示其文件內(nèi)容,可使用如下命令:

# tar tf gong.tar
./cpuinfo.txt
./smart/
./smart/smartsuite-2.1-2.i386.rpm
./smart.txt
./tar_create.txt
./tar.txt
./xplns/
./xplns/xplns-cat-3.3.1-1.i386.rpm
./xplns/xplns-elm-3.3.1-1.i386.rpm
./xplns/xplns-img-3.3.1-1.i386.rpm

4、向tar文件中添加一個(gè)文件

欲向已存在的一個(gè)tar文件中添加一個(gè)文件或目錄,可以使用帶-r主選項(xiàng)參數(shù)的tar命令。例如欲向上面所述產(chǎn)生的gong.tar文件中添加tar_t.txt文件,可以使用如下步驟:

(1)在文件gong.tar圖標(biāo)上右鍵單擊鼠標(biāo),系統(tǒng)顯示快捷菜單。

(2)單擊【添加到壓縮文件】菜單項(xiàng),系統(tǒng)將顯示【添加文件或文件夾】對話框,在對話框中輸入欲加入的文件或文件夾,或者單擊【瀏覽(B)】按鈕選擇某個(gè)文件或文件夾,若選中【僅添加新文件(N)】復(fù)選框,則當(dāng)添加的文件或文件夾在tar文件中已經(jīng)存在時(shí),系統(tǒng)并不加入該文件或文件夾。單擊【增加(A)】按鈕即可完成添加工作。

5、從tar文件中取出文件

在已經(jīng)存在的tar文件中解包,可以使用帶主選項(xiàng)參數(shù)-x的tar命令實(shí)現(xiàn)。下面以gong.tar文件為例,說明帶主選項(xiàng)參數(shù)-x的tar命令的用法。

//首先顯示當(dāng)前目錄下文件列表,由顯示結(jié)果可見,當(dāng)前目錄下只有一個(gè)文件gong.tar。
#ll
總用量 3280
-rwx------    1 root     root      6717440  10月 12 21:12 gong.tar
//對當(dāng)前目錄下gong.tar文件解包
#tar –x gong.tar
//再顯示解包后當(dāng)前目錄下所有文件,由顯示結(jié)果可以看出,tar文件中所有文件均已解出
#ll
總用量 4927
-rwx------  1 root     root     3358720  10月 12 21:13 cpuinfo.txt
-rwx------  1 root     root     6717440  10月 12 21:12 gong.tar
drwx------  1 root     root           0   10月 12 21:13 smart
-rwx------  1 root     root          26   10月 12 21:13 smart.txt
-rwx------  1 root     root         226   10月 12 21:13 tar_create.txt
-rwx------  1 root     root        7433   10月 12 21:13 tar.txt
drwx------  1 root     root        4096   10月 12 21:13 xplns

#p#

二、Linux下常用的壓縮工具

對文件進(jìn)行壓縮的目的有兩個(gè):一是可以減少存儲(chǔ)空間,二是通過網(wǎng)絡(luò)傳輸文件時(shí),可以減少傳輸?shù)木W(wǎng)絡(luò)開銷。Linux下的壓縮工具有很多,下面列出Linux下常用的壓縮工具及其產(chǎn)生文件的后綴:

  1. gzip/gunzip:后綴名為.gz
  2. compress/uncompress:后綴名為.Z
  3. zip/unzip:后綴名為.zip
  4. bzip2/bunzip2:后綴名為.bz2
  5. lha:后綴名為.lzh

Linux下壓縮工具中最常用的包括gzip、zip和bzip2三種,下面分別講述這三種最常用的壓縮工具。

1、gzip壓縮工具

gzip是Linux最常用的軟件壓縮工具,在Linux終端輸入man gzip命令降顯示gzip的幫助文檔。

該命令的使用形式為:gzip [選項(xiàng)] 壓縮或解壓縮的文件名。

該命令的主要參數(shù)選項(xiàng)有:

  1. -c:將輸出寫到標(biāo)準(zhǔn)輸出上,并保留原有文件。
  2. -d:將壓縮文件解壓。
  3. -l:對每個(gè)壓縮文件,顯示字段:壓縮文件的大小,未壓縮文件的大小,壓縮比和未壓縮文件的名字。
  4. -r:遞歸地查找指定目錄并壓縮其中的所有文件或者是解壓縮。
  5. -t:測試,檢查壓縮文件是否完整。
  6. -v:對每一個(gè)壓縮和解壓的文件,顯示文件名和壓縮比。
  7. -num:用指定的數(shù)字num調(diào)整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統(tǒng)默認(rèn)值為6。

(1)用gzip壓縮文件:下面給出使用gzip命令壓縮文件的例子:

//顯示當(dāng)前目錄先所有文件
#ll
總用量 5
-rwx------    1 root     root           26  10月 13 22:16 smart.txt
-rwx------    1 root     root          226  10月 13 22:16 tar_create.txt
-rwx------    1 root     root         7433  10月 13 22:16 tar.txt
 
//壓縮當(dāng)前目錄下的所有文件,并且顯示壓縮比,顯示已經(jīng)替代原來的文件
#gzip -v *   //-v參數(shù)表明顯示壓縮比和文件名
smart.txt:         0.0% -- replaced with smart.txt.gz
tar_create.txt:  43.8% -- replaced with tar_create.txt.gz
tar.txt:          68.3% -- replaced with tar.txt.gz
 
//再顯示當(dāng)前目錄所有文件,可以發(fā)現(xiàn)所有文件都壓縮成了gz文件
#ll
總用量 3
-rwx------    1 root     root           54  10月 13 22:17 smart.txt.gz
-rwx------    1 root     root          160  10月 13 22:17 tar_create.txt.gz
-rwx------    1 root     root         2385  10月 13 22:17 tar.txt.gz

注意:gzip只能對單個(gè)文件壓縮,不能像Winzip和Winrar一樣,可以將多個(gè)文件壓縮成一個(gè).zip文件或.rar文件。正因?yàn)槿绱?,Linux才提供了tar命令,用于將若干文件或文件夾打包成一個(gè)文件,然后再壓縮成一個(gè).gz文件。

(2)用gzip解壓縮文件:下面給出用gzip解壓縮文件的例子:

//對當(dāng)前目錄下所有壓縮的文件解壓,并列出詳細(xì)的信息。
#gzip -dv *
smart.txt.gz:              0.0% -- replaced with smart.txt
tar_create.txt.gz:       43.8% -- replaced with tar_create.txt
tar.txt.gz:                68.3% -- replaced with tar.txt
 
//再顯示當(dāng)前目錄下的所有文件,從顯示結(jié)果看出,所有的.gz壓縮文件都已經(jīng)解壓縮了
#ll
總用量 5
-rwx------    1 root     root           26  10月 13 22:22 smart.txt
-rwx------    1 root     root          226  10月 13 22:22 tar_create.txt
-rwx------    1 root     root         7433  10月 13 22:22 tar.txt

(3)顯示壓縮文件的內(nèi)容信息:可以用帶-l參數(shù)的gzip命令顯示gz文件的內(nèi)容。這只是顯示文件內(nèi)容,并不實(shí)際解壓縮文件。

# gzip -l *
compressed        uncompressed  ratio   uncompressed_name
    54                  26          0.0%      smart.txt
    160                 226        43.8%     tar_create.txt
   2385                7433        68.3%     tar.txt
   2599                7685        66.5%    (totals)

(4)在tar命令中嵌入壓縮命令:在tar命令中就可以直接嵌入gzip命令,從而直接將若干文件或文件夾處理成一個(gè).tar.gz文件。在這個(gè)處理過程中,系統(tǒng)先將若干文件或文件夾打包成.tar,然后將生成的.tar文件壓縮成.tar.gz文件。先舉例如下:

//將當(dāng)前目錄下所有文件打包并壓縮成gong.tar.gz并顯示處理進(jìn)度
# tar cvfz gong.tar.gz  ./*
./smart.txt
./tar_create.txt
./tar.txt
 
//再顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以看出,已經(jīng)產(chǎn)生了gong.tar.gz文件
#ll
總用量 7
-rwx------    1 root     root         2704  10月 13 22:59 gong.tar.gz
-rwx------    1 root     root           26  10月 13 22:51 smart.txt
-rwx------    1 root     root          226  10月 13 22:51 tar_create.txt
-rwx------    1 root     root         7433  10月 13 22:51 tar.txt

#p#

2、zip/unzip命令

zip程序位于/usr/bin目錄中,可將文件壓縮成.zip文件以節(jié)省硬盤空間,而當(dāng)需要的時(shí)候又可將壓縮文件解開。unzip命令用于將壓縮文件解壓。

(1)用zip命令壓縮文件或文件夾

在Linux下輸入man zip,系統(tǒng)顯示zip的幫助文檔。

zip命令的使用形式為:zip [選項(xiàng)] 壓縮后文件名 待壓縮文件或文件夾。

其中:參數(shù)選項(xiàng)表明要完成的操作類型,壓縮后的文件名是某個(gè)合法的文件名,其后綴為zip,待壓縮文件或文件夾指明須要進(jìn)行壓縮的文件或文件夾,可以是多個(gè)文件或文件夾。zip命令的參數(shù)選項(xiàng)如下:

  1. -1:最快壓縮,壓縮率最差。
  2. -9:最大壓縮,壓縮率最佳。
  3. -b:暫存文件的路徑。該參數(shù)常用于zip文件存在而硬盤現(xiàn)有空間不足時(shí)。
  4. -c:替新增或更新的文件增加一行注解。
  5. -d:從zip文件移出一個(gè)文件。
  6. -D:不要在zip文件中儲(chǔ)存文件的目錄信息。
  7. -f:以新文件取代現(xiàn)有文件。
  8. -F:修復(fù)已經(jīng)損毀的壓縮文件。
  9. -g:將文件壓縮附加到zip文件中。
  10. -h:顯示輔助說明。
  11. -i:指定要加入的某些特定文件。
  12. -j:只儲(chǔ)存文件的名稱,不含目錄。
  13. -m:將特定文件移入zip文件中,并且刪除特定文件。
  14. -n:不壓縮特定擴(kuò)展名的文件。
  15. -o:將zip文件的時(shí)間設(shè)成最后修正zip文件的時(shí)間。
  16. -q:安靜模式,不會(huì)顯示相關(guān)訊息和提示。
  17. -r:包括子目錄。
  18. -t:只處理mmddyy日期以后的文件。
  19. -T:測試zip文件是否正常。
  20. -u:只更新改變過的文件和新文件。
  21. -v:顯示版本信息或詳細(xì)資料。
  22. -x:不須要壓縮的文件。
  23. -y:將symbolic link壓縮,而不是壓縮所連結(jié)到的文件。
  24. -z:為zip文件增加注解。
  25. -#:設(shè)定壓縮速度。-0表示不壓縮,-1表示最快速度的壓縮,-9表示最慢速度的壓縮(最佳化的壓縮)。預(yù)設(shè)值為-6。
  26. ? -@:從標(biāo)準(zhǔn)輸入讀取文件名稱。

注意:使用zip命令可以將許多文件壓縮成一個(gè)文件,這與gzip是有區(qū)別的。

下面給出使用該命令壓縮文件或文件夾的例子:

//顯示當(dāng)前目錄下所有文件和文件夾
#ll
總用量 9
drwx------    1 root     root         4096  10月 15 19:45 gzip
drwx------    1 root     root            0  10月 12 21:25 smart
-rwx------    1 root     root           26  10月 13 22:51 smart.txt
-rwx------    1 root     root          226  10月 13 22:51 tar_create.txt
-rwx------    1 root     root         7433  10月 13 22:51 tar.txt
drwx------    1 root     root         4096  10月 13 22:13 xplns
 
//將當(dāng)前目錄下的所有文件和文件夾全部壓縮成gong.zip壓縮文件,-r表示遞歸壓縮子目錄下所有文件
# zip -r gong.zip ./*
adding: gzip/ (stored 0%)
adding: gzip/gong.tar.gz (stored 0%)
adding: smart/ (stored 0%)
adding: smart/smartsuite-2.1-2.i386.rpm (deflated 5%)
adding: smart.txt (stored 0%)
adding: tar_create.txt (deflated 44%)
adding: tar.txt (deflated 68%)
adding: xplns/ (stored 0%)
adding: xplns/xplns-cat-3.3.1-1.i386.rpm.gz (deflated 0%)
adding: xplns/xplns-elm-3.3.1-1.i386.rpm.gz (deflated 0%)
adding: xplns/xplns-img-3.3.1-1.i386.rpm.gz (deflated 0%)
 
//再顯示當(dāng)前目錄下所有文件,可以發(fā)現(xiàn)壓縮文件gong.zip已經(jīng)生成
#ll
總用量 1621
-rwx------1 root  root  3301222 10月 15 19:49 gong.zip
drwx------1 root  root  4096 10月 15 19:45 gzip
drwx------1 root  root     0  10月 12 21:25 smart
-rwx------1 root  root    26  10月 13 22:51 smart.txt
-rwx------1 root  root   226  10月 13 22:51 tar_create.txt
-rwx------1 root  root  7433 10月 13 22:51 tar.txt
drwx------1 root  root  4096 10月 13 22:13 xplns

用帶-v參數(shù)選項(xiàng)可以查看zip文件的內(nèi)容,這點(diǎn)類似于帶t參數(shù)選項(xiàng)的tar命令。只不過前者用于顯示壓縮的zip文件的內(nèi)容,后者用于顯示tar文件的內(nèi)容。與帶t參數(shù)選項(xiàng)的tar命令類似,帶v參數(shù)選項(xiàng)的zip命令實(shí)際上并不解壓縮文件。用帶-v參數(shù)選項(xiàng)的zip命令舉例如下:

//顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以看出,當(dāng)前目錄下只有一個(gè)gong.zip文件
# ll 
總用量 1612
-rwx------    1 root     root      3301222  10月 15 19:49 gong.zip
 
//查看gong.zip文件的內(nèi)容
# zip -v gong.zip
zip info: local extra (21 bytes) != central extra (13 bytes): gzip/
zip info: local extra (21 bytes) != central extra (13 bytes): gzip/gong.tar.gz
zip info: local extra (21 bytes) != central extra (13 bytes): smart/
zip info: local extra (21 bytes) != central extra (13 bytes): smart.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar.txt
zip info: local extra (21 bytes) != central extra (13 bytes): xplns/

用帶-d參數(shù)選項(xiàng)的zip命令可以從zip壓縮文件中刪除某個(gè)文件,而使用帶-m的zip命令可以向zip壓縮文件添加某個(gè)文件,對帶-d和-m參數(shù)選項(xiàng)的zip命令舉例如下:

# zip -v gong.zip    //顯示壓縮文件gong.zip的文件內(nèi)容
zip info: local extra (21 bytes) != central extra (13 bytes): free.txt
zip info: local extra (21 bytes) != central extra (13 bytes): smart.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar.txt
 
//刪除壓縮文件中smart.txt文件
# zip -d gong.zip smart.txt
deleting: smart.txt
 
//再顯示壓縮文件內(nèi)容,可以發(fā)現(xiàn)文件刪除成功
# zip -v gong.zip
zip info: local extra (21 bytes) != central extra (13 bytes): free.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar.txt
 
//向壓縮文件中g(shù)ong.zip中添加rpm_info.txt文件
# zip -m gong.zip ./rpm_info.txt
 adding: rpm_info.txt (deflated 75%)
 
//再顯示壓縮文件內(nèi)容,可以發(fā)現(xiàn)文件添加成功
# zip -v gong.zip
zip info: local extra (21 bytes) != central extra (13 bytes): free.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar_create.txt
zip info: local extra (21 bytes) != central extra (13 bytes): tar.txt
zip info: local extra (21 bytes) != central extra (13 bytes): rpm_info.txt

(2)用unzip命令解壓縮文件

unzip命令用于擴(kuò)展名為zip的壓縮文件的解壓縮,同時(shí),Windows下用壓縮軟件Winzip壓縮的文件在Linux系統(tǒng)下也可以用unzip命令解壓縮。unzip命令的語法如下:

unzip [參數(shù)選項(xiàng)] 壓縮文件名.zip。

所有參數(shù)選項(xiàng)如下:

  1. -x:文件列表:解壓縮文件,但不包括指定的file文件。
  2. -v:查看壓縮文件目錄,但不解壓縮。
  3. -t:測試文件有無損壞,但不解壓縮。
  4. -d:目錄:把壓縮文件解壓縮到指定目錄下。
  5. -z:只顯示壓縮文件的注解。
  6. -n:不覆蓋已經(jīng)存在的文件。
  7. -o:覆蓋已存在的文件且不要求用戶確認(rèn)。
  8. -j:不重建文檔的目錄結(jié)構(gòu),把所有文件解壓縮到同一目錄下。

unzip命令的常用用法有:

簡單解壓縮文件:將壓縮文件解壓縮到當(dāng)前目錄下。

//顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以發(fā)現(xiàn)當(dāng)前目錄下只有一個(gè)文件gong.zip
# ll
總用量 7
-rwx------    1 root     root        13512  10月 15 20:44 gong.zip
 
//將gong.zip解壓縮到當(dāng)前目錄
# unzip gong.zip
Archive:  gong.zip
inflating: free.txt
inflating: tar_create.txt
inflating: tar.txt
inflating: rpm_info.txt
 
//再顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以發(fā)現(xiàn),gong.zip壓縮文件中所有文件已經(jīng)成功解壓縮到當(dāng)前目錄
# ll
總用量 32
-rwx------    1 root     root          230  10月 15 21:03 free.txt
-rwx------    1 root     root        13512  10月 15 20:44 gong.zip
-rwx------    1 root     root        40833  10月 15 21:03 rpm_info.txt
-rwx------    1 root     root          226  10月 15 21:03 tar_create.txt
-rwx------    1 root     root         7433  10月 15 21:03 tar.txt

解壓縮文件到指定目錄:將壓縮文件解壓縮到指定的目錄下,如果已有相同的文件存在,unzip命令不覆蓋原來的文件。

//解壓縮當(dāng)前目錄下的text.zip壓縮文件,-n參數(shù)選項(xiàng)指明不覆蓋原有文件,-d /tmp指明將文件解壓縮到/tmp目錄下
#unzip -n text.zip -d /tmp 
//查看壓縮文件目錄:類似于帶-v參數(shù)的zip命令,只顯示壓縮文件內(nèi)容,并不實(shí)際解壓縮文件。
#unzip -v text.zip  //顯示當(dāng)前目錄下text.zip壓縮文件內(nèi)容

#p#

3、bzip2命令

bzip2是一個(gè)無損壓縮軟件,具有高質(zhì)量的數(shù)據(jù)壓縮能力。它能將文件壓縮到原來的10%到15%,而且壓縮速度和解壓縮速度都非常高,因此在Linux下得到廣泛使用。

bzip2從命令行讀入文件名和參數(shù),每個(gè)文件都被名為“原始文件名.bz2”的壓縮文件替換。每個(gè)壓縮文件具有與原文件相同的修改時(shí)間和權(quán)限,如果可能的話,還具有相同的屬主,因此在解壓縮時(shí)這些特性將正確地恢復(fù)。

(1)bzip2命令參數(shù)選項(xiàng)

  1. -c:將數(shù)據(jù)壓縮或解壓縮至標(biāo)準(zhǔn)輸出。
  2. -d:強(qiáng)制解壓縮。bzip2、bunzip2和bzcat實(shí)際上是同一個(gè)程序,進(jìn)行何種操作將根據(jù)程序名確定。指定該選項(xiàng)后將不考慮這一機(jī)制,強(qiáng)制bzip2解壓縮。
  3. -z:和-d選項(xiàng)類似,強(qiáng)制進(jìn)行壓縮操作,而不管輸入的是哪個(gè)程序名。
  4. -t:檢查指定文件的完整性,但并不對其解壓縮。實(shí)際上將對數(shù)據(jù)進(jìn)行實(shí)驗(yàn)性的解壓縮操作,而不輸出結(jié)果。
  5. -f:強(qiáng)制覆蓋輸出文件。通常bzip2不會(huì)覆蓋已經(jīng)存在的文件。該選項(xiàng)還強(qiáng)制bzip2打破文件的硬鏈接,默認(rèn)情況下bzip2不會(huì)這么做。
  6. -k:在壓縮或解壓縮時(shí)保留輸入文件(不刪除這些文件)。
  7. ? -s:在壓縮、解壓縮及檢查時(shí)減少內(nèi)存用量。采用一種修正的算法進(jìn)行壓縮和測試,每個(gè)數(shù)據(jù)塊僅需要2.5個(gè)字節(jié)。這意味著任何文件都可以在2300k的內(nèi)存中進(jìn)行解壓縮,盡管速度只有通常情況下的一半。在壓縮時(shí),-s將選定200k的塊長度,內(nèi)存用量也限制在200k左右,代價(jià)是壓縮率會(huì)降低。總之,如果機(jī)器的內(nèi)存較少(8兆字節(jié)或更少),可對所有操作都采用-s選項(xiàng)。
  8. -q:壓制不重要的警告信息。屬于I/O錯(cuò)誤及其他嚴(yán)重事件的信息將不會(huì)被壓制。
  9. -v:詳盡模式--顯示每個(gè)被處理文件的壓縮率。命令行中更多的-v選項(xiàng)將增加詳細(xì)的程度,使bzip2顯示出許多主要用于診斷目的信息。
  10. -L:顯示軟件版本,許可證條款及條件。
  11. -1to-9:在壓縮時(shí)將塊長度設(shè)為100k、200k.、900k。對解壓縮沒有影響。

(2)用bzip2命令壓縮文件

//顯示當(dāng)前目錄下所有文件
# ll
總用量 32
-rwx------    1 root     root          230  10月 15 22:06 free.txt
-rwx------    1 root     root        13512  10月 15 22:06 gong.zip
-rwx------    1 root     root        40833  10月 15 22:06 rpm_info.txt
-rwx------    1 root     root          226  10月 15 22:06 tar_create.txt
-rwx------    1 root     root         7433  10月 15 22:06 tar.txt
 
//用bzip2命令壓縮當(dāng)前目錄下所有文件,用bunzip2 -z * 將獲得相同的效果
#bzip2 *
 
//再顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以看出,所有文件都壓縮成了原文件名加bz2后綴的形式
# ll
總用量 15
-rwx------    1 root     root          157  10月 15 22:06 free.txt.bz2
-rwx------    1 root     root        13824  10月 15 22:06 gong.zip.bz2
-rwx------    1 root     root         9366  10月 15 22:06 rpm_info.txt.bz2
-rwx------    1 root     root          165  10月 15 22:06 tar_create.txt.bz2
-rwx------    1 root     root         2326  10月 15 22:06 tar.txt.bz2

(3)用bunzip2命令解壓縮文件

//顯示當(dāng)前目錄下所有文件
# ll
總用量 15
-rwx------    1 root     root         230  10月 15 22:17 free.txt
-rwx------    1 root     root       13824  10月 15 22:17 gong.zip.bz2
-rwx------    1 root     root        9366  10月 15 22:17 rpm_info.txt.bz2
-rwx------    1 root     root         165  10月 15 22:17 tar_create.txt.bz2
-rwx------    1 root     root        2326  10月 15 22:17 tar.txt.bz2
 
//用bunzip2命令解壓縮當(dāng)前目錄下所有文件,其中有一個(gè)文件free.txt不是以bz2為后綴
//從顯示結(jié)果可以看出,對free.txt文件解壓縮時(shí)報(bào)錯(cuò)
# bunzip2 *
bunzip2: Can't guess original name for free.txt -- using free.txt.out
bunzip2: free.txt is not a bzip2 file.
 
//再顯示當(dāng)前目錄下所有文件,從顯示結(jié)果可以看出,所有bz2文件都解壓縮成功
# ll
總用量 32
-rwx------    1 root     root          230  10月 15 22:17 free.txt
-rwx------    1 root     root        13512  10月 15 22:18 gong.zip
-rwx------    1 root     root        40833  10月 15 22:18 rpm_info.txt
-rwx------    1 root     root          226  10月 15 22:18 tar_create.txt
-rwx------    1 root     root         7433  10月 15 22:18 tar.txt

【編輯推薦】

  1. Linux壓縮打包方法連載之一:tar命令
  2. Linux壓縮打包方法連載之二:gzip, zcat 命令
  3. Linux壓縮打包方法連載之三:bzip2, bzcat 命令
  4. Linux壓縮打包方法連載之四:compress 命令
  5. Linux壓縮打包方法連載之五:dd命令
  6. Linux壓縮打包方法連載之六:cpio 命令

 

責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2015-05-18 09:54:39

2010-03-26 15:14:20

Linux系統(tǒng)環(huán)境

2021-06-10 09:05:43

Linux命令大文件切割

2009-10-14 14:22:36

綜合布線系統(tǒng)

2019-10-21 08:56:36

Linux日志文件拆分

2014-08-01 15:38:37

Linux進(jìn)程管理

2018-05-09 16:37:45

LinuxPDF文件解除密碼

2012-05-10 10:10:19

Linuxfdisk

2021-02-03 10:43:54

Linux系統(tǒng)磁盤

2018-09-17 11:12:14

Linux文件管理器加密文件

2010-01-26 11:06:50

C++開發(fā)

2022-10-11 16:09:27

系統(tǒng)Linux管理器

2025-04-10 01:11:00

2014-02-12 10:58:05

Linux文件夾文件權(quán)限

2020-10-12 07:44:20

Linux舊文件tmpwatch

2023-12-13 13:47:00

Linux重組文件

2017-03-08 16:05:19

Linux文件輸入輸出

2012-05-10 13:49:44

Linux文件系統(tǒng)

2022-08-11 07:07:46

系統(tǒng)Linux日志

2011-06-28 14:02:49

表分區(qū)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號