導航:首頁 > 文件處理 > linux開啟gzip壓縮

linux開啟gzip壓縮

發布時間:2023-06-02 07:40:07

㈠ 想在linux上用C實現gzip壓縮解壓縮,有沒有相關庫函數可以調用

命令: gzip語法:gzip [選項] 壓縮(解壓縮)的文件名
-c 將輸出寫到標准輸出上,並保留原有文件。
-d 將壓縮文件解壓。
-l 對每個壓縮文件,顯示下列欄位:
(1)壓縮文件的大小
(2)未壓縮文件的大小
(3)壓縮比
未壓縮文件的名字
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6。
註:gzip不能壓縮整個目錄。可以使用tar先打包,再壓縮
例如:
$ tar cf test.tar test/
$ gzip test.tar

$ tar czf test.tar.gz test/

㈡ Linux解壓.gz的命令

㈢ linux文將於目錄的壓縮和解壓縮命令:gzip壓縮文件

許可權不夠,做這個操作必須是-user student 用戶或超級用戶root,其他用戶都會報錯。

㈣ linux把文件壓縮成.tar.gz的命令

1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。

㈤ 在Linux下如何用tar命令調用gzip進行高壓縮率的打包將指定目錄下的所有文件及文件夾打包到指定目錄下

GZIP="-9" tar zcvf /home/homee.tgz /media

㈥ 文件壓縮

將多個文件或目錄合並成為一個特殊的文件

減小文件的體積
加快資源的傳輸
節省網路的帶寬

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

格式 壓縮工具
.zip zip壓縮工具
.gz gzip壓縮工具,只能壓縮文件,會刪除納困原文件(通常配合tar使用)
.bz2 bzip2壓縮工具,只能壓縮文件,會刪除原文件(通常配合tar使用)
.tar.gz 先使用tar命令歸檔打包,然後使用gzip壓縮
.tar.bz2 先使用tar命令歸檔打包,然後使用bzip壓縮

Linux gzip工具使用
1.gzip打包與壓縮 ,僅對文件有效.
gzip filename 打包
gzip -d filename.gz 解包
zcat filename.gz 查看包內文件的內容

linux本身沒有gzip命令,需yum install gzip -y進行安裝

gzip file #對文件進行壓縮
zcat file.gz #查看gz壓縮後的文件
gzip -d file.gz #解壓gzip的壓縮包

gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
zcat CentOS-Vault.repo.gz --> 查看不想解壓的壓磨悄縮包

默認情況下沒有zip和unzip工具,需要進行安裝 yum install zip unzip -y

1.壓縮洞游念文件為zip包
zip filename.zip filename
unzip -l filename.zip #查看壓縮包內容

2.壓縮目錄為zip包
zip -r dir.zip dir/

3.查看zip壓縮包文件是否完整
zip -T filename.zip
test of filename.zip OK

4.不解壓壓縮查看壓縮包中的內容
unzip -l filename.zip
unzip -t filename.zip #檢測文件是 否都ok

5.解壓zip文件包, 默認解壓至當前目錄
unzip filename.zip

6.解壓zip內容至/opt目錄
unzip filename.zip -d /opt/

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

c #創建新的歸檔文件
x #對歸檔文件解包
t #列出歸檔文件里的文件列表
f #指定包文件名,多參數f寫最後
z #使用gzip壓縮歸檔後的文件(.tar.gz)
j #使用bzip2壓縮歸檔後的文件(.tar.bz2)
J #使用xz壓縮歸檔後的文件(tar.xz)
C #指定解壓目錄位置
X #排除多個文件(寫入需要排除的文件名稱)
h #打包軟鏈接
--exclude #在打包的時候寫入需要排除文件或目錄

cjf #打包tar.bz格式 *
cJf #打包tar.xz格式 使用田少,不考慮
zxf #解壓tar.gz格式 *
jxf #解壓tar.bz格式 *

常用
czf #打包tar.gz格式 ( )
tf #查看壓縮包內容
xf #自動選擇解壓模式 (
)

將文件或目錄進行打包壓縮

