Unix平臺下的常用命令技巧之 tar包、壓縮與解壓縮

在Unix下常遇到一些解包、壓包的問題。一般情況下將若干文件或文件夾打成tar包,是爲了便於文件的傳輸和管理。例如,通過FTP從Unix平臺下載目錄結構較多的文件夾到Windows平臺或另外一Unix平臺,雖然文件夾不是太大,但由於每個文件很小,且非常多,每個文件都要進行文件頭、尾檢查校驗。下載速度會非常慢。如果打成tar包,傳輸就會快很多。存檔的文件夾打成tar包也容易管理。
值得注意的是:tar文件只是將文件或文件夾打包,並沒有進行壓縮。如果文本文件較多,對其壓縮會節省很大的磁盤空間,傳輸將更快。壓縮和解壓縮方法可以參考下文給出的示例。
下面我以Sun Solaris 5.8(其他unix如linux、aix大體相同)爲例,就常見的一些問題向各位同仁作一下介紹,供大家在工作中參考。因水平有限,僅做拋磚引玉,歡迎大家積極補充。
 
 
 
 
1、如何解開.tgz或.tar.gz文件?
2、如何解開.z或.Z文件?
3、如何解開.tar.Z文件?
4、如何安裝、卸載、列出rpm包信息?(linux常用)
5、如何使用tar命令測試、展開、生成tgz包?
6、如何解開和生成tar文件?
7、如何象在PC上的ARJ那樣的分解打包軟件?
8、在Unix下如何壓縮文件?
9、如何解開和生成其他包如.jar文件?
10、拋磚引玉,待同仁補充
 
============================================================
1、如何才能解開.tgz或.tar.gz文件?
 
1)方法一:
gzip -d filename.tar.gz   或 gzip -d filename.tgz
tar -xvf filename.tar
2)方法二:
解壓並列表:
gzip -dc filename.tgz | tar xvf -           #解.tgz文件
gzip -dc filename.tar.gz | tar xvf -               #.tar.gz 同 .tgz文件
只列表不生成文件:
gzip -dc filename.tgz | tar tvf -                        #解.tgz文件
gzip -dc filename.tar.gz | tar tvf -                 #.tar.gz 同 .tgz文件
gzip的其他使用方法參見gzip -h
============================================================
2、如何才能解開.z或.Z文件?
 
1)解.z 文件: gzcat filename.z
2)解.Z 文件:uncompress -c filename.Z
============================================================
3、如何解.tar.Z文件?
 
1)解壓並列表:
zcat filename.tar.Z | tar xvf -            #解.tar.Z文件
uncompress -c tast.tar.Z | xvf -                     #uncompress -c 同 zcat
2)只列表不生成文件:
zcat filename.tar.Z | tar tvf -             #解.tar.Z文件
uncompress -c filename.tar.Z | tvf -        #uncompress -c 同 zcat
============================================================
4、如何安裝、卸載、列出rpm包信息?(linux常用)
 
1)安裝rpm包時顯示進度
     例如:用-vh參數,如rpm -ivh ipchains-1.3.6-1.i386.rpm
2)直接通過ftp來安裝rpm包
     例如:rpm -i ftp://ftp.xxx.xxx/
3)校驗所有的rpm包,查找丟失的文件
例如:rpm –Va
4)查找一個文件屬於哪個rpm包
     例如:rpm -qf /usr/bin/who
5)列出一個rpm包的描述信息
     例如:rpm -qpi mon-0.37j-1.i386.rpm
6)列出一個rpm包的文件信息
例如:rpm -qpl mon-0.37j-1.i386.rpm
7)列出並過濾已經安裝的包
        例如:rpm –q |grep IBM
8)刪除已安裝的包
        例如:rpm –e 包名
9)其他rpm操作參見#rpm --help
============================================================
5、如何使用tar命令測試、展開、生成tgz包?
 
tar zvfx filename.tgz                       #在當前目錄下展開這個包
tar zvft filename.tgz                              #只測試不展開
tar zvfx filename.tgz -C /new-dir              #展開後放到/new-dir目錄下
tar zvfc filename.tgz /filename              #把/filename目錄下所有的文件及子目錄打包成filename.tgz
============================================================
6、如何解開和生成tar文件?
 
tar xvf filename.tar                              #當先目錄解包
tar tvf filename.tar                              #只顯示不生成文件
tar cvf filename.tar <file or dir list>          #生成包
tar的參數很多,要仔細學習參見#tar -h
============================================================
7、如何象在PC上的ARJ那樣的分解打包軟件?
 
# split -b 100k big.file
   將big.file分解成若干500K的小文件 (名爲xa, xb, xc, ...)
# split -l 500 big.file
   將big.file分解成每個500 lines的小文件
其它使用方法參見split –h
 
============================================================
8、在Unix下如何壓縮文件?
 
在unix下壓縮方法有多種,可以參見gzip、gunzip、zcat、compress等工具文檔,也可以參見上面所述的一些方法。下面僅以compress命令示例:
 
例如:需要將/filename的文件打包並壓縮,需要做以下步驟:
1)打包
tar cvf filename.tar ./dir
2)壓縮
compress filename.tar                  #生成filename.tar.Z文件
如果還原回原來的目錄結構
1)解壓縮
uncompress filename.tar.Z
3)解tar包
tar xvf filename.tar
 
如果unix命令參數不熟悉,一般也可以通過ftp將壓縮或打包文件傳到PC上,利用Windows下的Winzip或rar等壓縮工具解開。
 
==========================================================
9、如何解開和生成其他包如.jar文件?
 
在unix上生成和解開jar包和對tar包的操作差不多。
例如:
jar cvf filename.jar /dirname    #將/dirname 打成jar包
jar xvf filename.jar                                #解開jar包
jar tvf       filename.jar                                  #只列表不解開jar包
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章