`
dxm1986
  • 浏览: 429217 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux 常用命令

阅读更多

 

linux 程序后台执行来回切换

方式一

screen + 命令式一

 

让其进入后台运行 Ctrl+A+D

 

恢复运行 screen -r -d

 

 

方式二

命令 + &

 

恢复

jobs

fg + number[程序序号]

 

恢复之后,如果又想让期切回后台,怎么办?Ctrl+Z

 

批量杀死进程

kill -9 `pidof +进程名`

 

 

linux随机启动程序

在/etc/rc.d/rc.local添加你需要随机启动项即可

 

 

终端(Terminal)下,一般是Ctrl-Shift-c /Ctrl-Shift-v 。

控制台下,鼠标选中就是复制了,Shift-Insert粘贴

ctrl+insert复制、shift+insert粘贴是通用的。

 

 

 

 

netstat -anp 显示系统端口使用情况

lsof -i :端口  显示占用该端口的进程情况 

uname -a 内核信息

cat /proc/interrupts 显示中断信息



查看网络流量:


iptraf  这个工具很COOL


安装sz ,yz 

yum install lrzsz

 

 

awk 

 

echo '10:41:47 up 882 days, 22:42,  1 user,  load average: 1.60, 1.46, 1.36'| awk '{print $(LF+2)}' | sed 's/,//' 

 

LF+2 从左边起第三个位置的内容,[下标从0开始]

NF-2 从右边起第三个位位置的内容,【下标从0开始】

 

sed 's/,//'  将‘,’替换为 空

 

 

wc -l 计数

 

 

 

du -sh 查看当前文件夹大小 

du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序 

附送: 

du -sk filename 查看指定文件大小 



Linux:ls以K、M、G为单位查看文件大小 

Linux:ls以K、M、G为单位查看文件大小。 
#man ls 
…… 
-h, --human-readable 
print sizes in human readable format (e.g., 1K 234M 2G) 
…… 
# ls 
cuss.war nohup.out 
# ls -l 
total 30372 
-rw-r--r-- 1 root root 31051909 May 24 10:07 cuss.war 
-rw------- 1 root root 0 Mar 20 13:52 nohup.out 
# ls -lh 
total 30M 
-rw-r--r-- 1 root root 30M May 24 10:07 cuss.war 
-rw------- 1 root root 0 Mar 20 13:52 nohup.out 
# ll -h 
total 30M 
-rw-r--r-- 1 root root 30M May 24 10:07 cuss.war 
-rw------- 1 root root 0 Mar 20 13:52 nohup.out 
[root@localhost rice_f2]# ls -lhs 




查看Linux下某个进程里面线程数量
2011-04-08 15:41

3中方法:

1. cat /proc/${pid}/status

2. pstree -p ${pid}

3. top -p ${pid} 再按H

    或者直接输入 top -bH -d 3 -p ${pid} 

 

查看进程工作

strace -p ${pid}

开启iptables日志
iptables -t raw -I PREROUTING 1 -p tcp --syn -m statistic --mode nth --every 5000 -j LOG --log-prefix "IPTABLES DETECTING SYN: "
tail /var/log/message
关闭iptables日志
iptables -t raw -F

查看是否被攻击
netstat -n -p TCP | grep SYN_RECV | grep :80 | wc -l
netstat -tn|grep ESTABLISH|wc -l 
查出服务器是否受到DOS攻击 (看SYN_RECV)
netstat -an |awk '{print $6}'|sort|uniq -c|sort -rn
   5116 TIME_WAIT
   1624 ESTABLISHED
    531 FIN_WAIT1
    512 FIN_WAIT2
    126 SYN_RECV
     10 CLOSING
      9 LISTEN

查出服务器异常IP链接
netstat -an | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -rn | head

 

 

 

swapoff之后再swapon

 

 

 

 

 

 

 

一、多行
dd
删除一行
ndd 
删除以当前行开始的n行
dw
删除以当前字符开始的一个字符
ndw
删除以当前字符开始的n个字符
d$、D
删除以当前字符开始的一行字符
d)
删除到下一句的开始
d}
删除到下一段的开始
d回车
删除2行



二、复制多行
任务:将第9行至第15行的数据,复制到第16行
方法1:(强烈推荐)
:9,15 copy 16  或 :9,15 co 16
由此可有:
:9,15 move 16  或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面  

方法2:
光标移动到结束行,ma
光标移动到起始行,输入y'a
光标移动到需要复制的行,输入p,行前复制则输入大写P

方法3:
把光标移到第9行 shift + v
再把光标移动到第15行  ctrl + c
再把光标死去到第16行  p mysql 

方法4:
光标移动到起始行,输入ma
光标移动到结束行,输入mb
光标移动到粘贴行,输入mc
然后输入:'a,'b, co 'c   把co换成m就是剪切
若要删除多行,则输入:'a,'b de

vi设置自动缩进:set smartindent
vi设置显示行号:set number 或 set nu

linux

 

比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:

sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`

解释一下:

-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名

 

一、linux sed 批量替换多个文件中的字符串

sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn

sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grepwww.bcak.com.cn -rl /home`

 

 

sed -i "s/2012-01-03/2012-01-04/g" `grep 2012-01-03 -rl /data/log/back`

 

 

find $webapp -name "*.bak" -exec rm -f {} \;  查找并删除

 

 

查资料,终于找到,取最后一列使用$NF,示例如下:

cat $(ll /home/sdzw/tcf/20110914_001/|awk '{print $NF}')|grep "abc" 

 

 

 

 

 

0 跳到行首,^ (shift 6)跳到行首第一个不是空白的字符上 ,$ 到行尾 
ctrl + f (forward) ctrl + b (backward) 分别向下 / 上卷动一屏 
crtl + d (down) ctrl + u (up) 分别向下 / 上卷动半屏 
记得先猛拍 ESC

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics