歡迎您光臨本站 註冊首頁

手把手教你Linux下的文件管理(一)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

我的十大IT傑出博客參賽主頁是:http://2010blog.51cto.com/1060257,請各位支持我,給我投上寶貴一票,謝謝!

隨著Linux開源系統平台的不斷發展,越來越多的開源軟體可以提供給Linux用戶使用,這樣,也是的更多的文件“吞噬”著硬碟空間.作為一種優秀的開源操作系統,如何高效地管理系統中的軟體是一個很重要的問題.Linux提供了多種方法,用戶可以根據實際情況方便地對軟體進行管理.比如,它提供了對文件打包的功能,用戶可以使用其將若干文件或目錄打成一個軟體包;同時,它也提供了多種文件壓縮工具,是的用戶可以對某些文件進行壓縮,以減小文件佔用的硬碟空間或方便網路傳輸.本文將通過例子來介紹如何合理地利用這些方法來管理Linux系統中的軟體.

一、Linux下的TAR包管理

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

1、TAR命令語法及參數選項

TAR命令使用語法如下:

tar [主選項 輔選項] 文件或者目錄

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

  1. -A,--catenate,--concatenate :將若干個tar文件合併成一個tar文件
  2. -c,--create :創建一個新的tar文件
  3. -d,--diff,--compare:比較tar文件或文件系統的不同之處
  4. --delete:從tar文件中刪除文件,但不能磁帶文件刪除

  5. -r,--append:在tar文件尾部追加文件
  6. -t,--list:顯示tar文件內容
  7. -u,--update:更新tar文件
  8. -x,--extract,--get:從tar文件中取出文件

每次使用tar命令時,上述8個命令參數選項必須選擇一個,用以指明操作類型.

2、創建tar文件

創建一個tar文件要使用主參數選項c,並指明創建tar文件的文件名.下面假設當前目錄下有smart和xplns兩個子目錄以及cpuinfo.txt,smart.txt,tar.txt ,tar_create.txt四個文件,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三個文件.用ll –r命令顯示當前目錄下文件信息如下:

   #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文件,可以使用如下命令:

   //參數c指明創建tar,參數f指明是創建文件,參數v指明顯示處理詳細過程   # 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       //顯示當前目錄下所有文件,從顯示結果可以發現,當前目錄下多了一個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文件內容

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

   # 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文件中添加一個文件

欲向已存在的一個tar文件中添加一個文件或目錄,可以使用帶-r主選項參數的tar命令.例如欲向上面所述產生的gong.tar文件中添加tar_t.txt文件,可以使用如下步驟:

(1)在文件gong.tar圖標上右鍵單擊滑鼠,系統顯示快捷菜單.

(2)單擊【添加到壓縮文件】菜單項,系統將顯示【添加文件或文件夾】對話框,在對話框中輸入欲加入的文件或文件夾,或者單擊【瀏覽(B)】按鈕選擇某個文件或文件夾,若選中【僅添加新文件(N)】複選框,則當添加的文件或文件夾在tar文件中已經存在時,系統並不加入該文件或文件夾.單擊【增加(A)】按鈕即可完成添加工作.

5、從tar文件中取出文件

在已經存在的tar文件中解包,可以使用帶主選項參數-x的tar命令實現.下面以gong.tar文件為例,說明帶主選項參數-x的tar命令的用法.

   //顯示當前目錄下文件列表,由顯示結果可見,當前目錄下只有一個文件gong.tar.   #ll   總用量 3280   -rwx------    1 root     root      6717440  10月 12 21:12 gong.tar   //對當前目錄下gong.tar文件解包   #tar –x gong.tar   //再顯示解包后當前目錄下所有文件,由顯示結果可以看出,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        

二、Linux下常用的壓縮工具

對文件進行壓縮的目的有兩個:一是可以減少存儲空間,二是通過網路傳輸文件時,可以減少傳輸的網路開銷.Linux下的壓縮工具有很多,下面列出Linux下常用的壓縮工具及其產生文件的後綴:

  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 [選項] 壓縮或解壓縮的文件名.

該命令的主要參數選項有:

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

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

   //顯示當前目錄先所有文件   #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       //壓縮當前目錄下的所有文件,並且顯示壓縮比,顯示已經替代原來的文件   #gzip -v *   //-v參數表明顯示壓縮比和文件名   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       //再顯示當前目錄所有文件,可以發現所有文件都壓縮成了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只能對單個文件壓縮,不能像Winzip和Winrar一樣,可以將多個文件壓縮成一個.zip文件或.rar文件.正如此,Linux才提供了tar命令,用於將若干文件或文件夾打包成一個文件,然後再壓縮成一個.gz文件.

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

   //對當前目錄下所有壓縮的文件解壓,並列出詳細的信息.   #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       //再顯示當前目錄下的所有文件,從顯示結果看出,所有的.gz壓縮文件都已經解壓縮了   #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)顯示壓縮文件的內容信息:可以用帶-l參數的gzip命令顯示gz文件的內容.這只是顯示文件內容,並不實際解壓縮文件.

   # 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命令,從而直接將若干文件或文件夾處理成一個.tar.gz文件.在這個處理過程中,系統先將若干文件或文件夾打包成.tar,然後將生成的.tar文件壓縮成.tar.gz文件.先舉例如下:

   //將當前目錄下所有文件打包並壓縮成gong.tar.gz並顯示處理進度   # tar cvfz gong.tar.gz  ./*   ./smart.txt   ./tar_create.txt   ./tar.txt       //再顯示當前目錄下所有文件,從顯示結果可以看出,已經產生了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        

本文出自 「卓越始於足下」 博客,謝絕轉載!


[火星人 ] 手把手教你Linux下的文件管理(一)已經有464次圍觀

http://coctec.com/docs/linux/show-post-49788.html