1 tar
命令参数与用法
1.1 tar
命令参数及含义
如下 5 个是独立的命令参数,压缩与解压都要用到且只用到其中的一个:
-c:建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件可选参数:
-z:有gzip属性的(gzip 压缩)
-j:有bz2属性的(bzip2 压缩)
-Z:有compress属性的(compress 压缩)
-v:显示所有过程
-O:将文件解开到标准输出参数
-f
是必须的:-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1.2 tar
命令压缩与解压缩文件示例
# 将所有 .jpg 的文件打成一个名为 lzwme.tar 的包 tar -cf lzwme.tar *.jpg # 将所有 .jpg 的文件打成一个名为 lzwme.tar.gz 的包(gzip 压缩) tar -czf lzwme.tar.gz *.jpg # 将所有 .jpg 的文件打成一个名为 lzwme.tar.bz2 的包(bzip2 压缩) tar -cjf lzwme.tar.bz2 *.jpg # 将所有 .jpg 的文件打成一个名为 lzwme.tar.Z 的包(compress 压缩) tar -cZf lzwme.tar.Z *.jpg # 将所有 .gif 的文件增加到 lzwme.tar 的包里面去。`-r` 是表示追加文件: tar -rf lzwme.tar *.gif # 更新已存在的 `lzwme.tar` 包中的 `logo.gif` 文件。`-u` 表示更新文件: tar -uf lzwme.tar logo.gif # 列出 `lzwme.tar` 包中的所有文件。`-t` 表示列出文件: tar -tf lzwme.tar # 解出 lzwme.tar 包中所有文件,`-x` 表示解开 tar -xf lzwme.tar
2 zip
命令参数与用法
2.1 zip
命令基本用法
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
2.2 zip
命令参数及含义
-A
: 调整可执行的自动解压缩文件。
-b
:<工作目录> 指定暂时存放文件的目录。
-c
: 替每个被压缩的文件加上注释。
-d
: 从压缩文件内删除指定的文件。
-D
: 压缩文件内不建立目录名称。
-f
: freshen,更新发生改变的文件
-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的数值。
2.3 zip
命令压缩文件示例
# 目录压缩:将 lzwme 目录下的所有文件及子目录压缩为 lzwme.zip 文件 zip -r lzwme.zip lzwme # 多文件压缩:将 1.txt 2.jpg lzwme 目录压缩为 lzwme.zip 文件 zip -r lzwme.zip 1.txt 2.jpg lzwme # 文件排除:将 lzwme 目录压缩为 lzwme-1.zip 文件,但排除 3.txt zip -r lzwme-1.zip lzwme -x 1.txt # 删除文件:从压缩包 lzwme.zip 中删除 1.txt 文件 zip lzwme.zip -d 1.txt
3 unzip
命令参数与用法
3.1 unzip
命令基本用法
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
3.2 unzip
命令参数及含义
-c
: 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f
: 更新现有的文件。不创建新的文件
-l
: 显示压缩文件内所包含的文件。
-p
: 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t
: 检查压缩文件是否正确。
-u
: 更新已有文件,并且也其他文件解压出来
-v
: 执行是时显示详细的信息。
-z
: 仅显示压缩文件的备注文字。
-a
: 对文本文件进行必要的字符转换。
-b
: 不要对文本文件进行字符转换。
-C
: 压缩文件中的文件名称区分大小写。
-j
: 不处理压缩文件中原有的目录路径。
-L
: 将压缩文件中的全部文件名改为小写。
-M
: 将输出结果送到more程序处理。
-n
: 解压缩时不要覆盖原有的文件。
-o
: 不必先询问用户,unzip执行后覆盖原有文件。
-P <密码>
: 使用zip的密码选项。
-q
: 执行时不显示任何信息。
-s
: 将文件名中的空白字符转换为底线字符。
-V
: 保留VMS的文件版本信息。
-X
: 解压缩时同时回存文件原来的UID/GID。
-d <目录>
:指定文件解压缩后所要存储的目录。
-x <文件>
:指定不要处理 .zip 压缩文件中的哪些文件。
-Z
:unzip -Z
等于执行 zipinfo 指令
3.3 unzip
解压文件示例
# 将 lzwme.zip 文件解压到当前目录下 unzip lzwme.zip # 将压缩包内的文件都解压到一级内目录 unzip -j lzwme.zip # 验证 lzwme.zip 是否完整(比如可能只下载了一部分) unzip -t lzwme.zip
4 zipinfo
命令参数
基本用法:
zipinfo [-12smlvChMtTz] file[.zip] [list…] [-x xlist…]
参数含义:
main listing-format options:
-s short Unix “ls -l” format (def.)
-1 filenames ONLY, one per line
-m medium Unix “ls -l” format
-2 just filenames but allow -h/-t/-z
-l long Unix “ls -l” format
-v verbose, multi-page formatmiscellaneous options:
-h print header line
-t print totals for listed files or for all
-z print zipfile comment
-T print file times in sortable decimal format
-C be case-insensitive
-M page output through built-in “more”
-x exclude filenames that follow from listing
5 压缩与解压缩示例
5.1 tar、zip、rar 压缩示例
# 将目录里所有 jpg 文件打包成 lzwme.tar tar -cvf lzwme.tar *.jpg # 将目录里所有 jpg 文件打包成 lzwme.tar 后再用 gzip 压缩,命名为 lzwme.tar.gz tar -czf lzwme.tar.gz *.jpg # 将目录里所有 jpg 文件打包成 lzwme.tar 后再用 bzip2 压缩,命名为 lzwme.tar.bz2 tar -cjf lzwme.tar.bz2 *.jpg # 将目录里所有 jpg 文件打包成 lzwme.tar 后再用 compress 压缩,命名为 lzwme.tar.Z tar -cZf lzwme.tar.Z *.jpg # 将目录里所有 jpg 文件打包成 lzwme.zip 文件。可能需要先下载 zip for linux zip -r lzwme.zip *.jpg # 将目录里所有 jpg 文件打包成 lzwme.rar 文件。可能需要先下载 rar for linux rar a lzwme.rar *.jpg
5.2 tar、unzip、unrar 解压示例
# 解压 tar包 tar -xvf lzwme.tar # 解压tar.gz tar -xzvf lzwme.tar.gz # 解压 tar.bz2 tar -xjvf lzwme.tar.bz2 # 解压tar.Z tar -xZvf lzwme.tar.Z # 解压zip unzip lzwme.zip # 解压rar unrar e lzwme.rar
总结
*.tar
用tar -xvf
解压*.gz
用gzip -d
或者gunzip
解压*.tar.gz
和*.tgz
用tar -xzf
解压*.bz2
用bzip2 -d
或者用bunzip2
解压*.tar.bz2
用tar -xjf 解压*.Z
用uncompress
解压*.tar.Z
用tar -xZf
解压*.rar
用unrar e
解压*.zip
用unzip
解压