當前位置:生活全書館 >

IT科技

> linux下tar解壓命令

linux下tar解壓命令

1、tar命令簡介:

tar命令是linux系統下最常用的打包程式,使用tar程式打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮。

2、語法:

tar [-cxtzjvfpPN] 檔案與目錄 ....

3、命令引數:

-c: 建立壓縮檔案

-x:解壓

-t:檢視內容

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

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

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

-z:有gzip屬性的

-j:有bz2屬性的

-Z:有compress屬性的

-v:顯示所有過程

-O:將檔案解開到標準輸出

下面的引數-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   //解壓tar.Z

unrar e file.rar //解壓rar

unzip file.zip //解壓zip

4、命令常見用法:

*.tar 用 tar -xvf 解壓

*.gz 用 gzip -d或者gunzip 解壓

*.tar.gz和*.tgz 用 tar -xzf 解壓

*.bz2 用 bzip2 -d或者用bunzip2 解壓

*.tar.bz2用tar -xjf 解壓

*.Z 用 uncompress 解壓

*.tar.Z 用tar -xZf 解壓

*.rar 用 unrar e解壓

*.zip 用 unzip 解壓

舉例:

將整個 /etc 目錄下的檔案全部打包成為 /tmp/etc.tar:

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

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

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

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

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

# 如果加 j 引數,則以 .tar.bz2 來作為附檔名啊~

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

# 『tar: Removing leading `/" from member names』那是關於絕對路徑的特殊設定。

查閱上述 /tmp/etc.tar.gz 檔案內有哪些檔案?

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

# 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時,

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

將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下:

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

[root@linux src]# 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@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

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

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

將 /etc/ 內的所有檔案備份下來,並且儲存其許可權。

[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc

# 這個 -p 的屬性是很重要的,尤其是要保留原本檔案的屬性時。

linux下tar解壓命令

標籤: 解壓 命令 linux tar
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/8p33oy.html