Linux 檔案的壓縮與歸檔,linux壓縮歸檔

來源:互聯網
上載者:User

Linux 檔案的壓縮與歸檔,linux壓縮歸檔
檔案壓縮

常用的壓縮命令有 gzip、bzip2 等。

gzip 命令命令格式

gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]

命令參數

-c --stdout --to-stdout
  將輸出內容寫到標準輸出連接埠,並保持原有檔案不變

-d --decompress --uncompress
  解壓縮

-f --force
  強制壓縮

-h --help
  列印協助資訊

-l --list
  列出壓縮檔的壓縮統計

-L --license
  列印版本與著作權資訊

-q --quiet
  不顯示警告資訊

-r --recursive
  遞迴(解)壓縮

-S .suf --suffix .suf
  指定壓縮檔的尾碼為 .suf,預設尾碼是 .gz

-t --test
  檢驗壓縮檔的完整性

-v --verbose
  在(解)壓縮時顯示詳細資料

-V --version
  列印版本與著作權資訊

-# --fast --best
  設定壓縮層級。# 的取值範圍為 1~9,# 的取值越大,壓縮速度越慢,壓縮效果越好。預設取值為 6。

執行個體

a) 壓縮檔

huey@huey-K42JE:~/huey/linux/cmdline$ gzip foo

b) 解壓檔案

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -d foo.gz
huey@huey-K42JE:~/huey/linux/cmdline$ gunzip foo.gz

c) 列出壓縮檔的壓縮統計

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -l foo.gz          compressed        uncompressed  ratio uncompressed_name               4150               26134  84.2% foo

d) 指定壓縮層級

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -v9 foofoo: 84.9% -- replaced with foo.gz

e) 只查看壓縮檔的內容而不解壓檔案

huey@huey-K42JE:~/huey/linux/cmdline$ date > foohuey@huey-K42JE:~/huey/linux/cmdline$ gzip foohuey@huey-K42JE:~/huey/linux/cmdline$ gzip -dc foo.gz Thu May  7 17:10:35 CST 2015
相關命令

gunzip - 解壓縮,相當於 gzip -d

zless - 查看壓縮檔內容,zless test.gz 相當於 gunzip -c test.gz | less

zcat - 類似於 zless,zcat test.gz 相當於 gunzip -c test.gz | cat

bzip2 命令

bzip2 與 gzip 命令功能類似,但使用不同的壓縮演算法。該演算法具有高品質的資料壓縮能力,但卻降低了壓縮速度。多數情況下,其用法與 gzip 類似,只是用 bzip2 壓縮後的檔案以 .bz2 為尾碼。

命令格式

bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]

命令參數

-c --stdout
  將資料壓縮或解壓縮至標準輸出。

-d --decompress
  強制解壓縮

-z --compress
  -d 選項的補充,強制壓縮檔

-t --test
  檢驗壓縮檔的完整性

-f --force
  強制覆蓋輸出檔案。

-k --keep
  在(解)壓縮過程中保留原檔案

-s --small
  在壓縮、 解壓縮及檢查時減少記憶體的使用量。

-q --quiet
  不顯示警告資訊

-v --verbose
  在(解)壓縮時顯示詳細資料

-L --license -V --version
  列印版本與著作權資訊

-1 (or --fast) to -9 (or --best)
  設定壓縮層級,數值越大,壓縮速度越慢,壓縮效果越好。

執行個體

a) 壓縮檔

huey@huey-K42JE:~/huey/linux/cmdline$ bzip2 foo

b) 解壓縮檔案

huey@huey-K42JE:~/huey/linux/cmdline$ bunzip2 foo.bz2
相關命令

bunzip2 - 解壓縮,相當於 bzip2 -d

bzcat - 將解壓縮內容輸出至標準輸出,bzcat test.bz2 相當於 bunzip2 -c test.bz2 | cat

bzip2recover - 用於修複損壞的 bz2 檔案的資料

 

檔案歸檔

歸檔是與壓縮操作配合使用的一個熱門檔案管理工作。歸檔是一個聚集眾多檔案並將它們組合為一個大檔案的過程。

tar 命令命令格式

tar [OPTION...] [FILE]...

命令參數

-A, --catenate, --concatenate
  追加 tar 檔案到歸檔檔案中

-c, --create
  建立新的歸檔檔案

-d, --diff, --compare
  尋找歸檔檔案與檔案系統的差異

--delete
  從歸檔檔案裡刪除指定的檔案

-r, --append
  追加檔案到歸檔檔案

-t, --list
  列出歸檔檔案的內容

-u, --update
  僅追加比歸檔檔案更新的檔案

-x, --extract, --get
  從歸檔檔案中提取檔案

執行個體

a) 將foo1、foo2 和 foo3 歸檔至 foo.tar

huey@huey-K42JE:~/huey/linux/cmdline$ tar cvf foo.tar foo1 foo2 foo3

b) 查看歸檔檔案的內容

huey@huey-K42JE:~/huey/linux/cmdline$ tar tvf foo.tar-rw-rw-r-- huey/huey 26840 2015-05-07 19:28 foo1-rw-rw-r-- huey/huey 13047 2015-05-07 19:28 foo2-rw-rw-r-- huey/huey 348 2015-05-07 19:28 foo3

c) 從歸檔檔案中提取檔案

huey@huey-K42JE:~/huey/linux/cmdline$ tar xvf foo.tar

d) 追加 foo4 至歸檔檔案 foo.tar

huey@huey-K42JE:~/huey/linux/cmdline$ tar rf foo.tar foo4

e) 從歸檔檔案 foo.tar 中刪除 foo2

huey@huey-K42JE:~/huey/linux/cmdline$ tar -f foo.tar --delete foo2

f) 歸檔並壓縮(gzip)檔案

huey@huey-K42JE:~/huey/linux/cmdline$ tar zcvf foo.tar.gz foo

g) 解壓縮 .tar.gz 檔案

huey@huey-K42JE:~/huey/linux/cmdline$ tar zxvf foo.tar.gz

h) 歸檔並壓縮(bzip2)檔案

huey@huey-K42JE:~/huey/linux/cmdline$ tar jcvf foo.tar.bz2 foo

i) 解壓縮 .tar.bz2 檔案

huey@huey-K42JE:~/huey/linux/cmdline$ tar jxvf foo.tar.bz2
zip 命令

zip 程式既是檔案壓縮公用程式也是檔案歸檔工具。在 Linux 系統中,gzip 才是主要的壓縮指令,而 bzip2 次之。在 Linux 系統中主要使用 zip 程式與 Windows 系統分頁檔,而不是將其用於壓縮或是歸檔檔案。

命令格式

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...]  [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]]  [-xi list]

unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...]  [-x xfile(s) ...] [-d exdir]

執行個體

a) 將 foo1、foo2 和 foo3 歸檔壓縮至 foo.zip

huey@huey-K42JE:~/huey/linux/cmdline$ zip foo.zip foo1 foo2 foo3

b) 歸檔壓縮目錄

huey@huey-K42JE:~/huey/linux/cmdline$ zip -r commons-beanutils-1.9.2.zip commons-beanutils-1.9.2

c) 解壓縮 .zip 檔案

huey@huey-K42JE:~/huey/linux/cmdline$ unzip commons-beanutils-1.9.2.zip

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.