安装暂且不说了。

看一下帮助。

[root@localhost Server]# 7z

-Zip [] 9.13 beta  Copyright (c) - Igor Pavlov  --
p7zip Version 9.13 (locale=zh_CN.UTF-,Utf16=on,HugeFiles=on, CPUs) Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>] <Commands>
a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths
<Switches>
-ai[r[-|]]{@listfile|!wildcard}: Include archives
-ax[r[-|]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|]: Recurse subdirectories
-scs{UTF- | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-t{Type}: Set type of archive
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-v{Size}[b|k|m|g]: Create volumes
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries

记得最苦恼的就是一个排除目录的压缩,后面才明白,由于Linux !有特别的意义,所以要用转义符来使用。

7z a -t7z tmp.7z curdir -xr\!excludedir

后面一直没弄明白如果我要排除某一类型的文件呢?这又怎么整呢。事实上是需要用到通配符,所以要用以下的命令才对。

对递归的说明如下:

-r 递归子目录选项。
-r 开启递归子目录。对于 e (释放)、l (列表)、t (测试)、x (完整路径释放) 这些在压缩档案中操作的命令, 会默认使用此选项。
-r- 关闭递归子目录。对于 a (添加)、d (删除)、u (更新) 等所有需扫描磁盘文件的命令,会默认使用此选项。
-r0 开启递归子目录。但只应用于通配符。

默认情况下,adu等是关闭了递归扫描所以需要开启进行排除。

7z a -t7z tmp.7z curdir -xr0\!*.log

如此,便OK了

05-04 11:06