linux命令

查找文件:

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 
find / -user user1 搜索属于用户 'user1' 的文件和目录 
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 
locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 
whereis halt 显示一个二进制文件、源码或man的位置 
which halt 显示一个二进制文件或可执行文件的完整路径 

查看端口:

知道2809号端口的情况 netstat -pan|grep 2809

进程查看

ps ax : 显示当前系统进程的列表 

ps aux : 显示当前系统进程详细列表以及进程用户

ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps ax|grep XXX(XXX为进程名称)

获取进程id

shell获取进程ID的方法:
  ps -A |grep "cmdname"| awk '{print $1}'
  pidof "cmdname"
  pgrep "cmdname"
这三种在bash和busybox ash里面的运行结果稍有不同,
 
第一种完全相同,但是因为调用命令次数较多,性能上是不行的。
 
第二种: pidof 只能获取程序的文件名匹配到的进程号,在ash中 比如 pidof "usr/bin/telnetd" 和 pidof "telnetd"中结果不一样, 前一种结果为空,但是在bash中执行两者一样。
 
第三种: pgrep跟1的效果相同,因为是单一命令,比第一种性能要好得多。
 
所以nanoRC就改进为pgrep。 
 
进程杀死

HUP 1 控制中的终端/程序中断 
INT 2 键盘的插入指令(同 Ctrl + C) 
QUIT 3 键盘的中断指令(同 Ctrl + \) 
TERM 15 程序的终止指令 
KILL 9 程序的强制终止指令(暴力砍掉) 
CONT 18 程序的再启动指令(STOP(19) 后再重新启动) 
STOP 19 程序的停止指令(同 Ctrl + Z)

shell脚本杀死进程

#!/bin/sh
NAME=$1
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
1),将之保存为killprocess.sh
2),调用./killprocess.sh programmename。其中programme可以为程序名字,也可以是启动程序时的命令行,只要能在ps -ef | grep programmename 之后出现所有的该程序对应的进程即可

posted @ 2017-03-29 17:49  fisherinbox  阅读(215)  评论(0编辑  收藏  举报