linux基礎(day19)

6.1 壓縮打包介紹

家用帶寬和機房帶寬的區別:

  1. 家用的IP是動態的、不固定的,而機房的IP倒是固定不變的
  2. 家用的上傳和下載帶寬也是不一樣的;而在機房中的帶寬,下載和上傳帶寬都是相同的
    • 舉例:家用—>聯通的百兆寬帶,指的是下載的速度是一百兆,而上傳通常只有10M到20M

常見壓縮文件

  • windows系統中,常見的壓縮文件有 .rar, .zip, .7z
  • linux系統中,常見的壓縮文件有 .zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

壓縮後優點:

  1. 壓縮的文件會變小不少
  2. 壓縮後的文件帶寬資源耗費也變小了
  3. 壓縮後的文件會減小傳輸時間

6.2 gzip壓縮工具

壓縮和解壓

  • 壓縮:在多個文件一塊兒壓縮的時候,只能壓縮第一個文件
  • 解壓:多個文件能夠在一塊兒直接,好比bzip2 -d 1.txt.bz2 2.txt.bz2 這樣會將兩個文件都解壓

gzip目錄概要

  • gzip 1.txt 壓縮1.txt文件
  • gzip -d 1.txt 或者 gunzip 1.txt.gz 解壓1.txt文件的兩種方法
  • gzip -# 1.txt //#表示範圍1-9,默認爲6
  • 不能壓縮目錄
  • zcat 1.txt.gz
  • gzip -c 1.txt > /root/1.txt.gz 壓縮文件,並指定目錄
  • gunzip -c /root/1.txt.gz > /tmp/1.txt.new 解壓文件,並指定

gzip壓縮文件

  • gzip 1.txt 壓縮1.txt文件
  1. 首先切換到/tmp目錄下,並新建一個目錄d6z
    [root@localhost ~]# cd /tmp/
    [root@localhost tmp]# ls
    11.sh  han.111
    23.sh   fstab
    [root@localhost tmp]# mkdir d6z
  2. 切換到/d6z目錄下,並查找/etc目錄下全部以conf結尾的文件
    [root@localhost tmp]# cd d6z
    [root@localhost d6z]# find /etc/ -type f -name "*conf"    查找全部文件中,名字以conf結尾的文件
    /etc/resolv.conf
    /etc/pki/ca-trust/ca-legacy.conf
    /etc/yum/pluginconf.d/fastestmirror.conf
    /etc/yum/pluginconf.d/langpacks.conf
    /etc/yum/protected.d/systemd.conf
    /etc/yum/version-groups.conf
    /etc/rdma/mlx4.conf
    /etc/rdma/rdma.conf
  3. 而後這文件查找出的文件內容追加到1.txt中,這個符號 {} 表示列出來的文件
    • 多追加幾回文件內容到1.txt中
    [root@localhost d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
    [root@localhost d6z]#
  4. 查看文件和大小
    [root@localhost d6z]# ls
    1.txt
    [root@localhost d6z]# du -sh 1.txt
    3.2M	1.txt

這裏屢次追加會看到文件,du -sh 1.txt查看的文件數值不一樣,但在屢次查看,文件大小會恢復正常。(跳轉數值較大比,是由於這個文件自己存在不少空隙,最後在壓縮並解壓後,會發現大小會有不一樣)linux

  1. 壓縮文件1.txt
    [root@localhost d6z]# gzip 1.txt
    [root@localhost d6z]# ls
    1.txt.gz
    會看到源文件消失了,變成了.gz的壓縮文件 1.查看壓縮文件大小
    [root@localhost d6z]# du -sh 1.txt.gz
    332K	1.txt.gz

gzip解壓文件(兩種方法)

  • gzip -d 1.txt.gz 把1.txt文件解壓出來
[root[@localhost](https://my.oschina.net/u/570656) d6z]# gzip -d 1.txt.gz
[root[@localhost](https://my.oschina.net/u/570656) d6z]# ls
1.txt
[root[@localhost](https://my.oschina.net/u/570656) d6z]# du -sh 1.txt
1.3M	1.txt
  • gunzip 1.txt.gz 解壓1.txt文件
[root@localhost d6z]# gunzip 1.txt.gz
[root@localhost d6z]# ls
1.txt
[root@localhost d6z]# du -sh 1.txt
1.3M	1.txt

gzip指定壓縮的級別

  • gzip壓縮的級別範圍有1-9,默認是 6 級別,也能夠指定壓縮級別
    • 9級別是壓縮的最嚴謹,所耗費的CPU資源也最大(壓縮的文件也是最小的)
    • 壓縮到必定級別後,到達極限後,會壓縮不了

file命令,查看壓縮後的文件

  • 壓縮後的文件變成了二進制文件,不能直接使用cat查看
  • file命令,查看壓縮的文件
    • 格式 file 1.txt.gz
[root@localhost d6z]# file 1.txt.gz
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Nov  9 14:23:33 2017, max compression

這裏會看到這是一個gzip的壓縮數據,名稱是1.txt,基於Unix平臺,最後一次的更改時間,壓縮的級別windows

zcat命令,查看壓縮文件的內容

  • zcat命令,查看壓縮文件的內容
    • 格式 zcat 1.txt.gz
      • 這是先解壓,後cat查看的

gzip壓縮文件,並指定目錄

  • gzip -c 1.txt > /tmp/1.txt.gz 壓縮文件,並重定向目錄和名稱
[root@localhost d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[root@localhost d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz

gzip解壓文件,並指定目錄

  • gunzip -c /tmp/1.txt.gz > /tmp/6dz/2.txt
  • gzip -d -c /tmp/1.txt.gz > /tmp/6dz/2.txt
[root@localhost d6z]# gunzip -c /tmp/1.txt.gz >/tmp/d6z/2.txt
[root@localhost d6z]# ls
1.txt  2.txt
[root@localhost d6z]# gzip -c -d /tmp/1.txt.gz >/tmp/d6z/2.txt
[root@localhost d6z]# ls
1.txt  2.txt

1.txt和2.txt這兩個文件大小相同(du -sh 1.txt 2.txt),行數形同(wc -l 1.txt 2.txt)less

gzip不能壓縮目錄

6.3 bzip2壓縮工具

bzip2目錄概要

  • bzip2 1.txt 或 bzip2 -z 1.txt 壓縮文件
  • bzip2 -d 1.txt.bz2 或 bunzip2 1.txt.bz2 解壓文件
  • bzip -# 1.txt 範圍1-9,默認9
  • 不能壓縮目錄
  • bzcat 1.txt.bz2 查看壓縮文件的內容(含義爲:先解壓,後查看)
  • bzip2 -c 1.txt > /root/1.txt.gz 壓縮文件,並重定向文件的目錄和名稱
  • bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.nws 解壓文件,並重定向文件的目錄和名稱

bzip2壓縮文件

  • 安裝bzip2包——>yum install -y bzip2
  • bzip2 1.txt 壓縮文件
[root@hf-01 d6z]# du -sh 1.txt
2.0M	1.txt
[root@hf-01 d6z]# bzip2 1.txt
[root@hf-01 d6z]# ls
1.txt.bz2
[root@hf-01 d6z]# du -sh 1.txt.bz2
168K	1.txt.bz2

bzip2解壓文件(兩種辦法)

  • bzip2 -d 1.txt 解壓文件
[root@hf-01 d6z]# bzip2 -d 1.txt.bz2
[root@hf-01 d6z]# ls
1.txt
[root@hf-01 d6z]# du -sh 1.txt
1.5M	1.txt
  • bunzip2 1.txt.bz2 解壓文件
[root@hf-01 d6z]# bunzip2 1.txt.bz2
[root@hf-01 d6z]# ls
1.txt

bzip2壓縮文件,並指定目錄

  • bzip2 -c 1.txt > /tmp/2.txt.bz2 壓縮1.txt文件,並壓縮到/tmp下2.txt.bz2
[root@hf-01 d6z]# bzip2 -c 1.txt > /tmp/2.txt.bz2
[root@hf-01 d6z]# du -sh /tmp/2.txt.bz2
168K	/tmp/2.txt.bz2

bzip解壓文件,並指定目錄(兩種方法)

  • bzip2 -d -c /tmp/2.txt.bz2 > 4.txt 解壓tmp目錄下的文件,並解壓到當前目錄下,更名爲4.txt
[root@hf-01 d6z]# bzip2 -d -c /tmp/2.txt.bz2 > 4.txt
[root@hf-01 d6z]# ls
1.txt  4.txt
[root@hf-01 d6z]# du -sh 4.txt
1.5M	4.txt
  • bunzip2 1.txt.bz2 > 5.txt 解壓文件,並解壓到當前目錄下,名稱爲5.txt
[root@hf-01 d6z]# bunzip2 1.txt.bz2 > 5.txt
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt

bzip2壓縮級別

  • bzip2默認壓縮級別爲 9

file查看壓縮文件大小

  • file命令,會知道壓縮文件的類型,大小
[root@hf-01 d6z]# file 1.txt.bz2
1.txt.bz2: bzip2 compressed data, block size = 900k
  • 如果文件名的格式被改錯,或者不知道
    • 在使用less、cat、head查看該文件的時候,會提示「該文件是二進制文件,是否繼續查看呢」
    • 這時候可使用 file命令 去查看,會知道該文件的格式

bzcat查看壓縮文件內容

  • bzcat命令,查看壓縮文件中的內容
    • 格式 bzcat 1.txt.bz2
[root@hf-01 d6z]# bzcat 1.txt.bz2

查看的時候,需注意壓縮文件是否爲空,若爲空,則看不到什麼文件工具

6.4 xz壓縮工具

xz目錄概要

  • xz 1.txt 或 xz -z 1.txt 壓縮文件
  • xz -d 1.txt.xz 或 unxz 1.txt.xz 解壓文件
  • xz -# 1.txt 1.txt //#表示範圍1-9,默認爲 6
  • 不能壓縮目錄
  • xzcat 1.txt.xz 查看壓縮文件的內容
  • xz -c 1.txt > /root/1.txt.xz 壓縮文件,壓縮到指定目錄下,並修更名稱
  • xz -d -c /root/1.txt.xz > 1.txt.news 解壓文件,解壓到指定目錄下,並修更名稱

xz壓縮文件

[root@hf-01 d6z]# xz 1.txt
[root@hf-01 d6z]# ls
1.txt.xz  4.txt  5.txt
[root@hf-01 d6z]# du -sh 1.txt.xz
60K	1.txt.xz

xz解壓文件(兩種方法)

  • xz -d 1.txt.xz 解壓文件
[root@hf-01 d6z]# xz -d 1.txt.xz
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt
[root@hf-01 d6z]# du -sh 1.txt
1.5M	1.txt
  • unxz 1.txt.xz 解壓文件
[root@hf-01 d6z]# unxz 1.txt.xz
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt

xz壓縮文件,並壓縮到指定目錄

  • xz -c 1.txt > /tmp/ha.txt.xz
[root@hf-01 d6z]# xz -c 1.txt > /tmp/ha.txt.xz
[root@hf-01 d6z]# du -sh /tmp/ha.txt.xz
60K	/tmp/ha.txt.xz

xz解壓文件,並解壓到指定目錄

  • xz -d -c /tmp/ha.txt.xz > ./8.txt
  • unxz -c /tmp/ha.txt.xz > ./8.txt
[root@hf-01 d6z]# unxz -c /tmp/ha.txt.xz > ./8.txt
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt  8.txt
[root@hf-01 d6z]# du -sh 8.txt
1.5M	8.txt

xzcat查看壓縮文件

  • xzcat /tmp/ha.txt.xz

xz壓縮級別

  • xz壓縮級別是1-9,默認是 6 級別

壓縮工具排序

  • xz >bzip2 >gzip(這不是絕對的,關鍵還得看文件)
    • xz 壓縮最爲嚴謹,bzip2稍次之,gzip排在最後
相關文章
相關標籤/搜索