linux檔案夾與檔案壓縮/解壓命令

來源:互聯網
上載者:User

在linux中對檔案夾與檔案壓縮/解壓命令一秀是用到了tar ,zip ,unzip 命令,下面我們一一舉例說明。

文法:gzip [選項] 壓縮(解壓縮)的檔案名稱該命令的各選項含義如下:

-c 將輸出寫到標準輸出上,並保留原有檔案。-d 將壓縮檔解壓。-l 對每個壓縮檔,顯示下欄欄位:     壓縮檔的大小;未壓縮檔的大小;壓縮比;未壓縮檔的名字-r 遞迴式地尋找指定目錄並壓縮其中的所有檔案或者是解壓縮。-t 測試,檢查壓縮檔是否完整。-v 對每一個壓縮和解壓的檔案,顯示檔案名稱和壓縮比。-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),-9 或--best表示最慢壓縮方法(高壓縮比)。系統預設值為 6。指令執行個體:

gzip *% 把目前的目錄下的每個檔案壓縮成 .gz 檔案。gzip -dv *% 把目前的目錄下每個壓縮的檔案解壓,並列出詳細的資訊。gzip -l *% 詳細顯樣本1中每個壓縮的檔案的資訊,並不解壓。gzip usr.tar% 壓縮 tar 備份檔案 usr.tar,此時壓縮檔的副檔名為.tar.gz。


1、tar

用法樣本

 代碼如下 複製代碼

    tar -cf  test.tar  test.txt 該命令會把test.txt打包為一個 test.tar 的檔案。

    tar -zcf  test.tar.gz  test.txt 該命令會把test.txt打包並且壓縮成一個 test.tar.gz檔案。

    tar -rf  test.tar  test2.txt 該命令會把test2.txt打包進已經存在的test.tar檔案中。

    tar -tf  test.tar 會列出test.tar包中的檔案。

    tar -xf test.tar 會解開(有點類似解壓)test.tar檔案。

    tar -zcvf test.tar.gz test.txt 和 tar -zcf  test.tar.gz  test.txt 類似。只不過該命令會顯示壓縮排程。

    tar -zxvf test.tar.gz 會解壓檔案。

2、zip 命令。

     一般用法: zip test.zip test.txt 該命令會自動打包並壓縮 test.txt 為 test.zip檔案。

    

 代碼如下 複製代碼

  zip -g test.zip test2.txt 該命令會把test2.txt壓縮排已經存在的test.zip中。

      zip -u test.zip test.txt 會檢查test.txt是否有更新,如果檔案已經更改,則重新將test.txt壓縮排test.zip。否則不執行壓縮。

      zip -d test.zip test2.txt 會將test.zip中,test2.txt刪除掉。

3、unzip 用來解壓zip檔案。

一般用法。zip test.zip解壓test.zip

 zip test.zip *.php 將test.zip中 php檔案全部解壓出來。

-f 只解壓更新已存在的檔案,其他檔案不解壓(但更新時會一一詢問)。

-u 解壓更新已存在的檔案,並把不存在的檔案也解壓(但更新時會一一詢問)。

-fo 只解壓更新已存在的檔案,其他檔案不解壓(但不詢問直接覆蓋更新)。

-uo 解壓更新已存在的檔案,並把不存在的檔案也解壓(但不詢問直接覆蓋更新)。

-o 不論檔案是新是舊,一律從壓縮檔中解壓,並直接覆蓋。

-n 只把不存在的檔案解壓,已存在的檔案則無論新舊一律保留原狀。

-C 不計較大小寫不同,視為相同檔案名稱(預設是視為不同)。

-L 解壓時一律將檔案名稱轉為小寫。

還有,遇到有子目錄時的處理決策:

-j 不管原來壓縮時的目錄為何,均全部解開於現行目錄。

-d 後面接一個目錄名稱。可以指定解壓到該目錄。

一個其他的常用選項:

-l 只列出壓縮包裡面有哪些檔案,而不真的解開壓縮。

4、gzip 將檔案壓縮。


範例:

範例一:將整個 /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 時,

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.