我的十大IT傑出博客參賽主頁是:http://2010blog.51cto.com/1060257,請各位支持我,給我投上寶貴一票,謝謝!
隨著Linux開源系統平台的不斷發展,越來越多的開源軟體可以提供給Linux用戶使用,這樣,也是的更多的文件“吞噬”著硬碟空間.作為一種優秀的開源操作系統,如何高效地管理系統中的軟體是一個很重要的問題.Linux提供了多種方法,用戶可以根據實際情況方便地對軟體進行管理.比如,它提供了對文件打包的功能,用戶可以使用其將若干文件或目錄打成一個軟體包;同時,它也提供了多種文件壓縮工具,是的用戶可以對某些文件進行壓縮,以減小文件佔用的硬碟空間或方便網路傳輸.本文將通過例子來介紹如何合理地利用這些方法來管理Linux系統中的軟體.
TAR命令是在Linux下最常用的文件打包工具,可以將若干文件或若干目錄下打包成一個文件,既有利於文件管理,也方便壓縮和文件的網路傳輸.TAR可以為文件和目錄創建檔案.利用TAR,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件.
1、TAR命令語法及參數選項
TAR命令使用語法如下:
tar [主選項 輔選項] 文件或者目錄
其中,主選項是必需的,表明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下壓縮工具中最常用的包括gzip、zip和bzip2三種,下面分別講述這三種最常用的壓縮工具.
gzip是Linux最常用的軟體壓縮工具,在Linux終端輸入man gzip命令降顯示gzip的幫助文檔.
該命令的使用形式為:gzip [選項] 壓縮或解壓縮的文件名.
該命令的主要參數選項有:
(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次圍觀