在linux中使用tar命令進行壓縮和解壓縮

2021-09-02 09:25:34 字數 2563 閱讀 9576

在linux裡,可以使用tar命令對字尾為tar,gz,z,bz2,tgz,z等眾多檔案的壓縮與解壓縮。

( 最近又出現了xz型別的檔案,使用下面的命令可以進行解壓縮:

xz -d ***.xz )

1.tar命令說明如下:

tar格式: tar [選項] [檔案目錄列表]

功能: 對檔案目錄進行打包備份

選項:-c 建立新的歸檔檔案

-r 向歸檔檔案末尾追加檔案

-x 從歸檔檔案中解出檔案

-o 將檔案解開到標準輸出

-v 處理過程中輸出相關資訊

-f 對普通檔案操作

-z 呼叫gzip來壓縮歸檔檔案,與-x聯用時呼叫gzip完成解壓縮

-z 呼叫compress來壓縮歸檔檔案,與-x聯用時呼叫compress完成解壓縮

2.具體使用例子

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

tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮!

tar -zcvf /tmp/etc.tar.gz /etc <==打包後,以 gzip 壓縮

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』那是關於絕對路徑的特殊設定。

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

tar -ztvf /tmp/etc.tar.gz

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

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

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

cd /usr/local/src

tar -zxvf /tmp/etc.tar.gz

# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說,

# 我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz ,

# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc

# 則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!

2.4在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已

cd /tmp

tar -zxvf /tmp/etc.tar.gz etc/passwd

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

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

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

tar -zxvpf /tmp/etc.tar.gz /etc

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

2.6在 /home 當中,比 2005/06/01 新的檔案才備份

tar -n '2005/06/01' -zcvf home.tar.gz /home

2.7要備份 /home, /etc ,但不要 /home/dmtsai

tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

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

cd /tmp

tar -cvf - /etc | tar -xvf -

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

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

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

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

2.9解壓到指定的目錄

tar -zxvf /home/images.tar.gz -c /specific dir

2.10解包到指定的目錄

tar xvf filename.tar -c /specific dir

在Linux中使用nmap命令

一般在本機上檢視埠時,最好使用netstat,因為它安全又可靠,如果找不到埠,或不知道埠的作用是什麼,尤其在 etc services中沒有提到的埠對應的服務,就可以使用nmap命令.這個命令是系統管理員用來管理系統安全性的工具,可以通過它了解我們主機埠到底有什麼作用.語法 nmap 掃瞄型別 掃瞄...

在Linux中使用nmap命令

使用前提 一般在本機上檢視埠時,最好使用netstat,因為它安全又可靠,如果找不到埠,或不知道埠的作用是什麼,尤其在 etc services中沒有提到的埠對應的服務,就可以使用nmap命令.這個命令是系統管理員用來管理系統安全性的工具,可以通過它了解我們主機埠到底有什麼作用.語法 nmap 掃瞄...

在windows中使用linux命令

注意本文講的不是使用wsl或者mingw之類的工具,而是使用更輕量級的busybox來實現在windows中使用一些linux的命令比如ls,wget等 新建文字文件,將下面的 複製進去並將檔案修改字尾為bat,然後執行 rem 因為要把busybox拷到system32,所以先獲取管理員許可權 c...