Linux中文件的压缩与解压缩
Posted 夏风喃喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中文件的压缩与解压缩相关的知识,希望对你有一定的参考价值。
Linux中文件的压缩与解压缩
参考:鳥哥的 Linux 私房菜
http://linux.vbird.org/linux_basic/0240tarcompress.php#compress_name
压缩与解压
在Linux的环境中,压缩文件的扩展名大多是:
*.tar, *.tar.gz, *.tgz, *.gz, *. Z, *.bz2, *.xz
*.Z compress 程式壓縮的檔案;
*.zip zip 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.xz xz 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
*.tar.bz2 tar 程式打包的檔案,其中並且經過 bzip2 的壓縮
*.tar.xz tar 程式打包的檔案,其中並且經過 xz 的壓縮
Linux上常见的压缩指令就是gzip
, bzip2
以及最新的 xz
。tar
功能仅是’打包’而已,亦即是将很多档案集结成为一个档案, 事实上,他并没有提供压缩的功能。
gzip
gzip
可以说是应用度最广的压缩指令了, 当前 gzip可以解开 compress, zip 与 gzip 等软件所压缩的文件。在默认的状态下原本的文件将被压缩成为 .gz 的文件名,原始文件就不再存在了。使用 gzip 压缩的文件在 Windows 系统中,可以被 WinRAR/7zip 软件解压缩。
$ gzip -v 未被压缩的文件名 #压缩,可以顯示出原檔案/壓縮檔案的壓縮比等資訊
$ gzip -d 已被压缩的文件名(.gz) #解压缩
bzip2
bzip2
则是为了取代 gzip
并提供更佳的压缩比而来的。
$ bzip2 -v 未被压缩的文件名 #压缩,可以顯示出原檔案/壓縮檔案的壓縮比等資訊
$ bzip2 -d 已被压缩的文件名(.bz2) #解压缩
xz
xz
的压缩比更高。
$ xz -v 未被压缩的文件名 #压缩,可以顯示出原檔案/壓縮檔案的壓縮比等資訊
$ xz -d 已被压缩的文件名(.bz2) #解压缩
rar
rar a -r 压缩文件(.zip) 待压缩文件 # 压缩文件,-r递归压缩
unrar x 压缩文件(.zip) 解压目标目录 # 解压文件
zip
zip -r 压缩文件(.zip) 待压缩文件 # 压缩文件,-r递归压缩
unzip 压缩文件(.zip) 解压目标目录 # 解压文件
打包
虽然gzip, bzip2, xz
也能够针对目录来进行压缩,不过, 这两个指令对目录的压缩指的是’将目录内的所有档案 “分别” 进行压缩’的动作,不像在 Windows 的系统,可以使用类似WinRAR这一类的压缩软件来将好多资料’包成一个文件’的样式。
tar
可以将多个目录或档案打包成一个大文件,同时还可以通过 gzip/bzip2/xz
的支持,将该文件同时进行压缩。由于tar
的使用太广泛了,目前 Windows 的 WinRAR 也支持 .tar.gz
档名的解压缩。
tar
$ tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
$ tar -jxv -f filename.tar.bz2 -C 欲解压缩的目标目录
-z:透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz
-j:透過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2
-J:透過 xz 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.xz
-c:建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename)
-x:解打包或解壓縮的功能,可以搭配 -C (大寫) 在特定目錄解開
-v:在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來!
那个filename.tar.bz2
是我们自己取的文件名,tar
并不会主动的产生建立的文件名。
以上是关于Linux中文件的压缩与解压缩的主要内容,如果未能解决你的问题,请参考以下文章