1.查看OS版本
head -n 1 /etc/issue
2.查看计算机名
hostname
3.查看环境变量资源
env
4.列出加载的内核模块
lsmod
5.查看/tmp目录大小
du -sh /tmp
6.查看各分区使用情况
df -h
7.查看系统运行时间、用户数、负载
uptime
8.查看挂载的分区状态
mount | column -t
9.查看所有分区
fdisk -l
10.查看所有交换分区
swapon -s
11.查看启动时IDE设备检测状况
dmesg | grep IDE
12.查看路由表
route -n
13.查看所有监听端口
netstat -lntp
14.查看所有已经建立的链接
netstat -antp
15.查看网络统计信息
netstat -s
16.查看防火墙设置
iptables --list
17.查看活动用户
w
18.查看用户登录日志
last
19.查看系统所有用户
cut -d: -f1 /etc/passwd
20.查看系统所有分组
cut -d: -f1 /etc/group
21.查看当前用户的计划任务服务
crontab -l
22.列出所有启动的系统服务
chkconfig --list | grep on
23.查看进程树
ps aufx
pstree
24.获取进程总数
ps aux | wc -l
25.获取虚拟内存信息
vmstat
26.内核日志
dmesg
27.已经打开的句柄数
lsof | wc -l
28.网络错误
netstat -i
cat /proc/net/dev
29.CPU数量
cat /proc/cpuinfo | grep -c processor
30.CPU负载
cat /proc/loadavg
31.查看异常进程
top -id 1
32.同步网络时间
ntpdate asia.pool.ntp.org
33.统计一个目录中的目录个数
ls -l | awk '/^d/' | wc -l
34.统计一个目录中的文件个数
ls -l | awk '/^-/' | wc -l
35.统计一个目录中的全部文件数
find ./ -type f -print | wc -l
36.统计一个目录中的全部子目录数
find ./ -type d -print | wc -l
37.机器支持的最大内存
dmidecode |grep -P "Maximum\s+Capacity"
38.获取进程运行所在的CPU
ps -eo pid,args,psr
39.查看硬件制造商
dmidecode -s system-product-name
40.查看当前系统的共享内存页面
ipcs -m
1.查看进程,按内存降序输出
ps -e -o "%C : %p : %z :%a" | sort -k 5 -nr
2.杀死80端口进程
lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'| sh
3.清理僵尸进程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9
4.查看80端口进程,并排序
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
5.获取IP地址
ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6-
ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f 2 | awk '{print $1}'
6.查看tcp并发连接数及其连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
7.查看网络连接数
netstat -an | grep -E "^(tcp)" | cut -c 68- | sort | uniq -c | sort -n
8.获取内存大小
free -m | grep "Mem" | awk '{print $2}'
9.删除当前目录中零字节文件
find . -type f -size 0 -exec rm -rf {} \;
find . -type f -size 0 -delete
注:\;与{}之间有空格
10.统计服务器中jpg文件的总大小
find / -name *.jpg -exec wc -c {} \; | awk '{printf $1}' | awk '{a+=$1} END {printf a}'
11.统计当前目录下,大于100M的文件的个数
find . -size +100M -type f | tee file_list | wc -l
12.统计当前目录下的文件,以M为单位,按大小倒序输出
find . -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head
13.去掉第一列
awk '{for(i=2;i<=NF;i++) if(i!=NF){printf $i" "}else{print $i} }' filelist
注:filelist是需要处理的文件列表
14.日志的查看与搜索
tail -f -n 20 /var/log/messages
grep -i error /var/log/messages
egrep -i 'error|warn' /var/log/messages
15.网络抓包,输出摘要信息到tmp.txt文件;;然后检查IP的重复数并从小到大排序
tcpdump -c 100 > tmp.txt
less tmp.txt | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ -k1
上面的有些命令可能没有实际的应用价值,但是,通过这些命令我们可以更好地熟悉一些命令的用法。关于find、grep、awk、tcpdump、xargs、wc、netstat、cut、sed、wc等有些复杂但个人认为比较实用的有价值的命令,将来会在单独的博文中给出比较详细的使用说明。