Linux?中?tar?命令詳解
什么是 tar 命令?
tar
是 tape archive
的縮寫,意思是磁帶歸檔,歸檔可以視為存檔。tar
命令網(wǎng)上很多都提到,它是一個(gè)壓縮命令,為什么會這樣說呢?
實(shí)際上,它是用于創(chuàng)建和提取 tar 歸檔文件的,最初的設(shè)計(jì)就是用于將多個(gè)文件打包到磁帶上進(jìn)行備份。隨著時(shí)間的推移,tar
命令已經(jīng)擴(kuò)展到處理文件和目錄的歸檔和壓縮。
tar
命令之所以常被稱為壓縮命令,是因?yàn)樗ǔEc壓縮算法結(jié)合使用,可以在創(chuàng)建歸檔時(shí)對文件進(jìn)行壓縮,以減小歸檔文件的大小。這種結(jié)合使用壓縮算法的方式是出于效率和存儲空間的考慮,尤其在處理大量文件或傳輸文件時(shí)特別有用。壓縮算法通常是通過選項(xiàng)來指定的。在常見的 tar
命令中,使用 -z
選項(xiàng)表示使用 gzip
壓縮算法,-j
選項(xiàng)表示使用 bzip2
壓縮算法,而 -Z
選項(xiàng)表示使用 compress
壓縮算法。這些壓縮算法可以有效地減小文件的大小,并在需要時(shí)進(jìn)行解壓縮還原。所以,現(xiàn)在的 tar
命令在許多場景中不僅用于創(chuàng)建和提取歸檔文件,還常用于壓縮和解壓縮文件。
如何使用 tar 命令?
tar
命令的基本語法如下:
tar [選項(xiàng)參數(shù)] 歸檔文件名 文件/目錄名
其中,選項(xiàng)參數(shù)
是可選的,用于指定 tar
命令的不同操作。歸檔文件名
是要?jiǎng)?chuàng)建或提取的歸檔文件的名稱。文件/目錄名
是要打包或提取的文件或目錄的名稱。
創(chuàng)建歸檔文件
要?jiǎng)?chuàng)建歸檔文件,可以使用 -c
選項(xiàng)并指定要?jiǎng)?chuàng)建的歸檔文件的名稱,然后提供要打包的文件或目錄的名稱。
c
代表 create
,意味著創(chuàng)建一個(gè)新的歸檔文件來保存指定的文件和目錄。使用 -c
參數(shù)時(shí),通常需要結(jié)合 -f
參數(shù)指定存檔文件的名稱。f
代表 file
,表示后面緊跟著的參數(shù)是存檔文件的名稱。例如,-f archive.tar
指定了歸檔文件為 archive.tar
。
tar -c -f 歸檔文件.tar 文件/目錄
舉個(gè)例子,現(xiàn)在我們在 /opt/games/gta6
目錄下有一個(gè) crack 目錄,我們想將 crack
目錄歸檔,保存一下,那么就可以要?jiǎng)?chuàng)建名一個(gè)為 crack.tar
的歸檔文件并打包 crack
目錄,可以執(zhí)行以下命令:
tar -c -f crack.tar crack
提?。ń鈮海w檔文件
要從歸檔文件中提取文件或目錄,可以使用 -x
選項(xiàng)并指定要提取的歸檔文件的名稱。
x
代表 extract
,表示從存檔文件中提取歸檔的文件和目錄。使用 -x
參數(shù)時(shí),通常需要結(jié)合 -f
參數(shù)指定要提取的存檔文件的名稱。
tar -x -f 歸檔文件.tar
現(xiàn)在,我們把上一步創(chuàng)建的歸檔文件移動到 model
目錄下再進(jìn)行提取,提取所有文件和目錄,可以執(zhí)行以下命令:
tar -x -f crack.tar
壓縮歸檔文件
tar
命令還支持將歸檔文件與壓縮算法結(jié)合使用以減小文件大小。常見的壓縮算法包括 gzip (-z
)、bzip2 (-j
) 和 xz (-J
)。
tar -c -z -f 歸檔文件.tar.gz 文件/目錄 tar -c -j -f 歸檔文件.tar.bz2 文件/目錄 tar -c -J -f 歸檔文件.tar.xz 文件/目錄
現(xiàn)在,我們想要把 config4gta6
歸檔并且壓縮,分別使用這 3 種算法壓縮,那么可以分別創(chuàng)建名為 config4gta6.tar.gz
的 gzip 壓縮歸檔文件、config4gta6.tar.bz2
的 bzip2 壓縮歸檔文件和 config4gta6.tar.xz
的 xz 壓縮歸檔文件,并打包目錄 config4gta6
,現(xiàn)在就可以依次執(zhí)行以下命令:
tar -c -z -f config4gta6.tar.gz config4gta6 tar -c -j -f config4gta6.tar.bz2 config4gta6 tar -c -J -f config4gta6.tar.xz config4gta6
解壓歸檔文件
現(xiàn)在是有了 3 個(gè)壓縮的歸檔文件了,那么如何解壓呢?聰明的你肯定知道了,就是使用 -x
選項(xiàng)參數(shù)?,F(xiàn)在我們先將這 3 個(gè)壓縮歸檔文件移動到當(dāng)前的 crack
目錄下,在 crack
目錄中進(jìn)行解壓。
# 移動 3 個(gè)壓縮文件到 crack 目錄 mv config4gta6.tar.gz config4gta6.tar.bz2 config4gta6.tar.xz crack
接著我們可以根據(jù)壓縮的算法選擇用哪個(gè)參數(shù)來解壓,就是通過 -x
與 -z
或 -j
或 -J
配合使用。
直接解壓 gzip 壓縮歸檔文件到當(dāng)前目錄:
tar -x -z -f config4gta6.tar.gz
解壓 bzip2 壓縮歸檔文件到指定目錄,配置選項(xiàng)參數(shù) -C
(大寫字母 C,是 Change directory 的縮寫,表示改變目錄)來指定目錄:
tar -x -j -f config4gta6.tar.bz2 -C /opt/games/gta6/model/crack/bz2dir/
解壓 xz 壓縮歸檔文件到指定目錄:
tar -x -J -f config4gta6.tar.xz -C xzdir/
顯示歸檔文件內(nèi)容
要查看歸檔文件中的內(nèi)容,可以使用 -t
選項(xiàng)并指定歸檔文件的名稱。-t
列出存檔文件中的內(nèi)容(list)
tar -t -f 歸檔文件.tar
我們現(xiàn)在就看看歸檔的內(nèi)容,以最開始的 crack.tar
為例:
tar -t -f crack.tar
對于有使用壓縮算法壓縮的歸檔文件,也是一樣的用法。
tar -t -f config4gta6.tar.gz
其他常用選項(xiàng)
除了上述基本用法,tar
命令還提供了許多其他選項(xiàng),用于執(zhí)行各種操作和控制歸檔文件的行為。以下是一些常用的選項(xiàng):
-v
:(verbose,詳細(xì)的)顯示詳細(xì)輸出,列出打包或提取的每個(gè)文件的名稱。-C
:(Change directory)切換到指定目錄后再執(zhí)行操作,在tar
命令中,一般就是解壓的時(shí)候,配合這個(gè) -C,可以讓我們將文件解壓到其他指定的目錄中。-u
:(update)僅將較新的文件添加到存檔文件中。
選項(xiàng)參數(shù)的先后順序
在 tar
命令中,選項(xiàng)參數(shù)的先后順序通常沒有特定的規(guī)定。你可以根據(jù)需要靈活地組合和排列選項(xiàng)參數(shù)。
還有一些通用的慣例需要知道,這樣可以幫助我們更好地使用選項(xiàng)參數(shù):
- 通常情況下,選項(xiàng)參數(shù)以連字符
-
開頭,例如-c
,-x
,-v
等。 - 單個(gè)字母的選項(xiàng)參數(shù)可以組合在一起,形成一個(gè)選項(xiàng)字符串。例如,
-cvf
表示同時(shí)啟用-c
,-v
,-f
這三個(gè)選項(xiàng)。 - 選項(xiàng)參數(shù)的順序可能會影響命令的行為。例如,使用
-f
選項(xiàng)指定文件名時(shí),應(yīng)該確保-f
出現(xiàn)在文件名之前,以便正確識別文件名。 - 一些選項(xiàng)參數(shù)可能需要后面緊跟著參數(shù)值。例如,
-f
選項(xiàng)需要指定后面的文件名,例如-f archive.tar.gz
。
總結(jié)
tar
最初是 tape archive(磁帶歸檔)的簡稱,并且在早期主要用于磁帶備份,但現(xiàn)在它已經(jīng)成為一種常見的文件處理工具,可以創(chuàng)建、提取和管理歸檔文件,并結(jié)合壓縮算法實(shí)現(xiàn)文件的壓縮和解壓縮功能。
現(xiàn)在,相信聰明的你已經(jīng)學(xué)會了 tar
命令!
希望本文能夠幫助大家更好地理解和應(yīng)用 tar
命令。如果你對其他 Linux 命令也感興趣,敬請期待我后續(xù)的文章。謝謝大家的閱讀!
以上就是Linux 中 tar 命令詳解的詳細(xì)內(nèi)容,更多關(guān)于Linux tar 命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
用shell腳本和c語言將大寫字母轉(zhuǎn)成小寫的代碼
最近在學(xué)shell編程,在網(wǎng)上看到tr '[:upper:]' '[:lower:]' 可以把字符串中大寫字母轉(zhuǎn)換成小寫字母,我就在這個(gè)的基礎(chǔ)上寫了一個(gè)腳本來自己學(xué)習(xí)學(xué)習(xí)2013-08-08Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對比文件是否一致
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對比文件是否一致,本文腳本在特殊環(huán)境下使用,需要的朋友可以參考下2014-12-12win10下如何運(yùn)行.sh文件的實(shí)現(xiàn)步驟
這篇文章主要介紹了win10下如何運(yùn)行.sh文件的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼
這篇文章主要介紹了Linux oracle數(shù)據(jù)庫備份完成后可以自動壓縮腳本代碼,大家參考使用2013-12-12ubuntu 解決libsqlite3-0依賴的問題(推薦)
下面小編就為大家?guī)硪黄猽buntu 解決libsqlite3-0依賴的問題(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05