Linux继承了Unix以网络为中心的设计思想,是一种具有稳定性能的多用户网络操作系统。 在Linux上,可以使用zip和unzip解压缩命令进行文件压缩。 本文主要介绍了Linux上zip压缩和unzip解压缩命令的详细信息和使用方法。 这篇文章解释得非常详细。 需要的人请参考
了解有关Linux上zip压缩和unzip解压缩命令的详细信息
1、将/home目录下的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、将/home目录下的mydata.zip解压缩到mydatabak目录
unzip mydata.zip -d mydatabak
3、/home目录下的abc文件夹和123.txt压缩为abc123.zip
zip -r abc123.zip abc 123.txt
4、将/home目录下的wwwroot.zip直接解压缩到/home目录
unzip wwwroot.zip
5、将/home目录下的abc12.zip、abc23.zip和abc34.zip同时解压缩到/home目录中
unzip abc*.zip
6、查看/home目录下的wwwroot.zip内容
unzip -v wwwroot.zip
7、验证/home目录下的wwwroot.zip是否完整
unzip -t wwwroot.zip
8、将/home目录下wwwroot.zip中的所有文件解压缩到主目录
unzip -j wwwroot.zip
主要参数
-c :解压缩后的结果
-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
了解如何使用Linux - zip压缩、unzip解压缩命令
由于服务器使用的是CentOS系统,因此压缩和解压缩文件离不开命令操作。 本节总结了Linux系统上常用的zip和unzip命令。
一. zip压缩
1、应用实例
)1)将当前文件夹下的所有文件打包成一个new1.zip文件
zip new1.zip *
)2)将当前文件夹下的所有my1*.doc文件打包为一个new1.zip文件
zip new1.zip my1*.doc
)3)将文件abc.txt和目录dir1压缩为yasuo.zip
zip -r yasuo.zip abc.txt dir1
)4)将目录/home/Blinux/html/下的所有文件和文件夹打包到当前目录下的html.zip中
备注:-q为安静模式,压缩时不显示指令的执行过程
zip-QR html.zip/home/b Linux/html
)5)将文件添加到. zip文件
备注:如果当初没有将my32.doc压在new1.zip上,现在将其添加。 -g选项的意思是增加而不重新生成。
zip -g new1.zip my32.doc
)6)将修改后的文件添加到压缩包中
备注:如果最初my2*.doc已压缩为new1.zip,但后来my2*.doc中有一些文件发生了更改,而您不想知道哪些文件发生了更改,请系统自行检查此命令否则,你就不用工作了。
zip -u new1.zip my2*.doc
(7)删除. zip文件内的指定文件
备注:如果my18.doc是压缩为new1.zip的文件,则此命令现在将其从压缩中删除
文件中抽走并删掉。-d 是删除的意思。zip -d new1.zip my18.doc
2,主要参数
-f 更新现有的文件
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-d 指定文件解压缩后所要存储的目录
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-r 将指定的目录下的所有子目录以及文件一起处理
-j 不处理压缩文件中原有的目录路径
-0 只存储,不压缩
-l 显示压缩文件内所包含的文件
-1 较快速度的压缩
-9 较高质量的压缩
-q 安静模式,在压缩的时候不显示指令的执行过程
-v 执行时显示详细的信息
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-z 仅显示压缩文件的备注文字
-@ 从标准输入中读取名称,一个路径名称用一行
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-x 指定不要处理.zip压缩文件中的哪些文件
-i 只压缩符合条件的文件
-F 尝试修复损坏的压缩文件
-D 压缩文件内不建立目录名称
-A 调整可执行的自动解压缩文件
-J 删除可执行文件,留下一个普通的 zip 归档文件
-T 检查备份文件内的每个文件是否正确无误
-X 解压缩时同时回存文件原来的 UID/GID
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在 UNIX 之类的系统下有效
-e 加密
-n 不压缩具有特定字尾字符串的文件
-h2 显示更多帮助
二、unzip 解压缩
1,应用实例
(1)把文件解压到当前目录下
unzip test.zip
(2)如果要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip
(3)解压的时候,有时候不想覆盖已经存在的文件,那么可以加上 -n 参数
unzip -n test.zip
unzip -n -d /temp test.zip
(4)将压缩文件 test.zip 在指定目录 tmp 下解压缩,如果已有相同的文件存在,要求 unzip 命令覆盖原先的文件
unzip -o test.zip -d /tmp/
(5)只看一下 zip 压缩包中包含哪些文件,不进行解压缩
unzip -l test.zip
(6)查看显示的文件列表还包含压缩比率
unzip -v test.zip
(7)检查 zip 文件是否损坏
unzip -t test.zip
2,主要参数
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-p 与 -c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-l 显示压缩文件内所包含的文件
-f 更新现有的文件
-t 检查压缩文件是否正确,但不解压
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-z 仅显示压缩文件的备注文字
-v 执行时显示详细的信息。或查看压缩文件目录,但不解压
-T 将压缩文件内的所有文件的最新变动时间设为解压缩时候的时间
-x 指定不要处理 .zip 压缩文件中的哪些文件
-d 指定文件解压缩后所要存储的目录
-n 解压缩时不要覆盖原有的文件
-q 安静模式,执行时不显示任何信息
-o 不必先询问用户,unzip 执行后覆盖原有文件
-a 对文本文件进行必要的字符转换
-j 不处理压缩文件中原有的目录路径
-aa 把所有的文件目录当作文本处理
-U use escapes for all non-ASCII Unicode
-UU 忽略 Unicode 编码字符
-C 压缩文件中的文件名称区分大小写
-L 将压缩文件中的全部文件名改为小写
-X 解压缩时同时回存文件原来的 UID/GID
-V 保留 VMS 的文件版本信息
-K 保留文件的 setuid/setgid/tacky 属性
-M 将输出结果送到 more 程序处理
-O 指定字符编码为 DOS,Windows 和 OS/2
-I 指定字符编码为 UNIX
补充:Linux基本命令
①ls 意为list 列出当前文件夹中的文件
-l 显示文件的属性 可用ll来表示
②alias 别名 看看是否有别名的文件
③cd dir 跳跃目录 -P选项 将路径中的链接文件替换成链接指向的文件路径
④pwd 查看当前工作的文件夹名 使用-P的选项,会直接进入到其中,相当于cd
相关阅读:Linuxshell脚本不执行问题实例分析
shell脚本不执行问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。原因:在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。解决:
1)重新在linux下编写脚本;
2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。
Linux中zip压缩和unzip解压缩命令相关文章: