linux命令综合
查找文件中指定字符串并且高亮显示:
find .|xargs grep --color=auto "hello"
dos下查找:
netstat -ano|findstr "8001"
查看端口号是否开启:
netstat -pant | fgrep 9009
给父进程发送一个TERM信号,试图杀死它和它的子进程
kill -TERM PPID
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID
killall httpd
每秒钟观察一下该端口的网络请求
watch -d -n 1 'netstat -pant | fgrep 9009'
10秒一次输出系统的平均负载
watch -n 10 'cat /proc/loadavg'
watch更多用法参考:http://www.cnblogs.com/peida/archive/2012/12/31/2840241.html
1. 查看当前目录总大小:du -sh
2. 查看当前目录下子目录及文件大小:du -sh *
3. 递归查看当前目录下所有文件大小:du -h
4. 查看硬盘分区:df -h
5.查找php.ini所在位置: sudo find / -name php.ini -print
硬件:
1.查看CPU信息:# cat /proc/cpuinfo | grep name
2.查看内 存信息: # cat /proc/meminfo
3.查看当前操作系统内核信息:# uname -a
4.查看当前操作系统发行版信息:# cat /etc/issue
5.查看网卡信息: # dmesg | grep -i eth
系统
# 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 # 查看所有安装的软件包
# find <directory> -type f -name "*.c" | xargs grep "<strings>"
<directory>是你要找的文件夹;如果是当前文件夹可以省略
-type f 说明,只找文件
-name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件
<strings>是你要找的某个字符串
find /your/path -type f -print | xargs grep MASQUERADE
grep -F MASQUERADE -R /path
例子:在根目录下查找所有的php.ini文件: sudo find / |grep php.ini
查看并发:
netstat -an|grep :80|wc -l
批量修改文件名:
1、我想把它们的名字的第一个1个字母变为"q",其它的不变
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done
或者写个脚本,显得更加清晰:
for file in `ls`
do
newfile =`echo $i | sed 's/^./q/'`
mv $file $newfile
done
2、修改前面5个字母为zhaozh
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
3、修改后面5个字母为snail
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
4、在前面添加 _hoho_
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
5、所有的小写字母变大写字母
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done
wget抓去网页手册
wget -r -l 6 -np http://www.yiiframework.com/doc/guide
wget -r -l 6 -np解释下
-r 递归
-l 6 限定在6层
-np 不取父页面