更新時間:2021-01-06 17:32:23 來源:動力節(jié)點 瀏覽1636次
為了節(jié)省空間,我們把一個較大的文件經(jīng)壓縮后,產(chǎn)生了另一個較小容量的文件,這就是文件壓縮。在Linux系統(tǒng)上最常用的文件壓縮命令包括 zip、gzip、bzip2、xz。 所有這些壓縮命令都以類似的方式工作,但是你需要權(quán)衡有多少文件要壓縮(節(jié)省多少空間)、壓縮花費的時間、壓縮文件在其他你需要使用的系統(tǒng)上的兼容性,然后選擇最適合的Linux壓縮命令。
下面為大家介紹4種常見的Linux壓縮命令及其用法:
1、".zip" 格式
".zip" 是 Windows 中最常用的壓縮格式,Linux 也可正確識別 ".zip" 格式,這可以方便的和 Windows 系統(tǒng)通用壓縮文件。
".zip" 格式壓縮命令:
zip [選項] 壓縮包名 源文件或源目錄
選項:
? -r:壓縮目錄
[root@hepingfly hepingfly]# zip mytxt.zip abc.txt abd.txt bcd.txt
adding: abc.txt (deflated 6%)
adding: abd.txt (stored 0%)
adding: bcd.txt (stored 0%)
# 把三個 txt 文件壓縮成一個 zip 文件
".zip" 格式解壓縮命令:
unzip [選項] 壓縮包名
選項:
? -d:指定解壓縮位置
[root@hepingfly hepingfly]# unzip -d /home/hepingfly/abc/ mytxt.zip
Archive: mytxt.zip
inflating: /home/hepingfly/abc/abc.txt
extracting: /home/hepingfly/abc/abd.txt
extracting: /home/hepingfly/abc/bcd.txt
# 如果不指定 -d 參數(shù),默認(rèn)解壓到當(dāng)前目錄下
2、".gz" 格式(不能打包)
".gz" 格式壓縮命令:
gzip [選項] 源文件
選項:
? -c:將壓縮數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出中,可以用于保留源文件
? -d:解壓縮
? -r:壓縮目錄
gzip 壓縮文件后會把源文件刪除掉,它是不支持保留源文件的
[root@hepingfly hepingfly]# gzip abc.txt
[root@hepingfly hepingfly]# ll
總用量 12
-rw-rw-r--. 1 hepingfly hepingfly 60 2月 22 01:33 abc.txt.gz
# 壓縮完之后源文件也會被刪除掉
----------------------------------------------------------------------------
[root@hepingfly hepingfly]# gzip -c bcd.txt > bcd.txt.gz
[root@hepingfly hepingfly]# ll
總用量 16
-rw-------. 1 hepingfly hepingfly 0 2月 21 00:37 bcd.txt
-rw-r--r--. 1 root root 28 2月 25 00:55 bcd.txt.gz
# 你使用 gzip -c bcd.txt 命令,會把壓縮數(shù)據(jù)輸出到屏幕上,現(xiàn)在我不讓它輸出到屏幕上,而是重定向到一個壓縮文件中,這樣就實現(xiàn)了在壓縮你文件的同時不刪除源文件
----------------------------------------------------------------------------
[root@hepingfly hepingfly]# gzip -r aaaa/
[root@hepingfly hepingfly]# ll aaaa/
總用量 8
-rw-r--r--. 1 root root 26 2月 25 01:02 a.txt.gz
-rw-r--r--. 1 root root 26 2月 25 01:02 b.txt.gz
# 你使用 gzip -r 命令,它是把這個目錄下的所有文件都壓縮,而不會把這個目錄壓縮(不能打包)
".gz" 格式解壓縮命令:
gzip -d 壓縮包名
gunzip 壓縮包名
上面兩個命令都可以
3、".bz2 格式(不能壓縮目錄)"
".bz2" 格式,是 Linux 的另一種壓縮格式,從理論上來講,".bz2" 格式的算法更先進、壓縮比更好;而 ".gz" 格式相對來講壓縮時間更快
".bz2" 格式壓縮命令:
bzip2 [選項] 源文件
選項:
? -d:解壓縮
? -k:壓縮時保留源文件
? -v:顯示壓縮的詳細信息
[root@hepingfly hepingfly]# bzip2 -k bcd.txt
[root@hepingfly hepingfly]# ll
總用量 20
-rw-------. 1 hepingfly hepingfly 0 2月 21 00:37 bcd.txt
-rw-------. 1 hepingfly hepingfly 14 2月 21 00:37 bcd.txt.bz2
# 保留源文件壓縮
注:
這條命令不能壓縮目錄,壓縮目錄就會報錯。前面的 gzip 命令是不能打包,你用 gzip 命令壓縮目錄,它會把你目錄下的文件進行壓縮,不會把你這個目錄進行壓縮
".bz2" 格式解壓縮命令:
bzip2 -d 壓縮包
bunzip2 壓縮包
上面兩個命令都可以
4、".tar.gz" 和 ".tar.bz2" 格式
使用 tar 命令直接打包壓縮
tar [選項] 壓縮包 源文件或目錄
選項:
? -z:壓縮和解壓縮 ".tar.gz" 格式
? -j: 壓縮和解壓縮 ".tar.bz2" 格式
# 壓縮
[root@hepingfly hepingfly]# tar -jcvf test.gz.bz2 abd.txt bcd.txt
abd.txt
bcd.txt
[root@hepingfly hepingfly]# ll
總用量 24
-rw-r--r--. 1 root root 160 2月 25 23:11 test.gz.bz2
---------------------------------------------------------------
# 解壓縮
[root@hepingfly hepingfly]# tar -jxvf test.gz.bz2
abd.txt
bcd.txt
----------------------------------------------------------------
# 壓縮
[root@hepingfly hepingfly]# tar -zcvf test.tar.gz abd.txt bcd.txt
abd.txt
bcd.txt
[root@hepingfly hepingfly]# ll
總用量 12
-rw-r--r--. 1 root root 0 2月 22 02:09 abd.txt
-rw-------. 1 hepingfly hepingfly 0 2月 21 00:37 bcd.txt
-rw-r--r--. 1 root root 154 2月 25 23:14 test.tar.gz
----------------------------------------------------------------
# 解壓縮
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz
abd.txt
bcd.txt
--------------------------------------------------------------
# 只查看不解壓
[root@hepingfly hepingfly]# tar -ztvf test.tar.gz
-rw-r--r-- root/root 0 2019-02-22 02:09 abd.txt
-rw------- hepingfly/hepingfly 0 2019-02-21 00:37 bcd.txt
--------------------------------------------------------------
# 解壓到指定目錄(-C 一定要跟在壓縮包后面)
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz -C aaaa/
abd.txt
bcd.txt
--------------------------------------------------------------
# 解壓指定文件
[root@hepingfly hepingfly]# tar -ztvf test.tar.gz # 我先查看這個壓縮包里面有哪些文件
-rw-r--r-- root/root 0 2019-02-22 02:09 abd.txt
-rw------- hepingfly/hepingfly 0 2019-02-21 00:37 bcd.txt
[root@hepingfly hepingfly]# tar -zxvf test.tar.gz -C aaaa/ abd.txt
abd.txt
# 我只把 abd.txt 文件解壓到 aaaa 目錄下
盡管在Linux壓縮文件時,我們有很多選擇,但在極少情況下,并不能有效節(jié)省磁盤存儲空間,反而會增加磁盤存儲空間。但總體而言,文件壓縮對于我們節(jié)省磁盤空間還是有很大幫助的,在本站的Linux教程中有各種Linux相關(guān)的壓縮軟件推薦,感興趣的小伙伴可以下載試用一下。
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)