Linux SSH常用命令合集

Linux ssh 常用命令

自动启动

    /etc/rc.d/rc.local


crontab

    /sbin/service crond start      //启动服务
    /sbin/service crond stop       //关闭服务
    /sbin/service crond restart    //重启服务
    /sbin/service crond reload     //重新载入配置

    命令

    crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
    crontab -l //列出某个用户cron服务的详细内容
    crontab -r //删除某个用户的cron服务
    crontab -e //编辑某个用户的cron服务

    基本格式 :
    *  *  *  *  *  command
    分 时   日  月  周   命令

    除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

    例子:

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd

 * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd

 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd



目录操作:
rm -rf mydir /*删除mydir目录*/
cd mydir /*进入mydir目录*/
cd �C /*回上一级目录*/
cd .. /*回父目录,中间有空格*/
cd ~ /*回根目录*/

mv tools tool /*把tools目录改名为tool */
ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/
cp -a tool /home/vpser/www /*把tool目录下所有文件复制到www目录下 */文件操作:
rm go.tar /* 删除go.tar文件 */
find mt.cgi /* 查找文件名为mt.cgi的文件 */
df �Ch /* 查看磁盘剩余空间,好像没这个必要,除非你太那个了 */

解压缩:
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.vpser.net/web/nginx/nginx-0.8.0.tar.gz
/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */
wget -c http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz
/* 继续下载上次未下载完的文件 */
转载请注明出处:VPS侦探 http://www.vpser.net
进程管理:
ps -aux /*ps 进程状态查询命令*/
ps命令输出字段的含义:
USER,进程所有者的用户名。
PID,进程号,可以唯一标识该进程。
%CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
%MEM,进程使用内存的百分比。
VSZ,进程使用的虚拟内存大小,以K为单位。
RSS,进程占用的物理内存的总数量,以K为单位。
TTY,进程相关的终端名。
STAT,进程状态,用(R�C运行或准备运行;S�C睡眠状态;I�C空闲;Z�C冻结;D�C不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。
START,进程开始运行时间。
TIME,进程使用的总CPU时间。
COMMAND,被执行的命令行。

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 : 向前移到词末
$ : 行末
0 : 行首
tx : 向右查找本行的x并移到那儿(大写时向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件尾行
33% : 文件的33%处
H/M/L : 屏幕的首/中/尾行
zt/zz/zb : 当前行移到屏幕的首/中/底部
跳转:
” : 回到跳转来的地方
CTRL-O : 跳到一个 “较老” 的地方
CTRL-I : 则跳到一个 “较新” 的地方
查找:
/ : 向下查找(后加关键字)
? : 向上查找(后加关键字)
n : 下一条符合的记录
编辑:
i : 转换到插入模式
x : 删除当前字符
. : 重复最后一次的修改操作(同PS里ctrl+f执行滤镜)
u : 撤销操作
CTRL-R : 重做
p : 将删除的字符插入到当前位置(put)
退出保存:
:q : 退出
:q! : 不保存退出
ZZ : 保存后退出
:e! : 放弃修改重新编辑
掌握这些基本命令,Linux下的基本使用已经掌握,只要多加练习,多遇到问题,解决问题,能力就会不断的提升。


精选37条强大的常用linux shell命令组合


任务 命令组合
1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;
find . type f -size 0 -delete
2 查看进程,按内存从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
3 按cpu利用率从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -nr
4 打印说cache里的URL grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'
5 查看http的并发请求数及其TCP连接状态 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
6 sed在这个文里Root的一行,匹配Root一行,将no替换成yes。 sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config 
7 如何杀掉mysql进程 ps aux |grep mysql |grep -v grep  |awk '{print $2}' |xargs kill -9
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid` 
8 显示运行3级别开启的服务(从中了解到cut的用途,截取数据) ls /etc/rc3.d/S* |cut -c 15- 
9 如何在编写SHELL显示多个信息,用EOF cat << EOF
+--------------------------------------------------------------+
|   === Welcome to Tunoff services ===                         |
+--------------------------------------------------------------+
EOF
10 for的用法(如给mysql建软链接) cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done
11 取IP地址 ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'
12 内存的大小 free -m |grep "Mem" | awk '{print $2}'
13 查看80端口的连接,并排序 netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
14 查看Apache的并发请求数及其TCP连接状态 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15 统计一下服务器下面所有的jpg的文件的大小 find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
16 CPU的数量 cat /proc/cpuinfo |grep -c processor
17 CPU负载  cat /proc/loadavg
18 CPU负载  mpstat 1 1
19 内存空间  free
20 磁盘空间  df -h
21 如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录 du -cks * | sort -rn | head -n 10
22 磁盘I/O负载  iostat -x 1 2
23 网络负载  sar -n DEV
24 网络错误  netstat -i
cat /proc/net/dev
25 网络连接数目 netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
26 进程总数 ps aux | wc -l
27 查看进程树 ps aufx
28 可运行进程数目 vmwtat 1 5
29 检查DNS Server工作是否正常,这里以61.139.2.69为例 dig www.baidu.com @61.139.2.69
30 检查当前登录的用户个数 who | wc -l
31 日志查看、搜索 cat /var/log/rflogview/*errors
grep -i error /var/log/messages
grep -i fail /var/log/messages
tail -f -n 2000 /var/log/messages
32 内核日志 dmesg
33 时间 date
34 已经打开的句柄数 lsof | wc -l
35 网络抓包,直接输出摘要信息到文件。 tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts
36 然后检查IP的重复数 并从小到大排序 注意 "-t\  +0" 中间是两个空格,less命令的用法。 less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\  +0
37 kudzu查看网卡型号 kudzu --probe --class=network




你可能感兴趣的:(linux基本命令)