tar czf test.tar.gz test/ test2/ #以gzip方式壓縮
tar cjf test.tar.bz2 dir.txt dir/ #以bz2方式壓縮

tar tf test.tar.gz
tar tf test.tar.bz2
tar tf test.tar.xz

tar xf test.tar.gz
tar xf test.tar.bz2
tar xf test.tar.xz
tar xf root.tar.gz -C /tmp/ #解壓至指定目錄

find tmp/ -type f | xargs tar czf tmp.tar.gz
tar czf tmp.tar.gz $(find /tmp/ -type f)

tar czf etc.tar.gz /etc/ --exclude=etc/services
tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

cat pc.txt
etc/gshadow
etc/gshadow-
etc/passwd
etc/passwd
etc/shadow
etc/shadow
etc/security/opasswd
etc/pam.d/passwd
tar czXf pc.txt etc.tar.gz /etc/

yum install mariadb-server
systemctl start mariadb
mkdir /backup

tar cJf /backup/mysql.tar.xz /var/lib/mysql
tar xf /backup/mysql.tar.xz -C /

cd /var/lib/mysql
tar cJf /backup/mysql.tar.xz *
tar tf /backup/mysql.tar.xz
tar xf /backup/mysql.tar.xz C /var/lib/mysql

㈦ 說說 Linux 中的壓縮與解壓縮指令(tar)

tar 的功能類似於 Windows 中的 WinRAR。它可以將多個目錄或文件打包成一個大文件,在打包的過程中還可以透過 gzip/bzip2/xz 的支持,對文件進行壓縮 1

tar 的選項參數很多,主要用到的有以下這些:

還是太多,記不住怎麼辦? 記住下面這些最常用的命令即可:

總結一下:z 為gzip;j 為bzip2;J 為xz。c 為壓縮;t 為查詢;x 為解壓縮。最後跟著 vf。f 一定要是最後一個,如果放在其他選項之前,tar 就會把文件名搞錯。比如 tar -zcfv xxx 命令,tar 指令就會認為壓縮文件名為 v!

壓縮的文件名稱要根據壓縮演算法加上響應的後綴:

只有知道了壓縮演算法,我們才能解的出來,你說是嗎?所以文件名規范很重要。

假設我們需要備份 /etc 文件夾,把它打成一個壓縮包 1 。這在實際應用中很常見,因為 /etc 文件夾存放了系統主要配置文件。在英文中完整單詞是etc.,也就是後面會帶上一個句點,表示「等等」之意。

接下來,我們分別使用 gzip、bzip2與 xz 演算法對 /etc 文件夾進行打包壓縮。

gzip 壓縮指令: time tar -zpcvf /root/etc.tar.gz /etc

bzip2壓縮指令: time tar -jpcvf /root/etc.tar.bz2 /etc

xz 壓縮指令: time tar -Jpcvf /root/etc.tar.xz /etc

從 real 中可以看出: gzip 的壓縮速度最快,而 xz 的壓縮速度最慢。

從大小上來看,xz 的壓縮率最高,而gzip 壓縮率最差。

壓縮率高,自然需要時間成本。因此需要壓縮的文件夾很大,那麼就要多多考慮時間成本咯。因為 gzip 壓縮速度快,這也是 *.tar.gz 比較流行的原因之一。

假設有這樣一種場景:我們需要打包某個文件夾(/root),但這個文件夾中的某個文件或者子文件夾不想打包進去(帶 etc 前綴)。也就是希望這個文件夾部分打包,部分不打包。可以執行以下指令:

tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root

加了 --exclude=/root/test.tar.gz 是為了排除自身,否則壓縮包中會包含一個大小為 0 的自身文件,這恐怕不是我們希望看到的:

通過 tar -ztvf test.tar.gz 就可以查看剛剛新打的壓縮包中所包含的文件列表:

使用命令 tar -ztvf etc.tar.gz 查看剛剛打好的壓縮包。注意要使用匹配的解壓縮演算法才能正確解壓,比如示例中是 gz 作為後綴,所以加了 -z 選項表示使用 gzip 演算法進行解壓。

部分輸出內容:

