Linux常用命令一一压缩与解压缩

tar
tar是Linux中最常见的解压缩命令。tar命令可以用于处理后缀名为tar、tar.gz、tar.bz2等文件。
命令行参数属性说明:

-c 建立新的压缩文件
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-v 显示操作过程
-k 保留源有文件不覆盖
-C 切换到指定目录
-f 指定压缩文件

压缩用法:

tar.gz格式
tar zcvf 压缩包包名 文件1 文件2 …
打包,并以gzip压缩。

tar zcvf test.tar.gz mytest.txt test.c

压缩效果

Linux常用命令一一压缩与解压缩_第1张图片

将mytest.txt test.c 文件压缩到 test.tar.gz中

tar.bz2格式
tar jcvf 压缩包包名 文件1 文件2 …
打包,并以bzip2压缩

tar jcvf test.tar.bz2 mytest.txt test.c

压缩效果
Linux常用命令一一压缩与解压缩_第2张图片
解压到指定目录
tar zxvf 解压包名称 -C 目的路径

 tar zxvf test.tar.gz -C /home/xxx/xxx

注意:gzip格式的压缩包后缀名tar.gz结尾。还有压缩和解压缩的f参数需要放在后面,这是因为指定了压缩包名字,否则解压或者解压缩失败的情况出现。

zip/unzip

压缩
命令行参数属性说明:

-d 从压缩文件内删除指定的文件。
-f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
- <压缩效率> 压缩效率是一个介于1-9的数值。

压缩文件

zip -rj test.zip myfile

打包myfiile目录下文件,且压缩包不带myfile目录。

向压缩包中添加文件

zip -u test.zip myfile

将myfile添加到test.zip中。

删除压缩包的特定文件

zip -d test.zip myfile

删除test.zip包中的myfile文件。

解压文件

命令行参数属性说明:

-l 显示压缩文件内所包含的文件
-j 只保存文件名称及其内容,而不存放任何目录名称。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该
-v 显示指令执行过程或显示版本信息。
-d 指定解压目录,目录不存在会创建

查看文件信息

unzip -l test.zip

可以查看压缩包中的文件名等信息。

解压压缩包到指定目录

unzip -o 解压包名称 -d 目的路径

unzip -o test.zip -d /home/xxxx/xxxx

将test.zip解压到/home/xxxx/xxxx目录中.

解压包中指定文件

unzip -o 解压包名称 "处理的内容 " -d 目的路径

unzip -o tet.zip "*.txt" -d  /home/xxxx/xxxx 

将解压包中的全部txt文件到/home/xxxx/xxxx目录中。

注意:zip和unzip命令主要用于处理zip包。

总结

解压缩命令较多,根据需要进行选择。对文件进行压缩能够节省磁盘空间。

你可能感兴趣的:(Linux)