今天在一个论坛看到有人整理出来的linux vps 常用ssh命令,看着不错,我就转过来了,分享给大家。这个不是lnmp的独立命令,而是linux系统ssh通用命令。

1.目录操作:

  1. rm -rf mydir /*删除mydir目录*/  
  2. mkdir dirname /*创建名为dirname的目录*/  
  3. cd mydir /*进入mydir目录*/  
  4. cd - /*回上一级目录*/  
  5. cd .. /*回父目录,中间有空格*/  
  6. cd ~ /*回根目录*/  
  7. mv tools tool /*把tools目录改名为tool */  
  8. ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/  
  9. cp -a tool /home/vpser/www /*把tool目录下所有文件复制到www目录下 */  

2.目录权限:
解决安装程序时提示没有相应的文件读写权限,需要同时执行以下命令即可。

  1. chmod 777 -R 虚拟主机目录 /*权限*/  
  2. chown www:www -R 虚拟主机目录 /*属主*/  

3.文件操作

  1. rm go.tar /* 删除go.tar文件 */  
  2. find mt.cgi /* 查找文件名为mt.cgi的文件 */  
  3. df –h /* 查看磁盘剩余空间,好像没这个必要,除非你太那个了 */  

4.解压缩

  1. tar xvf wordpress.tar /* 解压tar格式的文件 */  
  2. tar -tvf myfile.tar /* 查看tar文件中包含的文件 */  
  3. tar cf toole.tar tool /* 把tool目录打包为toole.tar文件 */  
  4. tar cfz vpser.tar.gz tool /* 把tool目录打包且压缩为vpser.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB */  
  5. tar jcvf /var/bak/www.tar.bz2 /var/www/ /*创建.tar.bz2文件,压缩率高*/  
  6. tar xjf www.tar.bz2 /*解压tar.bz2格式*/  
  7. gzip -d ge.tar.gz /* 解压.tar.gz文件为.tar文件 */  
  8. unzip phpbb.zip /* 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的 */  
  9. zip -r myfile.zip /* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件*/  

5.unzip

  1. unzip -o -d /home/sunny myfile.zip /* 把myfile.zip文件解压到 /home/sunny/ */  
  2. -o: /*不提示的情况下覆盖文件;*/  
  3. -d:-d /home/sunny /*指明将文件解压缩到/home/sunny目录下;*/  

6.其他

  1. zip -d myfile.zip smart.txt /* 删除压缩文件中smart.txt文件 */  
  2. zip -m myfile.zip ./rpm_info.txt /* 向压缩文件中myfile.zip中添加rpm_info.txt文件 */  

7.下载

  1. wget http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz  
  2. /*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */  
  3. wget -c http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz /* 继续下载上次未下载完的文件 */  

8.进程管理

  1. ps -aux /*ps 进程状态查询命令*/  

ps命令输出字段的含义:

  1. USER /*进程所有者的用户名*/  
  2. PID /*进程号,可以唯一标识该进程*/  
  3. %CPU /*进程自最近一次刷新以来所占用的CPU时间和总时间的百分比*/  
  4. %MEM /*进程使用内存的百分比*/  
  5. VSZ /*进程使用的虚拟内存大小,以K为单位*/  
  6. RSS /*进程占用的物理内存的总数量,以K为单位*/  
  7. TTY /*进程相关的终端名*/  
  8. STAT /*进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示*/  
  9. START /*进程开始运行时间*/  
  10. TIME /*进程使用的总CPU时间*/  
  11. COMMAND /*被执行的命令行*/  
  12. ps -aux | grep nginx /*在所有进程中,查找nginx的进程*/  
  13. kill 1234 /*1234为进程ID,即ps -aux 中的PID*/  
  14. killall nginx /*killall 通过程序的名字,直接杀死所有进程,nginx为进程名*/  

Vim操作

1.移动类

  1. h/j/k/l: 左/下/上/右 移一格*/  
  2. /*向后词移动 (前面加数字移动多少个词)*/  
  3. /*向前词移动 (前面加数字移动多少个词)*/  
  4. /*向后移到词末*/  
  5. ge /*向前移到词末*/  
  6. /*行末*/  
  7. /*行首*/  
  8. tx /*向右查找本行的x并移到那儿(大写时向左)*/  
  9. 33G /*移到文件的第33行*/  
  10. gg /*文件首行*/  
  11. /*文件尾行*/  
  12. 33% /*文件的33%处*/  
  13. H/M/L /*屏幕的首/中/尾行 */  
  14. zt/zz/zb /*当前行移到屏幕的首/中/底部*/  

2.跳转

  1. /*回到跳转来的地方*/  
  2. CTRL-O /*跳到一个 “较老” 的地方*/  
  3. CTRL-I /*则跳到一个 “较新” 的地方*/  

3.查找

  1. /*向下查找(后加关键字)*/  
  2. /*向上查找(后加关键字)*/  
  3. /*下一条符合的记录*/  

4.编辑

  1. /*转换到插入模式*/  
  2. /*删除当前字符*/  
  3. /*重复最后一次的修改操作(同PS里ctrl+f执行滤镜)*/  
  4. /*撤销操作*/  
  5. CTRL-R /*重做*/  
  6. /*将删除的字符插入到当前位置(put)*/  

5.退出保存

  1. :q /*退出*/  
  2. :q! /*不保存退出*/  
  3. ZZ /*保存后退出*/  
  4. :e! /*放弃修改重新编辑*/  

掌握这些基本命令,Linux下的基本使用已经掌握,只要多加练习,多遇到问题,解决问题,能力就会不断的提升。

有的网站程序默认是没有域名301重定向的,意思就是带www和不带www都可以访问。但如果这样的话,你的网站同一个页面就会出现2个地址,这样对seo不好。nginx的301重定向方法和apache不一样。网上一共有2种方法,分别如下:

 1.单独对需要跳转的域名在server写重定向,下面是把不带www301到带www的方法:

server      
{      
listen       80;      
server_name luanzun.com;      
access_log off;      
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;      
}      
server      
{      
listen       80;      
server_name www.luanzun.com;      
index index.html index.htm index.php;      
root  /home/user/luanzun;      
include location.conf;      
include zencart.conf;      
}

这种方法几乎所有的服务器都适用。  

2.对两个域名做一个host判断,不过这种方法在我的vps上测试时提示域名多次重定向·····但很多人成功了,或许是因为网站程序?这里我还是把方法贴出来,或许有人可以用到:  

server    
{    
listen       80;    
server_name www.dutool.com luanzun.com;    
if ($host != ‘luanzun.com’ ) {    
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;    
}    
index index.html index.htm index.php;    
root  /home/user/luanzun;    
include location.conf;    
include zencart.conf;    
}

这种方法就是在中间插了下面一段代码

if ($host != ‘luanzun.com’ ) {    
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;    
}

在使用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帐号了。