1.)下载安装7z软件(for linux)
#wget -c http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_x86_linux_bin.tar.bz2/download #tar jxvf p7zip_9.20.1_x86_linux_bin.tar.bz2 cd /p7zip_9.20.1 #install.sh |
###安装完成,可以使用了
个人实验:
可以解压tar.bz2压缩包,但是要解压两次(两次7z x *.tar.bz2 7z x *.tar)
支持7z(即执行LZMA压缩算法),ZIP,RAR,CAB,ARJ,GZIP, BZIP2,TAR,CPIO, RPM和DEB格式
2.)解压7z压缩的文件
7z x *.7z |
3.)压缩文件(用密码加密)
7z a -p123456 test.7z /home/erico/test/ |
4.)解压带密码的压缩文件
7z x -p123456 test.7z |
5.)删除压缩包里的文件
7z d -p123456 test.7z #(该命令会把test.7z里面的文件全部删除,只保留test.7z这个空包文件) |
6.)压缩固定大小的包(分包)
7z a -p123456 -v1m test.7z /home/erico/test/ #(该命令行会将test目录打包成多个包,每个包大小都是1M,最后一个包<=1m) |
7.)解压分包
7z x -p123456 -o/home/test_dir/ test.7z.001 # (该命令会将解压出来的文件放到/home/test_dir/目录下,注意,解压分包时一定要解压第一个分包【test.7z.001】!) |
8.)保持文件目录路径和文件权限
一定要用root用户对目录压缩和解压,要不目录和文件的权限会改变! |
9.)看7z(man 7z)的官方说明。
7z(1) 7z(1)
NAME
7z - A file archiver with highest compression ratio
SYNOPSIS
7z [adeltux] [-] [SWITCH] <ARCHIVE_NAME> <ARGUMENTS>...
DESCRIPTION
7-Zip is a file archiver with the highest compression ratio. The
program supports 7z (that implements LZMA compression algo-
rithm), ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM and DEB for-
mats. Compression ratio in the new 7z format is 30-50% better
than ratio in ZIP format.
7z uses plugins to handle archives.
FUNCTION LETTERS
a Add
d Delete
e Extract
l List
t Test
u Update
x eXtract with full paths
SWITCHES
-ai[r[-|0]]{@listfile|!wildcard}
Include archives
-ax[r[-|0]]{@listfile|!wildcard}
eXclude archives
-bd Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}
Include filenames
-l don’t store symlinks; store the files/directories they
point to (CAUTION : the scanning stage can never end
because of recursive symlinks like ’ln -s .. ldir’)
-m{Parameters}
Set Compression Method (see
/usr/local/share/doc/p7zip/DOCS/MAN-
UAL/switches/method.htm for a list of methods)
-mhe=on|off
7z format only : enables or disables archive header
encryption (Default : off)
-o{Directory}
Set Output directory
-p{Password}
Set Password
-r[-|0]
Recurse subdirectories (CAUTION: this flag does not do
what you think, avoid using it)
-sfx[{name}]
Create SFX archive
-si Read data from StdIn (eg: tar cf - directory | 7z a -si
directory.tar.7z)
-so Write data to StdOut (eg: % echo foo | 7z a dummy -tgzip
-si -so > /dev/null)
-slt Sets technical mode for l (list) command
-t{Type}
Type of archive (7z, zip, gzip, bzip2 or tar. 7z format
is default)
-v{Size}[b|k|m|g]
Create volumes
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]
Update options
-w[path]
Set Working directory
-x[r[-|0]]]{@listfile|!wildcard}
Exclude filenames
-y Assume Yes on all queries
DIAGNOSTICS
7-Zip returns the following exit codes:
0 Normal (no errors or warnings detected)
1 Warning (Non fatal error(s)). For example, some
files cannot be read during compressing. So they
were not compressed
2 Fatal error
7 Bad command line parameters
8 Not enough memory for operation
255 User stopped the process with control-C (or simi-
lar)
Backup and limitations
DO NOT USE the 7-zip format for backup purpose on Linux/Unix
because :
- 7-zip does not store the owner/group of the file.
On Linux/Unix, in order to backup directories you must use tar :
- to backup a directory : tar cf - directory | 7za a -si
directory.tar.7z
- to restore your backup : 7za x -so directory.tar.7z | tar xf
-
If you want to send files and directories (not the owner of
file) to others Unix/MacOS/Windows users, you can use the 7-zip
format.
example : 7za a directory.7z directory
Do not use "-r" because this flag does not do what you think.
Do not use directory/* because of ".*" files (example : "direc-
tory/*" does not match "directory/.profile")
EXAMPLE 1
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1
adds all files from directory "dir1" to archive
archive.7z using "ultra settings"
-t7z 7z archive
-m0=lzma
lzma method
-mx=9 level of compression = 9 (Ultra)
-mfb=64
number of fast bytes for LZMA = 64
-md=32m
dictionary size = 32 megabytes
-ms=on solid archive = on
-mx=9 level of compression = 9 (Ultra)
-mfb=64
number of fast bytes for LZMA = 64
-md=32m
dictionary size = 32 megabytes
-ms=on solid archive = on
EXAMPLE 2
7z a -sfx archive.exe dir1
add all files from directory "dir1" to SFX archive
archive.exe (Remark : SFX archive MUST end with ".exe")
EXAMPLE 3
7z a -mhe=on -pmy_password archive.7z a_directory
add all files from directory "a_directory" to the archive
"archive.7z" (with data and header archive encryption on)
SEE ALSO
7za(1), 7zr(1), bzip2(1), gzip(1), zip(1)
HTML Documentation
/usr/local/share/doc/p7zip/DOCS/MANUAL/index.htm
AUTHOR
Written for Debian by Mohammed Adnene Trojette.
Mohammed Adnene Trojette September 1 2006 7z(1)
转载于:https://blog.51cto.com/chinarhcx/560650