Day14-壓縮命令的學習(gzip错洁、zip、tar)

Hyman's Road of Learning Linux.

1.什么是文件壓縮?

  • 將多個文件或目錄合并成為一個特殊的文件戒突。

2.為什么要對文件進行壓縮屯碴?

  • 減小文件的體積
  • 加快資源的傳輸
  • 節(jié)省網(wǎng)絡的帶寬

3.Windows的壓縮包與Linux的壓縮包能否互通?

  • windows: rar zip 其實支持很多類型的壓縮
  • linux: zip tar.gz ....
  • windows與linux互通 建議使用: zip

4.Linux下壓縮包有哪些常見的類型

格式 壓縮工具
.zip zip壓縮工具
.gz gzip壓縮工具膊存,只能壓縮文件导而,會刪除源文件(通常配合tar使用)
.bz2 bzip2壓縮工具,智能壓縮文件隔崎,會刪除源文件(通常配合tar使用)
.tar.gz 先使用tar命令歸檔打包今艺,然后使用gzip壓縮
.tar.bz2 先試用tar命令歸檔打包,然后使用bizp壓縮

5.linux gzip 工具使用

*** gzip打包與壓縮 ,僅對文件有效.***
gzip filename #打包
gzip -d filename.gz #解包
zcat filename.gz #查看包內(nèi)文件的內(nèi)容

  • 使用前先查看是否安裝了gzip爵卒,沒有用 yum install gzip -y 進行安裝虚缎。
root@haoyu1[14:59:55]~# yum install gzip -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Package gzip-1.5-10.el7.x86_64 already installed and latest version
Nothing to do
  • 對文件進行壓縮 gzip filename
root@haoyu1[15:03:48]~# echo "hyman linux" > hyman.txt
root@haoyu1[15:03:51]~# gzip hyman.txt 
root@haoyu1[15:04:10]~# ll
total 4
-rw-r--r--. 1 root root 42 Aug 13 15:03 hyman.txt.gz
  • 查看gz壓縮后的文件 zcat filename
root@haoyu1[15:04:12]~# zcat hyman.txt.gz 
hyman linux
  • 解壓gzip的壓縮包 gzip -d filename
root@haoyu1[15:05:26]~# gzip -d hyman.txt.gz 
root@haoyu1[15:07:00]~# ll
total 4
-rw-r--r--. 1 root root 12 Aug 13 15:03 hyman.txt
  • 使用場景:當需要讓某個文件快速關閉和快速啟用.
#/etc/yum.repos.d/目錄下的repo文件,當我們不用的時候可以一條命令將它們關閉.
root@haoyu1[15:07:02]~# cd /etc/yum.repos.d/
root@haoyu1[15:15:37]/etc/yum.repos.d# ll
total 36
-rw-r--r--. 1 root root 2523 Jun 16  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  664 Jul 30 09:41 epel.repo
root@haoyu1[15:15:39]/etc/yum.repos.d# gzip *
root@haoyu1[15:16:25]/etc/yum.repos.d# ll
total 32
-rw-r--r--. 1 root root 601 Jun 16  2018 CentOS-Base.repo.gz
-rw-r--r--. 1 root root 735 Nov 23  2018 CentOS-CR.repo.gz
-rw-r--r--. 1 root root 254 Jul 30 09:41 epel.repo.gz
#當關閉的情況下也可以使用zcat命令查看文件的內(nèi)容
root@haoyu1[15:17:52]/etc/yum.repos.d# zcat CentOS-Base.repo.gz 
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#當我們需要開啟的時候也可以使用gzip -d一條命令開啟這些文件
root@haoyu1[15:16:27]/etc/yum.repos.d# gzip -d *
root@haoyu1[15:16:37]/etc/yum.repos.d# ll
total 36
-rw-r--r--. 1 root root 2523 Jun 16  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  664 Jul 30 09:41 epel.repo

6.linux zip 工具使用

  • 默認情況下沒有zip和unzip工具钓株,需要進行安裝 yum install zip unzip -y
