日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统压缩及解压缩

發布時間:2023/12/9 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统压缩及解压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

==============================================================================? ?

?Linux系統解壓縮

==============================================================================

概述:

??本篇將介紹Linux系統中的壓縮和解壓縮的工具,以及歸檔工具(tar,cpio)

  • compress/uncompress:對應 .Z 結尾的壓縮格式文件;

  • gzip/gunzip:其對應的是 .gz 結尾的壓縮格式文件;

  • bzip2/bunzip2:其對應的是 .bz2 結尾的壓縮格式文件;

  • xz/unxz: 其對應的是 .xz 結尾的壓縮格式文件;

  • zip/unzip:其對應的是 .zip 結尾的壓縮格式文件

==============================================================================

Linux系統解壓縮

?1.壓縮比和常用工具

壓縮比:

  • 時間換空間(CPU的時間 --->磁盤空間)

常用工具:

早期的有compressuncompress,其對應的是 .Z 結尾的壓縮格式文件,現在適應較多的有:

  • gzip/gunzip:其對應的是 .gz 結尾的壓縮格式文件;

  • bzip2/bunzip2:其對應的是 .bz2 結尾的壓縮格式文件;

  • xz/unxz:?其對應的是 .xz 結尾的壓縮格式文件;

  • zip/unzip:其對應的是 .zip 結尾的壓縮格式文件

  • tar,cpio:歸檔和展開歸檔

?2.gzip和gunzip(使用最多)

常用工具:

  • gzip,gunzip,zcat

語法:

  • gzip [OPTION]... FILE ...

選項:

  • -d:解壓縮,相當于gunzip

  • -c:將壓縮或解壓縮的結果輸出至標準輸出(gzip -c FILE > /PATH/TP/SOMEFILE.gz);

  • -#:1-9,指定壓縮比,值越大壓縮比越大 ?如:gzip -9 m

  • -v:顯示詳情

解壓縮:

  • guzip

zcat:

  • 不顯式解壓縮的前提下查看文本文件內容(適用于查看小文件) ?如:zcat FILE >?/PATH/TP/SOMEFILE

演示:

[root@centos7?~]#?cp?/var/log/messages?/tmp/test/ [root@centos7?~]#?ll?/tmp/test/ 總用量?288 -rw-r-----?1?root?root??????0?2月??20?13:41?a -rw-rw-rw-?1?root?root??????0?2月??20?13:41?b.danger -r--r-----?1?root?root??????0?2月??20?13:41?c -rwxrwxr-x?1?root?root??????0?2月??20?13:41?d -rwxrwxrwx?1?root?root??????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root??????0?2月??20?13:41?f -rw-r--r--?1?root?root??????0?2月??20?13:41?g -rw-------?1?root?root?292504?2月??20?16:28?messages [root@centos7?~]#?ll?-h?/tmp/test/messages? -rw-------?1?root?root?286K?2月??20?16:28?/tmp/test/messages#?壓縮,刪除原文件,保留壓縮后以.gz結尾的文件 [root@centos7?~]#?gzip?/tmp/test/messages[root@centos7?~]#?ll?-h?/tmp/test 總用量?44K -rw-r-----?1?root?root???0?2月??20?13:41?a -rw-rw-rw-?1?root?root???0?2月??20?13:41?b.danger -r--r-----?1?root?root???0?2月??20?13:41?c -rwxrwxr-x?1?root?root???0?2月??20?13:41?d -rwxrwxrwx?1?root?root???0?2月??20?13:41?e.danger -rw-r--r--?1?root?root???0?2月??20?13:41?f -rw-r--r--?1?root?root???0?2月??20?13:41?g -rw-------?1?root?root?41K?2月??20?16:28?messages.gz#?解壓縮,原來的壓縮文件被刪除,保留解壓縮后的文件 [root@centos7?~]#?gunzip?/tmp/test/messages.gz? [root@centos7?~]#?ll?-h?/tmp/test 總用量?288K -rw-r-----?1?root?root????0?2月??20?13:41?a -rw-rw-rw-?1?root?root????0?2月??20?13:41?b.danger -r--r-----?1?root?root????0?2月??20?13:41?c -rwxrwxr-x?1?root?root????0?2月??20?13:41?d -rwxrwxrwx?1?root?root????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root????0?2月??20?13:41?f -rw-r--r--?1?root?root????0?2月??20?13:41?g -rw-------?1?root?root?286K?2月??20?16:28?messages#?zcat可以查看壓縮的文件,不建議對大文件使用zcat命令查看 [root@centos7?~]#?zcat?/tmp/test/messages.gz#===================================================================================== #?解壓縮 [root@centos7?~]#?gzip?-d?/tmp/test/messages.gz? [root@centos7?~]#?ll?/tmp/test/ 總用量?288 -rw-r-----?1?root?root??????0?2月??20?13:41?a -rw-rw-rw-?1?root?root??????0?2月??20?13:41?b.danger -r--r-----?1?root?root??????0?2月??20?13:41?c -rwxrwxr-x?1?root?root??????0?2月??20?13:41?d -rwxrwxrwx?1?root?root??????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root??????0?2月??20?13:41?f -rw-r--r--?1?root?root??????0?2月??20?13:41?g -rw-------?1?root?root?292504?2月??20?16:28?messages#?將壓縮或解壓縮的結果輸出至標準輸出(gzip?-c?FILE?>?/PATH/TP/SOMEFILE.gz) [root@centos7?~]#?gzip?-c?/tmp/test/messages?>?/tmp/test/messages.gz [root@centos7?~]#?ll?/tmp/test/ 總用量?332 -rw-r-----?1?root?root??????0?2月??20?13:41?a -rw-rw-rw-?1?root?root??????0?2月??20?13:41?b.danger -r--r-----?1?root?root??????0?2月??20?13:41?c -rwxrwxr-x?1?root?root??????0?2月??20?13:41?d -rwxrwxrwx?1?root?root??????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root??????0?2月??20?13:41?f -rw-r--r--?1?root?root??????0?2月??20?13:41?g -rw-------?1?root?root?292504?2月??20?16:28?messages -rw-r--r--?1?root?root??41791?2月??20?16:44?messages.gz#?解壓縮到標準輸出 [root@centos7?~]#?rm?-f?/tmp/test/messages [root@centos7?~]#?gzip?-d?-c?/tmp/test/messages.gz?>?/tmp/test/messages [root@centos7?~]#?ll?/tmp/test/ 總用量?332 -rw-r-----?1?root?root??????0?2月??20?13:41?a -rw-rw-rw-?1?root?root??????0?2月??20?13:41?b.danger -r--r-----?1?root?root??????0?2月??20?13:41?c -rwxrwxr-x?1?root?root??????0?2月??20?13:41?d -rwxrwxrwx?1?root?root??????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root??????0?2月??20?13:41?f -rw-r--r--?1?root?root??????0?2月??20?13:41?g -rw-r--r--?1?root?root?292504?2月??20?16:50?messages -rw-r--r--?1?root?root??41791?2月??20?16:44?messages.gz

