tar命令
tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有那些文件
-z 用Gzip 压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
压缩文件:
<1 >tar命令压缩文件为tar包
tar -cvf test.tar test
<2 >tar命令压缩文件为tar.gz 包
tar -czvf test.tar .gz test
<3 >tar命令压缩文件为tar.bz 2包
tar -cjvf test.tar .bz 2 test
<4 >如果要把一个目录下的文件打包,只需在将文件的名字换成文件夹的名字
将/etc目录内文件打包并通过gzip格式压缩:
tar czvf etc.tar .gz /etc
解压缩:
将etc.tar .gz 解压到/root/etc目录中:
tar xzvf etc.tar .gz -C /root/etc
zip/unzip
zip是linux上的一个压缩程序,压缩包以.zip为后缀。
压缩:
-A 调整可执行的自动解压缩文件。
-b<工作目录> 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 此参数的效果和指定"-u" 参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i<范本样式> 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS -DOS 兼容格式的文件名称。
-l 压缩文件时,把LF 字符置换成LF +CR 字符。
-ll 压缩文件时,把LF +CR 字符置换成LF 字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串> 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t<日期时间> 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS 操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS 操作系统下有效。
-x<范本样式> 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX 之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1 -9 的数值。
实例:压缩服务器上当前目录的内容为xxx.zip 文件
zip -r xxx.zip .
解压缩unzip
参 数:
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P <密码> 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS 的文件版本信息。
-X 解压缩时同时回存文件原来的UID /GID 。
[.zip文件] 指定.zip压缩文件。
[文件] 指定要处理.zip压缩文件中的哪些文件。
-d<目录> 指定文件解压缩后所要存储的目录。
-x<文件> 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip -Z 等于执行zipinfo指令
<1 >unzip -o -d /home/sunny myfile.zip
把myfile.zip 文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
<2 >当前目录下有abc1.zip ,abc2.zip 和abc3.zip ,想一起解压缩它们:
# unzip abc\?.zip
注释:?表示一个字符,如果用*表示任意多个字符。
<3 >我有一个很大的压缩文件large.zip ,我不想解压缩,只想看看它里面有什么:
# unzip -v large.zip
<4 >我下载了一个压缩文件large.zip ,想验证一下这个压缩文件是否下载完全了
# unzip -t large.zip