可以看到該命令把文件的許可權、賬戶以及歸屬組也一並列印出來了。

而且還有一點很關鍵,這些文件都沒有根目錄。如果沒有拿掉根目錄,解壓縮後的文件名就會是絕對路徑, 亦即解壓縮後的數據一定會被放置 到 /etc/xxx 去 1 !這樣系統的 /etc 文件夾就會被覆蓋,後果很嚴重。所以,tar 打包指令默認都會去除放入包中文件的根目錄。除非通過 -P 顯示要求保留這些文件的根目錄。

(1)完全解壓

利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解壓到 /tmp。解壓成功後,就會在 /tmp 下看到 /etc 文件夾。

如果需要在本地路徑下直接解開,那直接執行 tar -zxvf etc.tar.gz 即可。

(2)部分解壓

假設我們需要把壓縮包(etc.tar.gz)中的 vconsole.conf 解壓出來。可以先執行以下命令,查詢出該文件所對應的相對路徑:

tar -ztvf etc.tar.gz | grep 『console』

拿到需要解壓的文件路徑之後,就可以執行 tar -zxvf etc.tar.gz etc/vconsole.conf

進入當前目錄的 etc 文件夾,就可以看到 vconsole.conf 已經被解壓出來了:

【1】 鳥哥. 鳥哥的Linux私房菜 基礎學習篇[M]. 第四版. 北京: 人民郵電出版社,2018:359-362.

㈧ linux怎樣解壓.gz文件

當在備份重要文件和通過網路發送大文件的時候,對文件進行壓縮非常有用。請注意,壓縮一個已經壓縮過的文件會增加額外開銷,因此你將會得到一個更大一些的文件。所以,請不要壓縮已經壓縮過的文件。在 GNU/Linux 中,有許多程序可以用來壓縮和解壓縮文件。在這篇教程中,我們僅學習其中兩個應用程序。

在類 Unix 系統中,最常見的用來壓縮文件的程序是:

㈨ linux文件壓縮

tar[-j|-z][cv][-f建立的檔案名]filename...《==打包與壓縮

tar[-j|-z][tv][-f建立的檔案名]《==查看檔案

tar[-j|-z][xv][-f建立的檔案名][-C目錄]《==解壓縮

選項與參數:

-c:建立打包檔案,可搭配-v來觀察過程中被打包的檔案名(filename)

-t:查看打包檔案的內容含有那些檔案

-x:解壓縮的功能,可以搭配-C在特定的目錄解開;-c、-t、-x不能同時出現在一串指令列中。

-j:透過bzip2的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.bz2

-z:透過gzip的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.gz

-v:在壓縮/解壓縮的過程中,將正在處理文件名顯示出來

-ffilename:-f後面要立刻接被處理的檔案名!建議-f單獨寫一個選項

-C目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項


tar命令是Unix/Linux系統中非常常用的備份文件方法,它的使用許可權是所有用戶。

tar命令語法:

tar[主選項+輔選項]文件名或目錄。使用該命令時,主選項是必須要有的,它告訴tar命令要做什麼,輔選項是輔助使用的,可以選用。

主選項:

-c創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當於打包。

-x從檔案文件中釋放文件。相當於拆包。

-t列出檔案文件的內容,查看已經備份了哪些文件。

-r把要存檔的文件追加到檔案文件的末尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中

特別注意,主選項只能存在一個,c/x/t/r僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。

輔助選項:

-z:用gzip程序來壓縮或解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。文件格式一般為xx.tar.gz或xx.tgz

-j:使用bzip2程序進行文件的壓縮或解壓,文件格式一般為xx.tar.bz2

-v:壓縮的過程中顯示文件!這個常用

-f:使用檔名,請留意,在f之後要立即接檔名!不要再加其他參數!

-p:使用原文件的原來屬性(屬性不會依據使用者而變)

-w每一步都要求確認。

--excludeFILE:在壓縮的過程中,不要將FILE打包!

範例:

範例一:將整個/etc目錄下的文件全部打包成/tmp/etc.tar

