访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

Linux压缩及解压命令

时间:2019-10-13

linux 命令_linux命令_linux命令windows命令

linux系统文件压缩格式,常用的有*.tar.gz、*.gz、*.zip、*.tar,还有*.rar、.7z、.bz2、.tar.xz、.tar.bz2、.xz

格式:

zip filename.zip dirname

常用参数说明:

-r 递归打包包含子目录的全部内容

-q不显示指令执行过程,安静模式

-o表示输出文件,其后紧跟打包输出文件名

-v显示指令执行过程或显示版本信息。

-m将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-x<范本样式> 压缩时排除符合条件的文件。

-e表示加密压缩

-d 从压缩文件内删除指定的文件。

linux命令_linux 命令_linux命令windows命令

-l 压缩文件时,把LF字符 置换成LF+CR字 符。

-ll 压缩文件时,把LF+CR字 符置换成LF字符。

-<压缩效率>压缩效率是一个介于1-9的数值。

案例:

1)打包logs目录下的文件。进入logs目录进行打包

zip -o test.zip *.log
# 将 test 目录打包成一个文件
zip -r -q -o test.zip  /home/test
# 使用 du 命令查看打包后文件的大小
du -h test.zip
# 使用 file 命令查看文件大小和类型
file test.zip

2)查找包含2019-09的log文件并打包成压缩文件

find . -name "*2019-09*" -type f | grep -v "txt" | grep -v "manager" |grep -v "localhost" | xargs zip catalina201909_backuplog.zip
find . -name "*2019-09*" -type f | grep -v "catalina" | xargs zip otherl201909_backup.zip

3)从压缩文件中删除指定文件

#删除打包文件中指定文件
zip -d test.zip test.txt
#删除打包文件中指定目录下的文件
zip -d test.zip test/test.log

4)向压缩文件中添加指定文件

# 注意:此命令相当于将指定文件移动到压缩文件中,源文件会被删除
zip -m test.zip localhost_access_log.2019-08-27.txt 

linux 命令_linux命令_linux命令windows命令

5)压缩文件时排除指定文件

zip test.zip test/* -x test/test.log

6)设置压缩级别为9和1(9最大,1最小),重新打包

# 1表示最快压缩但体积大,9表示体积最小但耗时最久,-x 排除上一次我们创建的zip文件,路径必需为绝对路径
zip -r -9 -q -o test_9.zip /home/test -x ~/*.zip
zip -r -1 -q -o test_1.zip /home/test -x ~/*.zip
# 再用 du 命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小,-h 表示可读,-d 表示所查看文件的深度
du -h -d 0 *.zip ~ | sort

PS: 关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改

 上一个教程:20191312刘新宇