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
压缩效果
将mytest.txt test.c 文件压缩到 test.tar.gz中
tar.bz2格式
tar jcvf 压缩包包名 文件1 文件2 …
打包,并以bzip2压缩
tar jcvf test.tar.bz2 mytest.txt test.c
压缩效果
解压到指定目录
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包。
总结
解压缩命令较多,根据需要进行选择。对文件进行压缩能够节省磁盘空间。
扫二维码关注微信公众号,获取技术干货