?

?2.bzip2/bunzip2/bzcat

語法:

  • bzip2 [OPTION]... FILE ...

選項:

  • -k:keep, 保留原文件;

  • -d解壓縮;

  • -#:1-9,壓縮比,默認為6

bzcat:

  • 不顯式解壓縮的前提下查看文本文件內容

注意:

  • bzip2和gzip命令的使用方式基本相同,壓縮或解壓縮后都會刪除源文件

演示:

#?壓縮 [root@centos7?~]#?bzip2?/tmp/test/messages[root@centos7?~]#?ll?-h?/tmp/test/ 總用量?72K -rw-r-----?1?root?root???0?2月??20?13:41?a -rw-rw-rw-?1?root?root???0?2月??20?13:41?b.danger -r--r-----?1?root?root???0?2月??20?13:41?c -rwxrwxr-x?1?root?root???0?2月??20?13:41?d -rwxrwxrwx?1?root?root???0?2月??20?13:41?e.danger -rw-r--r--?1?root?root???0?2月??20?13:41?f -rw-r--r--?1?root?root???0?2月??20?13:41?g -rw-r--r--?1?root?root?26K?2月??20?16:50?messages.bz2?#壓縮后的結果 -rw-r--r--?1?root?root?41K?2月??20?16:44?messages.gz#?解壓縮 [root@centos7?~]#?bunzip2?/tmp/test/messages.bz2? [root@centos7?~]#?ll?-h?/tmp/test/ 總用量?332K -rw-r-----?1?root?root????0?2月??20?13:41?a -rw-rw-rw-?1?root?root????0?2月??20?13:41?b.danger -r--r-----?1?root?root????0?2月??20?13:41?c -rwxrwxr-x?1?root?root????0?2月??20?13:41?d -rwxrwxrwx?1?root?root????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root????0?2月??20?13:41?f -rw-r--r--?1?root?root????0?2月??20?13:41?g -rw-r--r--?1?root?root?286K?2月??20?16:50?messages??#?解壓縮后的結果 -rw-r--r--?1?root?root??41K?2月??20?16:44?messages.gz#?-k?選項不用指明重定向的文件,自動保留源文件在當前文件中 [root@centos7?~]#?bzip2?-k?/tmp/test/messages [root@centos7?~]#?ll?-h?/tmp/test/ 總用量?360K -rw-r-----?1?root?root????0?2月??20?13:41?a -rw-rw-rw-?1?root?root????0?2月??20?13:41?b.danger -r--r-----?1?root?root????0?2月??20?13:41?c -rwxrwxr-x?1?root?root????0?2月??20?13:41?d -rwxrwxrwx?1?root?root????0?2月??20?13:41?e.danger -rw-r--r--?1?root?root????0?2月??20?13:41?f -rw-r--r--?1?root?root????0?2月??20?13:41?g -rw-r--r--?1?root?root?286K?2月??20?16:50?messages -rw-r--r--?1?root?root??26K?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root??41K?2月??20?16:44?messages.gz


