文件打包与压缩
在 Linux 上面常见的格式除了.zip
, .rar
两种外,还有 .rar
,*.gz
,*.xz
,*.bz2
,*.tar
,*.tar.gz
,*.tar.xz
,*.tar.bz2
,简单介绍如下:
文件后缀名 | 说明 |
---|---|
*.zip | zip 程序打包压缩的文件 |
*.rar | rar 程序压缩的文件 |
*.7z | 7zip 程序压缩的文件 |
*.tar | tar 程序打包,未压缩的文件 |
*.gz | gzip 程序(GNU zip)压缩的文件 |
*.xz | xz 程序压缩的文件 |
*.bz2 | bzip2 程序压缩的文件 |
*.tar.gz | tar 打包,gzip 程序压缩的文件 |
*.tar.xz | tar 打包,xz 程序压缩的文件 |
*tar.bz2 | tar 打包,bzip2 程序压缩的文件 |
*.tar.7z | tar 打包,7z 程序压缩的文件 |
打包(归档)和压缩是不一样的概念,打包是单纯的把一堆文件合并成一个文件,压缩就是通过各种压缩算法缩小文件体积。
一般都是先把一堆文件打包成一个文件,再对于这一个文件进行压缩。
zip压缩命令
$ zip -r -o shiyanlou.zip /home/shiyanlou/Desktop
-r
表示递归,把目录下包括子文件夹内的内容也包含进来
-o
表示输出,后边紧跟要输出文件的文件名
-e
参数可以创建加密压缩包,会提示你输入加密密码
unzip解压命令
$ unzip shiyanlou.zip
-d
后边紧跟目录名,可以解压到指定目录,如果目录不存在,将自动创建
-l
不解压,只是查看压缩包内容
tar打包命令
打包
$ tar -P -c -f shiyanlou.tar /home/shiyanlou/Desktop
-P
保留绝对路径符
-c
表示创建一个 tar 包文件 (Create)
-f
用于指定创建的文件名,注意文件名必须紧跟在 -f
参数之后
解包
$ tar -x -f shiyanlou.tar -C tardir
-x
解包一个tar文件
-f
用于指定文件
-C
到一个已存在的目录
仅查看包
$ tar -t -f shiyanlou.tar
创建压缩的包
比如要创建.tar.gz
的压缩包
很简单,加上一个 -z
参数即可
$ tar -c -z -f shiyanlou.tar.gz /home/shiyanlou/Desktop
解压缩.tar.gz
压缩包也是加上一个-z
参数即可
$ tar -x -z -f shiyanlou.tar.gz
现在我们要使用其它的压缩工具创建或解压相应文件只需要更改一个参数即可:
压缩文件格式 | 参数 |
---|---|
*.tar.gz | -z |
*.tar.xz | -J |