Linux基礎(chǔ)命令之: Linux常用命令
2.1.3壓縮打包相關(guān)命令
Linux中打包壓縮的相關(guān)命令如表2.22所示,本書以gzip和tar為例進(jìn)行講解。
表2.22 Linux常見系統(tǒng)管理命令
命令 | 命令含義 | 格式 |
bzip2 | .bz2文件的壓縮(或解壓縮)程序 | bzip2[選項(xiàng)]壓縮(解壓縮)的文件名 |
bunzip2 | .bz2文件的解壓縮程序 | bunzip2[選項(xiàng)].bz2壓縮文件 |
bzip2recover | 修復(fù)損壞的.bz2文件 | bzip2recover.bz2壓縮文件 |
gzip | .gz文件的壓縮程序 | gzip[選項(xiàng)]壓縮(解壓縮)的文件名 |
gunzip | 解壓縮被gzip壓縮過的文件 | gunzip[選項(xiàng)].gz文件名 |
unzip | 解壓縮winzip壓縮的.zip文件 | unzip[選項(xiàng)].zip壓縮文件 |
compress | 早期的壓縮或解壓縮程序(壓縮后文件名為.Z) | compress[選項(xiàng)]文件 |
tar | 對(duì)文件目錄進(jìn)行打包或解壓縮 | tar[選項(xiàng)][打包后文件名]文件目錄列表 |
1.gzip
(1)作用。
對(duì)文件進(jìn)行壓縮和解壓縮,而且gzip根據(jù)文件類型可自動(dòng)識(shí)別壓縮或解壓。
(2)格式。
gzip[選項(xiàng)]壓縮(解壓縮)的文件名。
(3)常見參數(shù)。
gzip主要選項(xiàng)參數(shù)如表2.23所示。
表2.23 gzip命令常見參數(shù)列表
選項(xiàng) | 參數(shù)含義 |
-c | 將輸出信息寫到標(biāo)準(zhǔn)輸出上,并保留原有文件 |
-d | 將壓縮文件解壓 |
-l | 對(duì)每個(gè)壓縮文件,顯示下列字段:壓縮文件的大小、未壓縮時(shí)文件的大小、壓縮比、未壓縮時(shí)文件的名字 |
-r | 查找指定目錄并壓縮或解壓縮其中的所有文件 |
-t | 測(cè)試,檢查壓縮文件是否完整 |
-v | 對(duì)每一個(gè)壓縮和解壓的文件,顯示文件名和壓縮比 |
(4)使用實(shí)例。
[root@localhosttest]#gzipportmap-4.0-54.i386.rpm
[root@localhosttest]#ls
portmap-4.0-54.i386.rpm.gz
[root@localhosttest]#gzip-lportmap-4.0-54.i386.rpm
compresseduncompressedratiouncompressed_name
214372575116.9%portmap-4.0-54.i386.rpm
該實(shí)例將目錄下的“hello.c”文件進(jìn)行壓縮,選項(xiàng)“-l”列出了壓縮比。
(5)使用說明。
n 使用gzip壓縮只能壓縮單個(gè)文件,而不能壓縮目錄,其選項(xiàng)“-d”是將該目錄下的所有文件逐個(gè)進(jìn)行壓縮,而不是壓縮成一個(gè)文件。
2.tar
(1)作用。
對(duì)文件目錄進(jìn)行打包或解包。
在此需要對(duì)打包和壓縮這兩個(gè)概念進(jìn)行區(qū)分。打包是指將一些文件或目錄變成一個(gè)總的文件,而壓縮則是將一個(gè)大的文件通過一些壓縮算法變成一個(gè)小文件。為什么要區(qū)分這兩個(gè)概念呢?這是由于在Linux中的很多壓縮程序(如前面介紹的gzip)只能針對(duì)一個(gè)文件進(jìn)行壓縮,這樣當(dāng)想要壓縮較多文件時(shí),就要借助它的工具將這些堆文件先打成一個(gè)包,然后再用原來的壓縮程序進(jìn)行壓縮。
(2)格式。
tar[選項(xiàng)][打包后文件名]文件目錄列表。
tar可自動(dòng)根據(jù)文件名識(shí)別打包或解包動(dòng)作,其中打包后文件名為用戶自定義的打包后文件名稱,文件目錄列表可以是要進(jìn)行打包備份的文件目錄列表,也可以是進(jìn)行解包的文件目錄列表。
(3)主要參數(shù)。
tar主要選項(xiàng)參數(shù)如表2.24所示。
表2.24 tar命令常見參數(shù)列表
選項(xiàng) | 參數(shù)含義 |
-c | 建立新的打包文件 |
-r | 向打包文件末尾追加文件 |
-x | 從打包文件中解出文件 |
-o | 將文件解開到標(biāo)準(zhǔn)輸出 |
-v | 處理過程中輸出相關(guān)信息 |
-f | 對(duì)普通文件操作 |
-z | 調(diào)用gzip來壓縮打包文件,與-x聯(lián)用時(shí)調(diào)用gzip完成解壓縮 |
-j | 調(diào)用bzip2來壓縮打包文件,與-x聯(lián)用時(shí)調(diào)用bzip2完成解壓縮 |
-Z | 調(diào)用compress來壓縮打包文件,與-x聯(lián)用時(shí)調(diào)用compress完成解壓縮 |
(4)使用實(shí)例。
[root@localhosthome]#tar-cvfdavid.tardavid
./david/
./david/.bash_logout
./david/.bash_profile
./david/.bashrc
./david/.bash_history
./david/my/
./david/my/1.c.gz
./david/my/my.c.gz
./david/my/hello.c.gz
./david/my/why.c.gz
[root@localhosthome]#ls-ldavid.tar
-rw-r--r--1rootroot10240Jan1415:01david.tar
該實(shí)例將“david”目錄下的文件加以打包,其中選項(xiàng)“-v”在屏幕上輸出了打包的具體過程。
[david@localhostdavid]#tar-zxvflinux-2.6.11.tar.gz
linux-2.6.11/
linux-2.6.11/drivers/
linux-2.6.11/drivers/video/
linux-2.6.11/drivers/video/aty/
…
該實(shí)例用選項(xiàng)“-z”調(diào)用gzip,與“-x”聯(lián)用時(shí)完成解壓縮。
(5)使用說明。
tar命令除了用于常規(guī)的打包之外,使用更為頻繁的是用選項(xiàng)“-z”或“-j”調(diào)用gzip或bzip2(Linux中另一種解壓工具)完成對(duì)各種不同文件的解壓。
表2.25對(duì)Linux中常見類型的文件解壓命令做一個(gè)總結(jié)。
表2.25 Linux常見類型的文件解壓命令一覽表
文件后綴 | 解壓命令 | 示例 |
.a | tarxv | tarxvhello.a |
.z | Uncompress | uncompresshello.Z |
.gz | Gunzip | gunziphello.gz |
.tar.Z | tarxvZf | tarxvZfhello.tar.Z |
.tar.gz/.tgz | tarxvzf | tarxvzfhello.tar.gz |
tar.bz2 | tarjxvf | tarjxvfhello.tar.bz2 |
.rpm | 安裝:rpm–i | 安裝:rpm-ihello.rpm |
解壓縮:rpm2cpio | 解壓縮:rpm2cpiohello.rpm | |
.deb(Debain中的文件格式) | 安裝:dpkg–i | 安裝:dpkg-ihello.deb |
解壓縮:dpkg-deb--fsys-tarfile | 解壓縮:dpkg-deb--fsys-tarhellohello.deb | |
.zip | Unzip | unziphello.zip |
評(píng)論