首頁 php教程 PHP开发 Linux下的壓縮與解壓縮指令詳細解析

Linux下的壓縮與解壓縮指令詳細解析

Jan 07, 2017 pm 01:42 PM

linux zip指令

zip -r myfile.zip ./*
將目前目錄下的所有檔案和資料夾全部壓縮成myfile.zip檔,-r表示遞歸壓縮子目錄下所有檔案.

2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip檔案解壓縮到/home/sunny/
-o:不提示的情況下覆蓋檔案;
-d:-d /home/sunny 指明將檔案解壓縮到/home/sunny目錄下;

3.其他
zip -d myfile.zip smart.txt
刪除壓縮檔案中smart.txt檔案
zip -m myfile.zip ./rpm_info.txt
向壓縮文件中myfile.zip中加入rpm_info.txt檔案
-------------------------------------- -----------------------------------------

要使用zip 來壓縮文件,在shell 提示下鍵入下面的命令:
zip -r filename.zip filesdir

在這個範例裡,filename.zip 代表你建立的文件,filesdir 代表你想放置新zip 檔案的目錄。 -r 選項指定你想遞歸地(recursively)包含所有包含在 filesdir 目錄中的檔案。

要抽取zip 檔案的內容,鍵入以下命令:
unzip filename.zip你可以使用zip 指令同時處理多個檔案和目錄,方法是將它們逐一列出,並用空格間隔:

zip -r filename. zip file1 file2 file3 /usr/work/school 上面的指令把file1、file2、 file3、以及/usr/work/school 目錄的內容(假設這個目錄存在)壓縮起來,然後放入filename.zip 檔案中。

tar 指令詳解

-c: 建立壓縮檔案

-x:解壓縮

-t:查看內容

-r:向壓縮歸檔檔案中追加檔案

-u

這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓縮檔案時可選的。

-c: 建立壓縮檔案

-x:解壓縮

-t:查看內容

-r:向壓縮歸檔檔案末尾追加檔案

-u:更新原廠壓縮包中的檔案

-f是必須的

-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。

# tar -cf all.tar *.jpg

這條指令是將所有.jpg的檔案打成一個名為all.tar的套件。 -c是表示產生新的包,-f指定包的檔名。

# tar -rf all.tar *.gif

這條命令是將所有.gif的檔案增加到all.tar的包包裡面去。 -r是表示增加文件的意思。

# tar -uf all.tar logo.gif

這條指令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar

這條命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar

這條命令是解出all.tar包中所有文件,-t是解開的意思

壓縮

tar –cvf jpg.tar *.jpg //將目錄裡所有jpg文件打包成tar.jpg

tar –czf jpg.tar .gz *.jpg //將目錄裡所有jpg檔打包成jpg.tar後,並且將其用gzip壓縮,產生一個gzip壓縮過的包,命名為jpg.tar.gz

tar –cjf jpg.tar .bz2 *.jpg //將目錄裡所有jpg檔打包成jpg.tar後,並且將其用bzip2壓縮,產生一個bzip2壓縮過的包,命名為jpg.tar.bz2

tar –cZf jpg.tar .Z *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用compress壓縮,產生一個umcompress壓縮過的包,命名為jpg.tar.Z

rar a jpg.rar * .jpg //rar格式的壓縮,需要先下載rar for linux

zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux

解壓

tar –xvf file.tar //解壓縮tar包

tar -xzvf file.tar.gz //解壓縮tar.gz

tar -xjvf file.tar.bz2 //解壓縮tar.bz2

tar –xZvf file.tar.Z // 壓縮. Z

unrar e file.rar //解壓縮rar

unzip file.zip //解壓縮zip

總結

1、*.tar 用tar –xvf 解壓

2、ip*解壓縮

3、*.tar.gz和*.tgz 用tar –xzf 解壓縮

4、*.bz2 用bzip2 -d或用bunzip2 解壓

5、*tar.tar.bz2用或用bunzip2 解壓

5、*tar.tar.bz2用或用bunzj2 解壓

6、*.Z 用uncompress 解壓縮

7、*.tar.Z 用tar –xZf 解壓縮

8、*.rar 用unrar e解壓縮

9、*.zip 用unzip 解壓命令

(轉載的資料)

tar指令

tar 可以為檔案和目錄建立檔案。利用tar,使用者可以為某一特定文件建立檔案(備份檔案),也可以在檔案中改變文件,或在檔案中加入新的文件。 tar最初被 用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案,如軟碟。利用tar指令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將 幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。 Linux上的tar是GNU版本的。

語法:tar [主選項+輔選項] 檔案或目錄

使用該指令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

主選項:

c 建立新的檔案檔案。如果使用者想備份一個目錄或是一些文件,就要選擇這個選項。

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

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

u 更新檔案。是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。

x 從檔案文件中釋放文件。

輔助選項:

b 此選項是為磁帶機設定的。其後接一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。

f 使用檔案文件或設備,這個選項通常是必選的。

k 保存已經存在的檔案。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。

m 在還原檔案時,把所有檔案的修改時間設定為現在。

M 建立多磁碟區的檔案文件,以便在幾個磁碟中存放。

v 詳細報告tar處理的文件資訊。如無此選項,tar不報告文件資訊。

w 每一步都要求確認。

z 用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。

Linux下的壓縮檔剖析

對於剛接觸Linux的人來說,一定會給Linux下一大堆各式各樣的檔名給搞暈。別個不說,單單就壓縮檔為例,我們知道在Windows下最常見 的壓縮檔就只有兩種,一是,zip,另一個是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等眾多的壓縮檔名,此外windows下的.zip和.rar也可以在Linux下使用,不過在Linux使用.zip和.rar的人太少了。本文就來對這些 常見的壓縮檔案進行一番小結,希望你下次遇到這些檔案時不會被搞暈。

在具體總結各類壓縮檔案之前呢,首先要弄清楚兩個概念:打包和壓縮。打包是指將一大堆文件或目錄什麼的變成一個總的文件,壓縮則是將一個大的文件通過一些壓 縮算法變成一個小文件。為什麼要區分這兩個概念呢?其實這源自於Linux中的很多壓縮程式只能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你就得先借助另它的工具將這一大堆檔案先打成一個包,然後再就原來的壓縮程式進行壓縮。

Linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包,tar包檔的指令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮了,所以首先就來講講tar命令的基本用法:

tar命令的選項有很多(用man tar可以查看到),但常用的就那麼幾個選項,下面來舉例說明一下:

# tar -cf all.tar *.jpg

這條指令是將所有.jpg的檔案打成一個名為all.tar的套件。 -c是表示產生新的包,-f指定包的檔名。

# tar -rf all.tar *.gif

這條命令是將所有.gif的檔案增加到all.tar的包包裡面去。 -r是表示增加文件的意思。

# tar -uf all.tar logo.gif

這條指令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar

這條命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar

這條命令是解出all.tar包中所有文件,-t是解開的意思

以上就是tar的最基本的用法。為了方便使用者在打包解包的同時可以壓縮或解壓縮文件,tar提供了一個特殊的功能。這就是tar可以在打包或解包的同時呼叫其它的壓縮程序,例如呼叫gzip、bzip2等。

1) tar呼叫gzip

gzip是GNU組織開發的一個壓縮程序,.gz結尾的檔案就是gzip壓縮的結果。與gzip相對的解壓縮程式是gunzip。 tar中使用-z這個參數來呼叫gzip。下面來舉例說明一下:

# tar -czf all.tar.gz *.jpg

這條指令是將所有.jpg的檔案打成一個tar包,並且將其用gzip壓縮,產生一個gzip壓縮過的包,包名為all.tar.gz

# tar -xzf all.tar.gz

這條指令是將上面產生的包解開。

2) tar呼叫bzip2

bzip2是一個壓縮能力更強的壓縮程序,.bz2結尾的檔案就是bzip2壓縮的結果。與bzip2相對的解壓縮程序是bunzip2。 tar中使用-j這個參數來呼叫gzip。下面來舉例說明:

# tar -cjf all.tar.bz2 *.jpg

這條指令是將所有.jpg的檔案打成tar包,並且將其用bzip2壓縮,產生一個bzip2壓縮過的包,包名為all.tar.bz2

# tar -xjf all.tar.bz2

這條命令是將上面產生的包解開。

3)tar呼叫compress

compress也是一個壓縮程序,但是好像使用compress的人不如gzip和bzip2的人多。 .Z結尾的檔案就是bzip2壓縮的結果。與 compress相對的解壓縮程式是uncompress。 tar中使用-Z這個參數來呼叫gzip。下面來舉例說明一下:

# tar -cZf all.tar.Z *.jpg

這條指令是將所有.jpg的檔案打成一個tar包,並且將其用compress壓縮,產生一個uncompress壓縮過的包,包名為all.tar.Z

# tar -xZf all.tar.Z

這條命令是將上面產生的包解開

有了上面的知識,你應該可以解開多種壓縮檔了,下面對於tar系列的壓縮檔作一個小結:

1)對於.tar結尾的檔

tar -xf all.tar

2)對於.gz結尾的檔

gzip -d all. gz

gunzip all.gz

3)對於.tgz或.tar.gz結尾的檔案

tar -xzf all.tar.gz

tar -xzf all.tgz

.tar.gz

tar -xzf all.tgz

bzip2 -d all.bz2

bunzip2 all.bz2

5)對於tar.bz2結尾的檔案

tar -xjf all.tar.bz2

. Z

7)對於.tar.Z結尾的檔案

tar -xZf all.tar.z

另外對於Window下的常見壓縮檔案.zip和.rar,Linux也有相應的方法來解壓縮它們:

1)對於.zip

linux下提供了zip和unzip程序,zip是壓縮程序,unzip是解壓縮程序。它們的參數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:

# zip all.zip *.jpg

這條指令是將所有.jpg的檔案壓縮成zip套件

# unzip all.zip

這條命令是將all.zip中的所有文件解壓縮出來

2)對於.rar

要在linux下處理.rar文件,需要安裝RAR for Linux,可以從網上下載,但要記住,RAR for Linux

不是免費的;然後安裝:

# tar -xzpvf rarlinux-3.2.0.tar.gz

# cd rar

# m了有了rar和unrar這兩個程序,rar就是壓縮程序,unrar是解壓縮程式。它們的參數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:

# rar a all *.jpg

這條命令是將所有.jpg的檔案壓縮成一個rar包,名為all. rar,程式會將.rar 副檔名將自動附加到套件名稱後。

# unrar e all.rar

這條指令是將all.rar中的所有檔案解壓縮出來

到此為至,我們已經介紹過linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、 uncompress、 zip、unzip、rar、unrar等程序,你應該已經能夠使用它們對.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、. zip、.rar這10種壓縮檔進行解壓縮了,以後應該不需要為下載了一個軟體而不知道如何在Linux下解開而煩惱了。而且以上方 法對於Unix也基本有效。

本文介紹了linux下的壓縮程式tar、gzip、gunzip、bzip2、bunzip2、 compress、uncompress、zip、unzip、rar、unrar等程式,以及如何使用它們對.tar、.gz、.tar.gz、 . tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar這10種壓縮檔進行操作

更多Linux下的壓縮與解壓縮指令詳細解析相關文章請關注PHP中文網!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)