linux tar 命令引數 詳細

2021-06-20 03:09:23 字數 2889 閱讀 5864

tar  [-cxtzjvfppn]

檔案與目錄 ....

引數:-c

: create     建立

-x : extract    解壓 

-t :  list         列出內容

特別注意,在引數的下達中, c/x/t

僅能存在乙個!不可同時存在!

因為不可能同時壓縮與解壓縮。

-z:gzip

-j : bzip2

-v:verbose       壓縮的過程中顯示檔案!這個常用,但不建議用在

背景執行過程!

-f: file             使用檔名,請留意,在 f

之後要立即接檔名喔!不要再加引數!

例如使用『 tar -zcvfp tfile sfile

』就是錯誤的寫法,要寫成

『 tar -zcvpf tfile sfile

』才對喔!

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

-p:可以使用絕對路徑來壓縮!

-n:比後面接的日期(yyyy/mm/dd)

還要新的才會被打包進新建的檔案中!

--exclude file

:在壓縮的過程中,不要將 file

打包!範例:範例一:將整個 /

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

與管線命令啦!

Linux tar 命令常用引數

下面是網上收錄的經典範例 例1 把 home目錄下包括它的子目錄全部做備份檔案,備份檔案名為usr.tar。tar cvf usr.tar home 例2 把 home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔案名為usr.tar.gz tar czvf usr.tar.gz home ...

linux Tar 命令引數詳解

tar命令 1.作用 tar命令是unix linux系統中備份檔案的可靠方法,幾乎可以工作於任何環境中,它的使用許可權是所有使用者。2.格式 tar 主選項 輔選項 檔案或目錄 eg tar zxvf libiconv 1.13.tar.gz libiconv tar cxvf libiconv ...

Linux tar命令引數詳解

命令總覽 命令描述 tar程式用於儲存或展開tar存檔檔案。存檔檔案可放在磁碟中,也可以存為普通檔案。tar是需要引數的,可選的引數是a c d r t u x。在使用tar時,必須首先為tar指定至少乙個引數 然後,必須指定要處理的檔案或目錄。如果指定乙個目錄則該目錄下的所有子目錄都將被加入存檔。...