在使用linux系统的 vps或者服务器时,在备份网站或者转移网站时,zip以及unzip命令会经常用到,因为很多网站的文件太多,如果使用ftp下载的话很麻烦(当然,使用在线ftp也很方便,但php程序执行时间会受到限制)。今天就分享一下linux系统中zip以及unzip的执行命令。

linux  zip命令的基本用法

  1. zip [参数] [打包后的文件名] [打包的目录路径]  

补充说明:每个字段中间都需要空格。

  1. linux  zip命令参数列表    
  2. -a     将文件转成ASCII模式    
  3. -F 尝试修复损坏的压缩文件    
  4. -h 显示帮助界面    
  5. -m 将文件压缩之后,删除源文件    
  6. -n 特定字符串    不压缩具有特定字尾字符串的文件    
  7. -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间    
  8. -q 安静模式,在压缩的时候不显示指令的执行过程    
  9. -r 将指定的目录下的所有子目录以及文件一起处理    
  10. -S 包含系统文件和隐含文件(S是大写)    
  11. -t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy    

举例
将/home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip

  1. zip –q –r   html.zip /home/Blinux/html    

上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录
比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.

  1. zip –q –r html.zip html  

比如现在我的html目录下,我操作的zip压缩命令是

  1. zip –q –r html.zip *  

删除压缩文件中smart.txt文件

  1. zip -d myfile.zip smart.txt  

向压缩文件中myfile.zip中添加rpm_info.txt文件

  1. zip -m myfile.zip ./rpm_info.txt    

以上是在安静模式下进行的,而且包含系统文件和隐含文件
//////////////////////////////////////////////////////////

linux unzip命令

  1. unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目 录>][-x <文件>] 或 unzip [-Z]  

补充说明:unzip为.zip压缩文件的解压缩程序。
unzip参数

  1. -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。    
  2. -f 更新现有的文件。    
  3. -l 显示压缩文件内所包含的文件。    
  4. -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。    
  5. -t 检查压缩文件是否正确。    
  6. -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。    
  7. -v 执行是时显示详细的信息。    
  8. -z 仅显示压缩文件的备注文字。    
  9. -a 对文本文件进行必要的字符转换。    
  10. -b 不要对文本文件进行字符转换。    
  11. -C 压缩文件中的文件名称区分大小写。    
  12. -j 不处理压缩文件中原有的目录路径。    
  13. -L 将压缩文件中的全部文件名改为小写。    
  14. -M 将输出结果送到more程序处理。    
  15. -n 解压缩时不要覆盖原有的文件。    
  16. -o 不必先询问用户,unzip执行后覆盖原有文件。    
  17. -P<密码> 使用zip的密码选项。    
  18. -q 执行时不显示任何信息。    
  19. -s 将文件名中的空白字符转换为底线字符。    
  20. -V 保留VMS的文件版本信息。    
  21. -X 解压缩时同时回存文件原来的UID/GID。    
  22. [.zip文件] 指定.zip压缩文件。    
  23. [文件] 指定要处理.zip压缩文件中的哪些文件。    
  24. -d<目录> 指定文件解压缩后所要存储的目录。    
  25. -x<文件> 指定不要处理.zip压缩文件中的哪些文件。    
  26. -Z unzip -Z等于执行zipinfo指令    

示例
将/home/Blinux/html.zip解压到当前目录

  1. unzip html.zip  

把myfile.zip文件解压到 /home/sunny/

  1. unzip -o -d/home/sunny myfile.zip  

很多朋友在使用#lnmp#时,经常会碰到登录ftp出现530验证失败的情况,我碰到过2次,一次是给朋友装vps,一次是我在挂载新硬盘的时候,把ftp误删。然后上传本地的无效。经过刚才半个小时的反复研究帖子和军哥教程再加上自己的琢磨,搞定。

步骤如下:

  1. 删除/home/wwwroot/ftp  整个文件夹。确保一个文件不留    
  2. 删除/usr/local/pureftpd 整个文件夹,确保一个文件不留    
  3. 删除/usr/local/mysql/var/ftpusers 整个文件夹,确保一个文件不留    
  4. 前台进入phpmyadmin,点击“权限”,删除“ftp”整个用户    

上面的4个步骤,是确保整个vps里没有任何与ftp相关的文件及信息。

我们来重新安装pureftpd:

  1. 使用putty, cd /root/lnmp0.9-full 或者cd /root/lnmp0.9    
  2. ./pureftpd.sh    
  3. 依次输入 vps的mysql密码 FTP用户管理面板的密码(就是新创建的http://ip/ftp的前台登录密码) MySQl的FTP数据库密码(可直接回车,自动生成一个密码),然后它会自动安装pureftpd    
  4. winscp进入/home/wwwroot/ftp/ 把install.phpbak 改成 install.php ,确保前台可以打开    
  5. 前台打开http://ip/ftp/install.php ,跟着www.vpser.net/manage/lnmp-pureftpd-cp.html的教程来进行    
  6. 检查/usr/local/pureftpd/pureftpd-mysql.conf 和 /home/wwwroot/ftp/config.php 里是不是都是localhost 以及密码是不是统一    
  7. /root/lnmp restart  

要注意的事项:

  1. 第三步和第四部的hostname 一定要写 localhost ,一定要点 save 保存    

然后继续就OK了。如果不行,可以试试下面的方法:

  1. /root/pureftpd restart    
  2. /root/lnmp restart    

然后,就结束了。别忘记修改/home/wwwroot/ftp/install.php这个文件名。否则别人可以改掉ftp内容的。接着,大家就可以去前台管理ftp帐号了。