Linux文件打包与解压缩


介绍 Linux 上常用的压缩/解压工具 zip和tar

分类

文件后缀名 说明
*.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 打包文件夹

$ cd /home/user
$ zip -r -q -o user.zip /home/user/Desktop
$ du -h user.zip
$ file user.zip

上面命令将目录 /home/user/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小。

使用 unzip 命令解压缩 zip 文件

将 user.zip 解压到当前目录:

$ unzip user.zip

使用安静模式,将文件解压到指定目录:

$ unzip -q user.zip -d ziptest

上述指定目录不存在,将会自动创建。如果你不想解压只想查看压缩包的内容你可以使用 -l 参数:

$ unzip -l user.zip

tar 打包工具

tar 命令一些基本的使用方式,即不进行压缩只是进行打包(创建归档文件)和解包的操作。

创建一个 tar 包:

$ cd /home/user
$ tar -cf user.tar /home/user/Desktop

上面命令中,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar
-fc user.tar,可以写成 tar -f user.tar -c ~。还可以加上 -v 参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的 /,也可以使用 -P 保留绝对路径符。

解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):

$ mkdir tardir
$ tar -xf user.tar -C tardir

只查看不解包文件 -t 参数:

$ tar -tf user.tar

保留文件属性和跟随链接(符号链接或软链接),有时候使用 tar 备份文件当其他主机还原时希望保留文件的属性(-p 参数)和备份链接指向的源文件而不是链接本身(-h 参数):

$ tar -cphf etc.tar /etc

对于创建不同的压缩格式的文件,对于 tar 来说是相当简单的,需要的只是换一个参数,这里就以使用 gzip 工具创建 *.tar.gz 文件为例来说明。

只需要在创建 tar 文件的基础上添加 -z 参数,使用 gzip 来压缩文件:

$ tar -czf user.tar.gz /home/user/Desktop

解压 *.tar.gz 文件:

$ tar -xzf user.tar.gz

现在要使用其它的压缩工具创建或解压相应文件只需要更改一个参数即可:

压缩文件格式 参数
*.tar.gz -z
*.tar.xz -J
*tar.bz2 -j
发布了49 篇原创文章 · 获赞 6 · 访问量 5049

猜你喜欢

转载自blog.csdn.net/qq_43959027/article/details/89577453