命令简介
zip
命令是 Linux 系统中用于压缩和解压缩文件的工具。它支持创建新的压缩文件,向现有压缩文件中添加文件,列出压缩文件中的内容,以及从压缩文件中提取文件等操作。
命令格式
其中:
- 压缩文件名:指定要创建或修改的压缩文件名。
- 文件/目录列表:指定要压缩的文件或目录列表。
参数说明
参数 |
说明 |
备注 |
-r |
递归压缩目录 |
非常有用的选项 |
-m |
将文件移动到压缩文件中,而不是复制 |
节省磁盘空间 |
-u |
更新现有压缩文件 |
只压缩新文件或已修改的文件 |
-d |
从压缩文件中删除指定文件 |
- |
-x |
排除指定文件或目录 |
不压缩指定的文件或目录 |
-l |
显示压缩文件中的内容 |
- |
-q |
安静模式,不显示过程信息 |
- |
-v |
显示详细的过程信息 |
用于调试 |
-n |
不压缩已存在的文件 |
- |
-j |
不创建目录条目 |
将所有文件放在根目录下 |
命令实例
基本用法
1.创建压缩文件
1 2 3 4 5 6 7 8
| zip file.zip file.txt
zip files.zip file1.txt file2.txt file3.txt
zip -r project.zip project/
|
2.更新压缩文件
1 2 3 4 5 6 7 8
| zip -u files.zip new_file.txt
zip -f files.zip new_file.txt
zip -d files.zip file2.txt
|
3.压缩时,排除指定文件不压缩
1 2
| zip -r my_directory.zip my_directory -x my_file.txt
|
4.测试压缩包是否完整
1 2
| leazhi@leazhi-ubuntu2310:~/Templates$ zip -T pass.zip test of pass.zip OK
|
5.列出压缩文件内容
1 2 3 4 5 6 7 8 9
| leazhi@leazhi-ubuntu2310:~/Templates$ unzip -l pass.zip Archive: pass.zip Length Date Time Name --------- ---------- ----- ---- 3225 2024-03-13 11:51 passwd --------- ------- 3225 1 file
|
6.压缩时排除文件或目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| zip -r project.zip src/ -x src/main.cpp
zip -r project.zip src/ -x src/main.cpp src/pass.wd
eazhi@leazhi-ubuntu2310:~/Templates$ zip -r project1.zip project/ -x project/bin/ updating: project/ (stored 0%) updating: project/docs/ (stored 0%) updating: project/src/ (stored 0%)
leazhi@leazhi-ubuntu2310:~/Templates$ zip -r project2.zip project/ -x project/bin/ project/src/ updating: project/ (stored 0%) updating: project/docs/ (stored 0%)
|
7.解压缩文件
1 2 3 4 5 6 7 8
| unzip files.zip
unzip files.zip file1.txt
unzip files.zip -d /path/to/directory/
|
扩展用法
1.加密压缩文件
zip
命令支持为压缩文件设置密码,以保护文件的隐私和安全。
1 2 3 4 5
| zip -e secret.zip file1.txt file2.txt
unzip secret.zip
|
2.分卷压缩
对于超大文件或目录,可以将压缩文件分卷,每个卷的大小不超过指定大小。
1 2 3 4 5
| zip -r -s 650m project.zip project/
unzip project.zip
|
高级用法
1.并行压缩
在多核 CPU 系统上,可以利用多个核心并行压缩,提高压缩速度。
1 2 3 4 5
| zip -r -s 0 -ls -pm project.zip project/
unzip -p project.zip
|
2.压缩和解压缩符号链接
默认情况下,zip
命令会将符号链接作为普通文件压缩。可以使用特殊选项来保留或解压缩符号链接。
1 2 3 4 5
| zip -y symlinks.zip symlink1 symlink2
unzip -N symlinks.zip
|
通过以上实例和扩展用法,相信你已经对 zip
命令有了更深入的了解。它不仅可以方便地压缩和解压缩文件,还提供了诸如加密、分卷、并行压缩等高级功能。如果你还有任何疑问或需要进一步探讨,欢迎随时向我提出。