root@haoyu1[16:10:09]~# yum install zip unzip -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Package zip-3.0-11.el7.x86_64 already installed and latest version
Package unzip-6.0-19.el7.x86_64 already installed and latest version
Nothing to do
  • 壓縮文件為zip包 zip -r filename
root@haoyu1[16:11:20]~# mkdir hhaoyu
root@haoyu1[16:11:54]~# zip -r hhaoyu.zip hhaoyu/
  adding: hhaoyu/ (stored 0%)
root@haoyu1[16:12:14]~# ll
total 8
drwxr-xr-x. 2 root root   6 Aug 13 16:11 hhaoyu
-rw-r--r--. 1 root root 164 Aug 13 16:12 hhaoyu.zip
-rw-r--r--. 1 root root  12 Aug 13 15:03 hyman.txt
  • 查看zip壓縮包是否是完整的 zip -T filename.zip
root@haoyu1[16:12:17]~# zip -T hhaoyu.zip 
test of hhaoyu.zip OK
  • 不解壓壓縮查看壓縮包中的內(nèi)容 unzip -l filename.zip
root@haoyu1[16:15:14]~# unzip -l hhaoyu.zip 
Archive:  hhaoyu.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  08-13-2019 16:15   hhaoyu/
---------                     -------
        0                     1 file
  • 檢測文件是 否都ok unzip -t filename.zip
root@haoyu1[16:15:26]~# unzip -t hhaoyu.zip 
Archive:  hhaoyu.zip
    testing: hhaoyu/                  OK
No errors detected in compressed data of hhaoyu.zip.
  • 解壓zip內(nèi)容至/opt目錄 unzip filename.zip -d /opt/
root@haoyu1[16:15:46]~# unzip hhaoyu.zip  -d /opt/
Archive:  hhaoyu.zip
   creating: /opt/hhaoyu/
  • 常用的zip命令
#打包 
zip -r /tmp/test.zip  file  dir/
#解包 
unzip tt.zip unzip tt.zip -d /opt

7.linux tar 工具使用

tar是linux下最常用的壓縮與解壓縮, 支持文件和目錄的壓縮歸檔

  • 語法:tar [-zjxcvfpP] filename
c 創(chuàng)建新的歸檔文件
x 對歸檔文件解包
t 列出歸檔文件里的文件列表
f 指定包文件名实牡,多參數(shù)f寫最后
z 使用gzip壓縮歸檔后的文件(.tar.gz)
j 使用bzip2壓縮歸檔后的文件(.tar.bz2)
J 使用xz壓縮歸檔后的文件(.tar.xz)
c 指定解壓目錄位置
x 排除多個文件(寫入需要排除的文件名稱)
h 打包軟鏈接
--exclude 在打包的時候?qū)懭胄枰懦募蚰夸?/strong>
  • 常用打包與壓縮組合
