WenRou's Blog
几个SSH里面的最常使用命令
2013-9-27 温柔哥


几个SSH里面的最常使用命令:



 1. top命令 可以实时查看系统状态:



 



 



 重点关注区域是第一排的load average即为系统负载,就是说整个VPS资源占用情况,如果正常建站,一般很少有超过5的时候,BURST超过20就会封号。第三排的第一,这个是CPU占用资源。还有后面的??%wa这个是硬盘状态,正常情况下CPU最好不要超过30%占用。wa指数长期30%以上,基本上硬盘就是不给力状态。第四排是内存,一共多少,使用了多少,剩余多少。



 按ctrl+c,停止执行当前程序,返回#。



 2.wget命令 下载文件,例如:



wget http://cachefly.cachefly.net/100mb.test



 下载CACHEFLY的文件,测试一下你VPS的带宽还有网络情况给力与否?对比DS2刀1G口,下载速度70M/S,VPSYOU百兆口,下载速度9.8M/S。



 3.vi命令 这是一个编辑器,类似WIN下的notepad记事本:



vi /etc/ssh/sshd_config



 简单说一下VI的使用过程,vi某文件后,再按i,左下角会显示insert,这时候才可以修改这个文件。修改后,按esc左下角inset消失,再输入:左下角出现:,再输入x,回车,则存盘退出。



 删除Port 22前面的#(注释),再修改Port 1688。然后,执行service sshd restart,就会修改你默认SSH的端口号为1688,增强安全性能。



 4.chmod命令 #后就是这个命令的说明



chmod +x /home/auto.sh # 赋予auto.sh可执行权限

chmod -R 777 /home/wwwroot # 赋予/home/wwwroot写入权限(部分网站程序安装时需要用到)



 5.mv命令 移动文件



mv /home/wwwroot/abc.tar.gz /home/backup # 把abc.tar.gz移动到backup目录



 6.rm命令 删除文件



rm test.tar.gz # 删除test.tar.gz,会有提示你确认 y即可

rm -rf /home/wwwroot/test # 无提示直接删除test目录,勿乱用,切记。



 7.tar命令 C打包和X解压文件



tar zcvf test.tar.gz /home/wwwroot #把/home/wwwroot打包

tar zxvf tet.tar.gz # 在当前目录解压test.tar.gz



 8.解压zip文件包



unzip name.zip



 其它常用命令



cd 举例:cd /home/wwwroot # 进入某目录

ls # 查看当前目录文件




 在错误输入命令时,可能会出现^HH^H2类似乱码,ctrl+c中断当前操作,重新来过即可。



 常用命令有很多,先更新到这儿,想到用哪个再更新。



 



 



 



目录操作:




rm -rf mydir /*删除mydir目录*/

cd mydir /*进入mydir目录*/

cd – /*回上一级目录*/

cd .. /*回父目录,中间有空格*/

cd ~ /*回根目录*/

mv tools tool /*把tools目录改名为tool */

ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/

cp -a tool /home/deepvps/www /*把tool目录下所有文件复制到www目录下 */




 



文件操作:




rm go.tar /* 删除go.tar文件 */

find mt.cgi /* 查找文件名为mt.cgi的文件 */

df –h /* 查看磁盘剩余空间,好像没这个必要,除非你太那个了 */




解压缩:




tar xvf wordpress.tar /* 解压tar格式的文件 */

tar -tvf myfile.tar /* 查看tar文件中包含的文件 */



tar cf toole.tar tool /* 把tool目录打包为toole.tar文件 */

tar cfz vpser.tar.gz tool /* 把tool目录打包且压缩为vpser.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB */



tar jcvf /var/bak/www.tar.bz2 /var/www/ /*创建.tar.bz2文件,压缩率高*/

tar xjf www.tar.bz2 /*解压tar.bz2格式*/



gzip -d ge.tar.gz /* 解压.tar.gz文件为.tar文件 */

unzip phpbb.zip /* 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的 */




下载:




wget http://soft.deepvps/web/nginx/nginx-0.8.0.tar.gz

/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */

wget -c http://soft.deepvps/web/nginx/nginx-0.8.0.tar.gz

/* 继续下载上次未下载完的文件 */




进程管理:




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




ps命令输出字段的含义:




[list]

[*]USER,进程所有者的用户名。

[*]PID,进程号,可以唯一标识该进程。

[*]%CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。

[*]%MEM,进程使用内存的百分比。

[*]VSZ,进程使用的虚拟内存大小,以K为单位。