[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==僅打包,不壓縮!

[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包後,以gzip壓縮

[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包後,以bzip2壓縮

#特別注意,在參數f之後的文件檔名是自己取的,我們習慣上都用.tar來作為辨識。

#如果加z參數,則以.tar.gz或.tgz來代表gzip壓縮過的tarfile

#如果加j參數,則以.tar.bz2來代表bzip2壓縮過的tarfile

#上述指令在執行的時候,會顯示一個警告訊息:

#『tar:Removingleading`/"frommembernames』那是關於絕對路徑的特殊設定。


範例二:查看上述/tmp/etc.tar.gz文件內有那些被壓縮的文件

[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz

#由於我們使用gzip壓縮,所以要查閱該tarfile內的文件時,

#就得要加上z這個參數了!這很重要的!

範例三:將/tmp/etc.tar.gz文件解壓縮在/usr/local/src底下

[root@linux~]#cd/usr/local/src

[root@linuxsrc]#tar-zxvf/tmp/etc.tar.gz

#在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說

#我先將工作目錄變換到/usr/local/src底下,並且解開/tmp/etc.tar.gz

#則解開的目錄會在/usr/local/src/etc,另外,如果您進入/usr/local/src/etc

#則會發現,該目錄下的文件屬性與/etc/可能會有所不同喔!

範例四:在/tmp底下,我只想要將/tmp/etc.tar.gz內的etc/passwd解開而已

[root@linux~]#cd/tmp

[root@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd

#我可以透過tar-ztvf來查閱tarfile內的文件名稱,如果單只要一個文件,

#就可以透過這個方式來下達!注意到!etc.tar.gz內的根目錄/是被拿掉了!

範例五:我要備份/home,/etc,但不要/home/dmtsai

[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc

另外:tar命令的C參數

$tar-cvffile2.tar/home/usr2/file2

tar:Removingleading'/'frommembersnames

home/usr2/file2
該命令可以將/home/usr2/file2文件打包到當前目錄下的file2.tar中,需要注意的是:使用絕對路徑標識的源文件,在用tar命令壓縮後,文件名連同絕對路徑(這里是home/usr2/,根目錄'/'被自動去掉了)一並被壓縮進來。使用tar命令解壓縮後會出現以下情況:

$tar-xvffile2.tar

$ls

………home…………

解壓縮後的文件名不是想像中的file2,而是home/usr2/file2。

$tar-cvffile2.tar-C/home/usr2file2

該命令中的-Cdir參數,將tar的工作目錄從當前目錄改為/home/usr2,將file2文件(不帶絕對路徑)壓縮到file2.tar中。注意:-Cdir參數的作用在於改變工作目錄,其有效期為該命令中下一次-Cdir參數之前。

使用tar的-Cdir參數,同樣可以做到在當前目錄/home/usr1下將文件解壓縮到其他目錄,例如:

$tar-xvffile2.tar-C/home/usr2

而tar不用-Cdir參數時是無法做到的:

$tar-xvffile2.tar/home/usr2

tar:/tmp/file:Notfoundinarchive

tar:


閱讀全文

與linux開啟gzip壓縮相關的資料

熱點內容
單片機編程取反 瀏覽:895
51單片機課程設計課題 瀏覽:897
手機淘寶登錄怎麼加密碼 瀏覽:484
linux快捷方式圖標 瀏覽:37
陽光車險的app叫什麼名字 瀏覽:461
購買單片機的器件時需要給商家啥 瀏覽:534
並行編譯技術的發展 瀏覽:549
阿里雲伺服器安裝管理 瀏覽:550
java手機開發教程 瀏覽:674
我的世界怎麼刪除伺服器數據 瀏覽:671
linux內存子系統 瀏覽:972
加密思維幣 瀏覽:690
魅族訪客文件夾 瀏覽:52
添加的文件夾怎麼找 瀏覽:617
程序員涉黃 瀏覽:700
maven編譯resources下的js 瀏覽:521
ubuntu文件移動命令 瀏覽:229
安卓i怎麼查找蘋果手機 瀏覽:951
雲伺服器宕機概率 瀏覽:232
在線買葯用什麼app知乎 瀏覽:815