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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux之文件压缩与打包

發布時間:2025/3/20 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux之文件压缩与打包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?在講解壓縮與打包之前說一下什么是壓縮,簡單的說,就是經過壓縮軟件壓縮的文件叫壓縮文件,壓縮的原理是把文件的二進制代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0 的寫法60,來減少該文件的空間,計算機中都是以byte為單位的,其實bit才是計算的最小單位,比如對于一個8位的 0000 00001正好是一個byte,但是發現前7位都是0,因此可以“記錄”1,這樣就省下了 7 bits,實現文件變小的功能。

Linux 系統常見的壓縮命令有以下幾個,這里之所以有擴名,完全是為了我們解讀文件的直觀性,看到就知道是什么格式的壓縮文件,最主要的是不同的壓縮格式解壓縮的方式不同,所以通過后綴名,可以使用正確的解壓縮方式進行解壓縮

1、gzip , zcap

gzip是應用最為廣泛的壓縮命令,gzip 可以解壓zip 和 gzip等軟件的壓縮文件

[root @localhost ~]#gzip [-cdtv#] filename [root @localhost ~]#zcap filename.gz參數解析: -c: 將壓縮的數據輸出到屏幕上,可通過數據流重定向來處理 -d:解壓縮參數 -t: 用來檢查一個壓縮文件的一致性,查看文件有無錯誤 -v: 顯示源文件和壓縮文件的壓縮比例 -#:壓縮等級,-1,壓縮速度最快,壓縮比最差,-9最慢,壓縮比最好,默認是-6

注意:使用gzip進行壓縮時,默認下文件被壓縮成.gz的形式,源文件會被刪除

知道普通文件的查看可以是 cat 命令,同樣,壓縮文件可以使用 zcat 進行查看 壓縮文件的內容


現在將上述壓縮文件解壓縮

[root@localhost tmp]# gzip -d man.config.gz


注意:gzip -d 解壓縮后,默認的將.gz的壓縮文件刪除,生成源文件

利用重定向保留源文件和壓縮文件

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

2、bzip2,bzcat

bzip2壓縮方式是為了取代gzip并提供最佳的壓縮比而產生的,其用法同gzip完全一樣,只是為了更好的壓縮比,同時為了查看壓縮文件的內容,使用bzcat進行查看,壓縮文件的后綴是 .bz

[root @localhost ~]#bzip2 [-cdtv#] filename [root @localhost ~]#bzcap filename.bz2參數解析: -c: 將壓縮的數據輸出到屏幕上,可通過數據流重定向來處理 -d:解壓縮參數 -t: 用來檢查一個壓縮文件的一致性,查看文件有無錯誤 -v: 顯示源文件和壓縮文件的壓縮比例 -#:壓縮等級,-1,壓縮速度最快,壓縮比最差,-9最慢,壓縮比最好,默認是-6

3、打包 tar

什么是打包?就是將多個文件或者目錄包成一個文件的功能。

[root @localhost ~]#tar [-j|-z] [cv] [-f新建的文件名] filename1,filenam2.... #打包與壓縮 [root @localhost ~]#tar [-j|-z] [-tv] [-f 新建的文件名] #查看文件名 [root @localhost ~]#tar [-j|-z] [xv] [-f新建的文件名] [-C 目錄] #解壓縮參數參數解析: -c: 新建打包文件,可搭配 -v來查看過程中被打包的文件名 filename1... -t: 查看打包文件的內容含有哪些文件名,重點在查看文件名 -x: 解打包或者解壓縮,搭配 -C 在特定目錄解開,特別注意:-c,-t,-x不可同時出現在一串命令行中 -j: 通過bzip2的支持進行壓縮/解壓縮,此時文件名的后綴建議為.tar.bz2 -z: 通過gzip的支持進行壓縮/解壓縮,此時文件名的后綴建議為.tar.gz -v: 在壓縮/解壓縮的過程中,將正在處理的文件名顯示處理 -f filename: -f后面跟要被處理的文件,建議 -f 單獨寫成一個參數 -C 目錄: 這個參數在解壓縮時,若要在特定目錄解壓縮,可以使用這個參數

另外還有兩個參數:

-p: 保留備份數據的基本權限與屬性,常用與備份(-c)重要的配置文件

-P:保留絕對路徑,即允許備份數據中含有根目錄存在之意

注意:之所以要將 -f filename單獨寫,如果 -jcvf filename也可以,但由于參數的順序是可以變更,這樣與 -jvfc filename 僅? ? ? ? ? ? ? ?僅?是變更了參數順序,但是這樣是不行,因為 -f filename ,這樣導致生成了文件名為 c 的文件,因此建議-f單獨列出來

常見的使用tar如下幾條命令:

[root @localhost ~]#tar -jcv -f filename.tar.bz2 要被壓縮的文件和目錄 #壓縮命令 [root @localhost ~]#tar -jtv -f filename.tar.bz2 #查詢 [root @localhost ~]#tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄 #解壓縮

將/etc目錄下的文件打包并壓縮為etc.tar.gz的壓縮文件

[root @localhost ~]#tar -zpcv -f /root/etc.tar.gz /etc

由于指定了 -v 參數,因此會將打包壓縮過程中的文件名顯示在屏幕上,對于 -p 參數,是為了保留源文件的權限和屬性


圖中,顯示了部分打包壓縮過程中的文件名。解壓縮

[root @localhost ~]#tar -jpcv -f /root/etc.tar.gz /etc [root @localhost ~]#tar -jxv -f /root/etc.tar.bz2 #將 tar 文件解壓縮

注意:文件的備份和復制過程中,文件的權限可能會發生變更,因此在備份重要的系統數據時,源文件的權限必須進行完整的備份

查看 tar 文件的數據內容

[root @localhost ~]#tar -jtv -f /root/etc.tar.bi2

這里給出整個過程:

[root @localhost ~]#tar -jpcv -f /root/etc.tar.bz2 /etc #將 /etc 目錄壓縮為etc.bta.bz2 的壓縮文件 [root @localhost ~]#tar -jtv -f /root/etc.tar.bz2 #查看 tar 文件的數據內容

查看壓縮文件的內容時,使用 參數? -v? 會將文件權限/屬性顯示出來

[root @localhost ~]#tar -jxv -f /root/etc.tar.bz2 #將 tar 文件解壓縮

此時會看到解壓縮后的文件? /etc? 會在本目錄下生成


通常需要指定解壓縮的位置,將解壓縮后的文件放在 /tmp 目錄下

[root @localhost ~]#tar -jxv -f /root/etc.tar.bz2 -C /tmp #指定 tar 文件解壓縮的位置為 /tmp

a.那如果只是想解壓壓縮文件中的某一個文件呢?

使用? -jtv? 找到你要的文件名

[root @localhost ~]#tar -jtv -f /root/etc.tar.bz2 | grep 'shadow' #找到需要解壓的文件 [root @localhost ~]#tar -jxv -f /root/etc.tar.bz2 /etc/shadow #解壓壓縮文件中的一個文件

其中方法是,先通過 -jtv 找到需要解壓的文件,然后使用 -jxv 進行解壓

[root @localhost ~]#tar -jxv -f? 打包文件.tar.bz2 待解壓的文件名

b.打包某個目錄,但是不包含該目錄下的某些文件



總結

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

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