Linux打tar包命令

2021-07-03 14:17:33 字數 3205 閱讀 6318

範例一:將整個 /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 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!

範例六:在 /home 當中,比 2005/06/01 新的檔案才備份

[root@linux ~]# tar -n 『2005/06/01′ -zcvf home.tar.gz /home

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

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

範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生檔案!

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -cvf – /etc | tar -xvf –

# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!

# 要注意的地方在於輸出檔變成 – 而輸入檔也變成 – ,又有乙個 | 存在~

# 這分別代表 standard output, standard input 與管線命令啦!

# 這部分我們會在 bash shell 時,再次提到這個指令跟大家再解釋囉!

.tar

解包:tar xvf filename.tar

打包:tar cvf filename.tar dirname

(注:tar是打包,不是壓縮!)

———————————————

.gz解壓1:gunzip filename.gz

解壓2:gzip -d filename.gz

壓縮:gzip filename

.tar.gz 和 .tgz

解壓:tar zxvf filename.tar.gz

壓縮:tar zcvf filename.tar.gz dirname

———————————————

.bz2

解壓1:bzip2 -d filename.bz2

解壓2:bunzip2 filename.bz2

壓縮: bzip2 -z filename

.tar.bz2

解壓:tar jxvf filename.tar.bz2 或tar –bzip xvf filename.tar.bz2

壓縮:tar jcvf filename.tar.bz2 dirname

———————————————

.bz解壓1:bzip2 -d filename.bz

解壓2:bunzip2 filename.bz

壓縮:未知

.tar.bz

解壓:tar jxvf filename.tar.bz

壓縮:未知

———————————————

.z解壓:uncompress filename.z

壓縮:compress filename

.tar.z

解壓:tar zxvf filename.tar.z

壓縮:tar zcvf filename.tar.z dirname

———————————————

.zip

解壓:unzip filename.zip

壓縮:zip filename.zip dirname

壓縮乙個目錄使用 -r 引數,-r 遞迴。例: $ zip -r filename.zip dirname

———————————————

.rar

解壓:rar x filename.rar

壓縮:rar a filename.rar dirname

rar請到:

摘自:webshell blog

Linux 命令 tar 命令

tar abcdgghiklmmoopprrsstuuvwwxzz b 區塊數目 c 目的目錄 f 備份檔案 f date 日期時間 atime preserve backuup 備份方式 checkpoint concatenate confirmation delete exclude 範本樣式...

Linux命令 tar命令

1.命令原型 tar 必要引數 選擇引數 檔案 2.詳解 這個五個是獨立命令,壓縮和解壓都要用到其中乙個,可以和別的命令連用但只能用其中乙個,下面的引數是根據需要在壓縮 下面的 f引數是必須的 1.將目錄test的檔案打成乙個名為test.tar的包。c是表示產生新的包,f指定包的檔名。tar cv...

Linux 批量解壓tar包

某目錄下存在幾十個tar檔案,現需要全部解壓到另外乙個目錄中去,故寫了個簡單的指令碼來解決問題 bin bash written by hzy date 2014 10 06 src path path date des path path2 file list ls src path cd des...