?3.xz/unxz/zxcat(壓縮比最強)

語法:

  • xz [OPTION]... FILE ...

選項:

  • -k:keep, 保留原文件;

  • -d:解壓縮;

  • -#:1-9,壓縮比,默認為6;

xzcat:

  • 不顯式解壓縮的前提下查看文本文件內容

演示:

[root@centos7?~]#?xz?/tmp/test/messages [root@centos7?~]#?ll?-h?/tmp/test/ 總用量?96K -rw-r-----?1?root?root???0?2月??20?13:41?a -rw-rw-rw-?1?root?root???0?2月??20?13:41?b.danger -r--r-----?1?root?root???0?2月??20?13:41?c -rwxrwxr-x?1?root?root???0?2月??20?13:41?d -rwxrwxrwx?1?root?root???0?2月??20?13:41?e.danger -rw-r--r--?1?root?root???0?2月??20?13:41?f -rw-r--r--?1?root?root???0?2月??20?13:41?g -rw-r--r--?1?root?root?26K?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41K?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21K?2月??20?16:50?messages.xz

歸檔工具:tar

?1.歸檔及常用工具

歸檔:

  • 歸檔就是將多個文件打包為單個文件以便于管理,默認的歸檔不會執行壓縮。

常用的工具:

  • tar,cpio(不常用)

?2.tar命令

語法:

  • tar [OPTION...] [FILE]...

創建歸檔(-c,-f 指定文件):

  • tar -c -f?/PATH/TO/SOMEFILE.tar ?FILE...?(后綴名固定以 .tar 結尾;)

  • tar -cf /PATH/TO/SOMEFILE.tar ?FILE...?(可以合并寫為-cf ,但不能寫為 -fc ,因為-f 選項后帶參數)

展開歸檔(-x,-f 指定文件):

  • tar -x -f?/PATH/TO/SOMEFILE.tar?(展開至歸檔所在的文件中)

  • tar xf /PATH/TO/SOMEFILE.tar?-C?/PATH/TO/SOMEFILE?(-C :展開歸檔至指定文件中)

查看歸檔文件中的列表(-t,-f 指定文件):

  • tar -tf?/PATH/TO/SOMEFILE.tar

注意:

  • 多個選項可以合并,但-f由于要帶參數,因此要放到最右側 如:-cf,-xf,-cf;

  • 選項的引導符 "-" 可省略。如:tar xf,tar zf

演示:

[root@centos7?~]#?ls?/tmp/test/tao boot.log??fstab??issue??pacemaker.log??wpa_supplicant.log??Xorg.0.log??yum.log#?對所有以?.log?結尾的文件進行歸檔 [root@centos7?~]#?tar?-cf?/tmp/test/mylog.tar?/tmp/test/tao/*.log [root@centos7?~]#?ll?/tmp/test/ 總用量?136 -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:45?mylog.tar???#?歸檔后的文件 drwxr-xr-x?2?root?root???121?2月??20?17:43?tao????#?展開歸檔 [root@centos7?test]#?tar?xf?mylog.tar? [root@centos7?test]#?ll 總用量?176 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:51?mylog.tar -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log drwxr-xr-x?2?root?root???121?2月??20?17:43?tao -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log#?-C?展開歸檔至指定文件中 [root@centos7?test]#?mkdir?/tmp/newtest [root@centos7?test]#?tar?xf?mylog.tar?-C?/tmp/newtest [root@centos7?test]#?ll?/tmp/newtest 總用量?40 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log#?查看歸檔文件中的文件列表 [root@centos7?test]#?tar?tf?mylog.tar? boot.log pacemaker.log wpa_supplicant.log Xorg.0.log yum.log



? 歸檔完成后通常需要壓縮,結合此前的壓縮工具,就能實現壓縮多個文件了。?

