为了方便文件传输以及以及保存,我们往往需要把目录进行一下压缩,压缩后的文件不但能够缩小空间,也可以方便管理。在linux中压缩方式有这几种,tar.gz,zip,tar,gz,bz2,bz,z等格式,下面针对这几种格式进行操作,压缩之后,如果需要使用,我们还需要进行解压。
这里为了方便测试,创建了一个目录,在目录里根据各种格式进行压缩和解压操作。
[root@www.wulaoer.org log]# for((i=1;i<=10;i++));do touch acces-$i.log;done [root@www.wulaoer.org log]# ls acces-10.log acces-1.log acces-2.log acces-3.log acces-4.log acces-5.log acces-6.log acces-7.log acces-8.log acces-9.log
zip格式
Centos7系统默认不带zip命令,所以需要我们手动安装装一下。
[root@www.wulaoer.org log]# yum -y install zip
压缩
[root@www.wulaoer.org log]# zip wulaoer.zip acces-* adding: acces-10.log (stored 0%) adding: acces-1.log (stored 0%) adding: acces-2.log (stored 0%) adding: acces-3.log (stored 0%) adding: acces-4.log (stored 0%) adding: acces-5.log (stored 0%) adding: acces-6.log (stored 0%) adding: acces-7.log (stored 0%) adding: acces-8.log (stored 0%) adding: acces-9.log (stored 0%) [root@www.wulaoer.org log]# ll total 4 -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-10.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-1.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-2.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-3.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-4.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-5.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-6.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-7.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-8.log -rw-r--r--. 1 root root 0 Mar 19 18:43 acces-9.log -rw-r--r--. 1 root root 1524 Mar 19 18:46 wulaoer.zip
zip没有添加参数,所以压缩的原文件没有删除,下面看看,zip命令有哪些参数:
-a 将文件转成ASCII模式 -A 调整可执行的自动解压缩文件 -c 替每个被压缩的文件加上注释 -F 尝试修复损坏的压缩文件 -f 更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q 安静模式,在压缩的时候不显示指令的执行过程 -r 将指定的目录下的所有子目录以及文件一起处理 -S 包含系统文件和隐含文件(S是大写) -y 直接保存符号连接,而非该连接所指向的文件 -X 不保存额外的文件属性 -<压缩级别> 1~9,数字越大,压缩率越高 -T 检查备份文件内的每个文件是否正确无误 -t <日期时间> 把压缩文件的日期设成指定的日期 -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件 -$ 保存第一个被压缩文件所在磁盘的卷标 -u 更新压缩包内文件 -j 只保存文件名称及其内容 -D 压缩文件内不建立目录名称 -d <表达式> 从压缩文件内删除指定的文件 -i <表达式> 压缩目录时,只压缩符合条件的文件 -x <表达式> 排除符合条件的文件 -b <缓存路径> 指定临时文件目录 -z 替压缩文件加上注释 -k 使用MS-DOS兼容格式的文件名称。 -l 压缩文件时,把LF字符置换成LF+CR字符。 -ll 压缩文件时,把LF+CR字符置换成LF字符。 -P 压缩文件时,给压缩的文件进行加密
把上面压缩的文件删除掉,尝试使用-m参数。
[root@www.wulaoer.org log]# zip -m wulaoer.zip acces-* adding: acces-10.log (stored 0%) adding: acces-1.log (stored 0%) adding: acces-2.log (stored 0%) adding: acces-3.log (stored 0%) adding: acces-4.log (stored 0%) adding: acces-5.log (stored 0%) adding: acces-6.log (stored 0%) adding: acces-7.log (stored 0%) adding: acces-8.log (stored 0%) adding: acces-9.log (stored 0%) [root@www.wulaoer.org log]# ls wulaoer.zip
压缩之后,原来的文件都被删除了,其他的参数,这里就不一一测试了。
unzip解压
我们还使用上面压缩的文件,zip格式的压缩文件只能使用unzip命令来进行解压,而且系统默认不自带unzip命令需要安装,先看一下相关参数。
-n 解压缩时不要覆盖原有的文件; -o 不必先询问用户,unzip执行后覆盖原有的文件; -P [密码] 使用zip的密码选项; -q 执行时不显示任何信息; -d [目录] 指定文件解压缩后所要存储的目录; -f 覆盖原有文件 -u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中 -l 显示压缩文件内所包含的文件 -t 检查压缩文件是否正确理里排除压缩包中的指定文 -z 显示压缩包注释 -Z unzip -Z等于执行zipinfo指令 -j 不处理压缩文件中原有的目录路径 -C 压缩文件中的文件名称区分大小写 -L 将压缩文件中的全部文件名改为小写 -s 将文件名中的空格转换下划线 -X 解压缩时保留文件原来的UID/GID -q 执行时不显示任何信息 -v 执行是时显示详细的信息 -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换 -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 -a 对文本文件进行必要的字符转换 -b 不要对文本文件进行字符转换 -x <表达式> 处理里排除压缩包中的指定文件 -M 将输出结果送到more程序处理
安装unzip命令
[root@www.wulaoer.org log]# yum -y install unzip [root@www.wulaoer.org log]# unzip wulaoer.zip Archive: wulaoer.zip extracting: acces-10.log extracting: acces-1.log extracting: acces-2.log extracting: acces-3.log extracting: acces-4.log extracting: acces-5.log extracting: acces-6.log extracting: acces-7.log extracting: acces-8.log extracting: acces-9.log [root@www.wulaoer.org log]# ls acces-10.log acces-1.log acces-2.log acces-3.log acces-4.log acces-5.log acces-6.log acces-7.log acces-8.log acces-9.log wulaoer.zip
一般经常使用的参数也就-m或者-d,其他的相对比较来说比较少用了,根据自己需求,自行选择参数。
其他格式压缩解压,请看下一章
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