[*]RSS,进程占用的物理内存的总数量,以K为单位。

[*]TTY,进程相关的终端名。

[*]STAT,进程状态,用(R–运行或准备运行;S–睡眠状态;I–空闲;Z–冻结;D–不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。

[*]START,进程开始运行时间。

[*]TIME,进程使用的总CPU时间。

[*]COMMAND,被执行的命令行。

[/list]





ps -aux | grep nginx /*在所有进程中,查找nginx的进程*/

kill 1234 /*1234为进程ID,即ps -aux 中的PID*/

killall nginx /*killall 通过程序的名字,直接杀死所有进程,nginx为进程名*/




Vim操作:




移动类的:

h/j/k/l: 左/下/上/右 移一格

w : 向后词移动 (前面加数字移动多少个词)

b : 向前词移动 (前面加数字移动多少个词)

e : 向后移到词末

ge : 向前移到词末

$ <End> : 行末

0 <Home> : 行首

tx : 向右查找本行的x并移到那儿(大写时向左)

33G : 移到文件的第33行

gg : 文件首行

G : 文件尾行

33% : 文件的33%处

H/M/L : 屏幕的首/中/尾行

zt/zz/zb : 当前行移到屏幕的首/中/底部




跳转:




” : 回到跳转来的地方

CTRL-O : 跳到一个 “较老” 的地方

CTRL-I <Tab> : 则跳到一个 “较新” 的地方




查找:




/ : 向下查找(后加关键字)

? : 向上查找(后加关键字)

n : 下一条符合的记录




编辑:




i : 转换到插入模式

x : 删除当前字符

. : 重复最后一次的修改操作(同PS里ctrl+f执行滤镜)

u : 撤销操作

CTRL-R : 重做

p : 将删除的字符插入到当前位置(put)




退出保存:




:q : 退出

:q! : 不保存退出

ZZ : 保存后退出

:e! : 放弃修改重新编辑



 



系统



# uname -a               # 查看内核/操作系统/CPU信息

# head -n 1 /etc/issue   # 查看操作系统版本

# cat /proc/cpuinfo      # 查看CPU信息

# hostname               # 查看计算机名

# lspci -tv              # 列出所有PCI设备

# lsusb -tv              # 列出所有USB设备

# lsmod                  # 列出加载的内核模块

# env                    # 查看环境变量



资源



# free -m                # 查看内存使用量和交换区使用量

# df -h                  # 查看各分区使用情况

# du -sh <目录名>        # 查看指定目录的大小

# grep MemTotal /proc/meminfo   # 查看内存总量

# grep MemFree /proc/meminfo    # 查看空闲内存量

# uptime                 # 查看系统运行时间、用户数、负载

# cat /proc/loadavg      # 查看系统负载



磁盘和分区



# mount | column -t      # 查看挂接的分区状态

# fdisk -l               # 查看所有分区

# swapon -s              # 查看所有交换分区

# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)

# dmesg | grep IDE       # 查看启动时IDE设备检测状况



网络



# ifconfig               # 查看所有网络接口的属性

# iptables -L            # 查看防火墙设置

# route -n               # 查看路由表

# netstat -lntp          # 查看所有监听端口

# netstat -antp          # 查看所有已经建立的连接

# netstat -s             # 查看网络统计信息



进程



# ps -ef                 # 查看所有进程

# top                    # 实时显示进程状态



用户



# w                      # 查看活动用户

# id <用户名>            # 查看指定用户信息

# last                   # 查看用户登录日志

# cut -d: -f1 /etc/passwd   # 查看系统所有用户

# cut -d: -f1 /etc/group    # 查看系统所有组

# crontab -l             # 查看当前用户的计划任务



服务



# chkconfig –list       # 列出所有系统服务

# chkconfig –list | grep on    # 列出所有启动的系统服务



程序



# rpm -qa                # 查看所有安装的软件包



 



查看nginx.conf配置文件的正确性

/usr/local/nginx/sbin/nginx -t



平滑重启Nginx

kill -HUP `cat /usr/local/nginx/nginx.pid`

推荐用次方法平滑重新Nginx



杀死Nginx的进程

killall nginx

然后启动

/usr/local/nginx/sbin/nginx



mysql重新启动

/etc/init.d/mysqld start



重启php-cgi

/usr/local/php/sbin/php-fpm restart

/usr/local/php/sbin/php-fpm reload



运行php-cgi

/usr/local/php/sbin/php-fpm start



查看端口占用

netstat -ntlp



查看文件数量

df -i



查看磁盘容量

df -lh




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

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容