cjf 打包tar.bz格式
cJf 打包tar.xz格式(很少使用)
zxf 解壓tar.gz格式
jxf 解壓tar.bz格式
czf 打包tar.gz格式(常用)
tf 查看壓縮包內(nèi)容
xf 自動選擇解壓模式(常用)
  • 將文件或目錄進行打包壓縮

    • 打包

      • 以gzip方式壓縮
        root@haoyu1[16:34:17]~# tar czf hhaoyu.tar.gz hhaoyu/ hyman.txt
        
      • 以bz2方式壓縮
        root@haoyu1[16:34:57]~# tar cjf hhaoyu.tar.bz2 hhaoyu/ hyman.txt
        
    • 查看包內(nèi)容

      #.gz
      root@haoyu1[16:36:04]~# tar tf hhaoyu.tar.gz 
      hhaoyu/
      hhaoyu/123/
      hhaoyu/456/
      hyman.txt
      #.bz2
      root@haoyu1[16:36:04]~# tar tf hhaoyu.tar.bz2 
      #.xz
      root@haoyu1[16:36:04]~# tar tf hhaoyu.tar.xz 
      
    • 解壓

      #.gz
      root@haoyu1[16:37:14]~# tar xf hhaoyu.tar.gz
      #.bz2
      root@haoyu1[16:37:14]~# tar xf hhaoyu.tar.bz2
      #.xz
      root@haoyu1[16:37:14]~# tar xf hhaoyu.tar.xz
      #解壓至指定目錄
      root@haoyu1[16:37:14]~# tar xf hhaoyu.tar.gz -C /tmp
      
    • 打包/tmp下所有文件

      root@haoyu1[16:43:32]~# find /tmp/ -type f | xargs tar czf tmp.tar.gz
      tar: Removing leading `/' from member names
      root@haoyu1[16:43:49]~# ll
      total 16
      -rw-r--r--. 1 root root 126 Aug 13 16:43 tmp.tar.gz
      
      #另一種方法
      tar czf tmp.tar.gz $(find /tmp/ -type f)
      
    • 打包鏈接文件,打包鏈接文件的真實文件

      root@haoyu1[16:46:07]~# tar czfh local.tar.gz  etc/rc.local
      
    • 排除操作

      #排除單個
      root@haoyu1[17:05:32]~# tar czf etc.tar.gz /etc/ --exclude=etc/services 
      #排除多個
      root@haoyu1[17:05:32]~# tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow
      
    • 將需要排除的文件寫入文件中 然后進行排除

      root@haoyu1[17:16:53]~#  cat pc.txt 
      etc/gshadow 
      etc/gshadow
      etc/passwd 
      etc/passwd
      etc/shadowetc/shadow 
      etc/security/opasswd 
      etc/pam.d/passwd 
      root@haoyu1[17:16:53]~#  tar czXf pc.txt etc.tar.gz  
      /etc/
      
  • 練習

1.環(huán)境準備
root@haoyu1[17:19:12]~# yum install mariadb-server
root@haoyu1[17:20:08]~# systemctl start mariadb
root@haoyu1[17:20:32]~# mkdir /backup

案例1.mysql備份及恢復
root@haoyu1[17:20:43]~# tar cJk /backup/mysql.tar.xz /var/lib/mysql/
root@haoyu1[17:21:38]~# tar xf /backup/mysql.tar.xz -C /

案例2 mysql備份及恢復
root@haoyu1[17:22:36]~# cd /var/lib/mysql/
root@haoyu1[17:22:55]/var/lib/mysql# tar cJf /backup/mysql.tar.xz *
root@haoyu1[17:23:19]/var/lib/mysql# tar tf /backup/mysql.tar.xz
root@haoyu1[17:23:50]/var/lib/mysql# tar xf /backup/mysql.tar.xz -C /var/lib/mysql/
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陌僵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铲掐,更是在濱河造成了極大的恐慌拾弃,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摆霉,死亡現(xiàn)場離奇詭異豪椿,居然都是意外死亡,警方通過查閱死者的電腦和手機携栋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門搭盾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人婉支,你說我怎么就攤上這事鸯隅。” “怎么了向挖?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵蝌以,是天一觀的道長。 經(jīng)常有香客問我何之,道長跟畅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任溶推,我火速辦了婚禮徊件,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒜危。我一直安慰自己虱痕,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布辐赞。 她就那樣靜靜地躺著部翘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪响委。 梳的紋絲不亂的頭發(fā)上新思,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音晃酒,去河邊找鬼表牢。 笑死窄绒,一個胖子當著我的面吹牛贝次,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彰导,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蛔翅,長吁一口氣:“原來是場噩夢啊……” “哼敲茄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起山析,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤堰燎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后笋轨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秆剪,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年爵政,在試婚紗的時候發(fā)現(xiàn)自己被綠了仅讽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡钾挟,死狀恐怖洁灵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掺出,我是刑警寧澤徽千,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站汤锨,受9級特大地震影響双抽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泥畅,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一荠诬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧位仁,春花似錦柑贞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至琳疏,卻和暖如春有决,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背空盼。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工书幕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揽趾。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓台汇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子苟呐,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344