linux壓縮與解壓指令詳解

2021-06-03 01:53:21 字數 2706 閱讀 9650

關於壓縮與解壓的指令,《鳥哥的私房菜》中其實講的比較詳細了,我這裡只是在鳥哥的基礎上,提煉出一點內容,方便自己以後檢視,誰叫自己腦袋瓜子記性不好咧。。

常用的壓縮指令有:

gzip、bzip2和tar(compress已經out了,也就不管了)

--gzip:

建立的壓縮檔字尾名為.gz,zcat指令用來檢視字尾名為gz的壓縮檔

[root@www ~]# gzip [-cdtv#] 檔名 

[root@www ~]# zcat 檔名.gz

選頃不引數:

-c :將壓縮的資料輸出到螢幕上,可透過資料流重導向來處理;

-d :解壓縮的引數; (用來解壓的)

-t :可以用來檢驗乙個壓縮檔案的一致性~看看檔案有無錯誤;

-v :可以顯示出原檔案/壓縮檔案案的壓縮比等資訊;

-# :壓縮等級,-1 最忚,但是壓縮比最差、-9 最慢,但是壓縮比最好!預設是 -6

當你使用 gzip 進行壓縮時,在預設的狀態下原本的檔案會被壓縮成為 .gz 的檔名, 原始檔就不再存在了。

若要保留原始檔可以通過-c選項來處理,如下所示即可,這樣原始檔就還會繼續存在。

[root@www tmp]# gzip -c man.config > man.config.gz
--bzip2

bzip2 則是為了取代 gzip 並提供更佳的壓縮比而來的,bzcat是用來檢視字尾為bz2的壓縮檔

[root@www ~]# bzip2 [-cdkzv#] 檔名 

[root@www ~]# bzcat 檔名.bz2

選頃不引數:

-c :將壓縮的過程產生的資料輸出到螢幕上! (用法同gzip)

-d :解壓縮的引數 (解壓必須帶此選項)

-k :保留原始檔,而不會刪除原始的檔案喔!

-z :壓縮的引數 (預設的是壓縮引數)

-v :可以顯示出原檔案/壓縮檔案案的壓縮比等資訊;

-# :與 gzip 同樣的,都是在計算壓縮比的引數, -9 最佳, -1 最差!

其實前面說的這兩條指令用的不是很多,只要掌握了tar命令就可以了,tar命令中的一些選項就攘括了上面的兩種指令功能,

--tar

tar指令不僅能解壓縮,還可以打包與解包,這相比上面兩條指令的優勢就是上面的兩條指令只能對單個文件進行操作,tar可以針對目錄進行操作

[root@www ~]# tar [-j|-z] [cv] [-f 建立的檔名] filename... <==打包不壓縮 

[root@www ~]# tar [-j|-z] [tv] [-f 建立的檔名] <==察看檔名

[root@www ~]# tar [-j|-z] [xv] [-f 建立的檔名] [-c 目錄] <==解壓縮

選頃不引數:

-c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename) (建立壓縮檔用到)

-t :察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了;

-x :解打包或解壓縮的功能,可以搭配 -c (大寫) 在特定目錄解開 (解壓檔用到)

特別留意癿是, -c, -t, -x 不可同時出現在一串指令列中。

-j :透過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2

-z :透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz 兩種解壓方式

-v :在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來!

-f filename:-f 後面要立刻接要被處理的檔名!建議 -f 單獨寫乙個選項囉!

(必選哦)

-c 目錄 :這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。

-p(小寫) :保留備份資料的原本許可權和屬性,常用於備份(-c)重要的配置檔案

-p(大寫) :保留絕對路徑,亦即允許備份資料中含有根目錄存在之意;

--exclude=file:在壓縮的過程中,不要將 file 打包!

tar常用的選項例項如下:

壓  縮:tar -jcv -f filename.tar.bz2 要被壓縮的檔案或目錄名稱 

查 詢:tar -jtv -f filename.tar.bz2

解壓縮:tar -jxv -f filename.tar.bz2 -c 欲解壓縮的目錄

上面是用bzip2的方式進行解壓縮的,若要用gzip的方式只需將j替換成z即可

其實只用掌握以上tar命令用法就足矣啦。。

在 tar 的使用中,有一種方式最特殊,那就是透過標準輸入輸出癿資料流重導向(standard input/standard output), 以及管線命令 (pipe) 的方式,將待處理的檔案一邊打包一邊解壓縮到目標目錄去。  

# 1. 將 /etc 整個目錄一邊打包一邊在 /tmp 解開 

[root@www ~]# cd /tmp

[root@www ~]# tar -cvf - /etc | tar -xvf -

# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!

# 要注意癿地方在於輸出檔變成 - 而輸入檔也變成 - ,又有乙個 | 存在~

Linux指令 壓縮與解壓

打包 格式 tar cvf 壓縮後的名稱.tar 壓縮的檔案1 壓縮的檔案2 壓縮的檔案n 壓縮多個檔案為乙份時各個檔案以空格隔開 例子 tar cvf tomcats.tar apache tomcat 7.0.54 apache tomcat 5.5.20 打包並壓縮 格式 tar czvf 壓...

linux 之 tar指令解壓與壓縮

1 解壓常用引數 z 表示要解壓檔案的字尾名稱為.tar.gz。x 表示解壓操作。v 表示要顯示過程。f 後面緊跟著要解壓的檔名程。比如我要解壓android6.0.1.tar.gz壓縮檔案,那麼我只要執行下面一句指令即可 tar zxvf android.6.0.1.tar.gz2 壓縮常用引數 ...

十四 Linux壓縮與解壓類指令

1 gzip和gunzip 2 zip和unzip 3 tar 1 gzip gunzip指令 gzip用於壓縮檔案 gunzip用於解壓 gzip 檔案 功能描述 壓縮檔案,只能將檔案壓縮為 gz檔案 gunzip 檔案.gz 功能描述 解壓縮檔案命令 1 gzip壓縮,將 home下的hello...