結合壓縮工具實現:歸檔并壓縮

-z:gzip(后綴名.tar.gz)

  • tar -zcf /PATH/TO/MEFILE.tar.gz?FILE... ?(創建歸檔并壓縮);

  • tar -zxf /PATH/TO/SOMEFILE.tar.gz ??(解壓縮并展開歸檔,z不寫也行)

-j:bzip2(后綴名.tar.bz2)

  • -jcf

  • -jxf

-J:xz(后綴名:.tar.xz)

  • -Jcf

  • -Jxf

注意:

  • 展開歸檔可以直接使用?tar xf?,而無需為其指定對應的壓縮工具選項即可

演示:

#?對目錄進行歸檔并壓縮 [root@centos7?test]#?tar?zcf?/tmp/test/tao.tar.gz?tao [root@centos7?test]#?ll?/tmp/test 總用量?184 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:51?mylog.tar -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log drwxr-xr-x?2?root?root???121?2月??20?17:43?tao???????????#?原文件 -rw-r--r--?1?root?root??7232?2月??20?18:15?tao.tar.gz????#?歸檔壓縮后的文件 -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log#?刪除原文件 [root@centos7?test]#?rm?-fr?tao?????????#?展開歸檔,其中?z?可省略,tar命令會自動識別其為壓縮文件 [root@centos7?test]#?tar?xf?tao.tar.gz? [root@centos7?test]#?ll 總用量?184 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:51?mylog.tar -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log drwxr-xr-x?2?root?root???121?2月??20?17:43?tao???????????#?展開后的文件 -rw-r--r--?1?root?root??7232?2月??20?18:15?tao.tar.gz -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log

zip/unzip

? ? ? ? ---最通用的壓縮工具,即可以歸檔,又能壓縮(現在不常用)

創建歸檔(.zip后綴):

  • zip file.zip ?/PATH/TO/SOMEFILE

解壓縮

  • unzip?file.zip

演示:

#?對目錄進行歸檔并壓縮 [root@centos7?test]#?zip?/tmp/test/tao.zip?taoadding:?tao/?(stored?0%) [root@centos7?test]#?ll 總用量?188 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:51?mylog.tar -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log drwxr-xr-x?2?root?root???121?2月??20?17:43?tao -rw-r--r--?1?root?root??7232?2月??20?18:15?tao.tar.gz -rw-r--r--?1?root?root???158?2月??20?18:26?tao.zip -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log[root@centos7?test]#?rm?-fr?tao#?解壓縮 [root@centos7?test]#?unzip?tao.zip? Archive:??tao.zipcreating:?tao/ [root@centos7?test]#?ll 總用量?188 -rw-r--r--?1?root?root?12097?2月??20?17:42?boot.log -rw-r--r--?1?root?root?26074?2月??20?16:50?messages.bz2 -rw-r--r--?1?root?root?41791?2月??20?16:44?messages.gz -rw-r--r--?1?root?root?21420?2月??20?16:50?messages.xz -rw-r--r--?1?root?root?40960?2月??20?17:51?mylog.tar -rw-r-----?1?root?root?????0?2月??20?17:42?pacemaker.log drwxr-xr-x?2?root?root?????6?2月??20?17:43?tao -rw-r--r--?1?root?root??7232?2月??20?18:15?tao.tar.gz -rw-r--r--?1?root?root???158?2月??20?18:26?tao.zip -rw-r--r--?1?root?root??2800?2月??20?17:42?wpa_supplicant.log -rw-r--r--?1?root?root?18303?2月??20?17:42?Xorg.0.log -rw-------?1?root?root???105?2月??20?17:42?yum.log

cpio 命令

cpio

  • cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件。

用法:

  • cpio[選項] > 文件名或者設備名

  • cpio[選項] < 文件名或者設備名

選項:

  • -o:將文件拷貝打包成文件或者將文件輸出到設備上;

  • -i:解包,將打包文件解壓或將設備上的備份還原到系統;

  • -t:預覽,查看文件內容或者輸出到設備上的文件內容;

  • -v:顯示打包過程中的文件名稱;

  • -d:解包生成目錄,在cpio還原時,自動的建立目錄;

  • -c:一種較新的存儲方式

示例:

將etc目錄備份:

  • find ./etc-print |cpio -ov> etc.cpio

內容預覽

  • cpio–tv < etc.cpio

要解包文件

  • cpio–iv < etc.cpio

  • cpio–idv < etc.cpio


轉載于:https://blog.51cto.com/1992tao/1899605

總結

以上是生活随笔為你收集整理的Linux系统压缩及解压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。