Linux常用命令
系统实时进程状态: top
top命令可以实时地显示系统的进程状态,如CPU占用率、内存占用率、运行时间等
- -u :只显示指定用户的进程
- -p :只显示指定进程ID的进程
- -c:显示完整的命令行
- -d :设置刷新间隔,单位为秒
示例
每隔5秒刷新信息
sh
top -d 5
内存使用情况:free
free命令可以显示系统的内存使用情况,包括物理内存、交换分区、缓冲区和缓存等
- -h:以人类可读的格式显示信息,如KB、MB、GB等
- -m:以MB为单位显示信息
- -g:以GB为单位显示信息
- -t:显示总计信息
示例
查看内存使用MB单位
sh
free -m
磁盘使用情况: df
df命令可以显示系统的磁盘使用情况,包括总容量、已用空间、可用空间、使用百分比等
- -h:以人类可读的格式显示信息,如KB、MB、GB等
- -m:以MB为单位显示信息
- -g:以GB为单位显示信息
- -T:显示文件系统类型
- -a:显示所有文件系统,包括特殊的
- < directory >:只显示指定目录所在的文件系统
示例
sh
df -hT
日志查看:tail
命令格式: tail [必要参数] [选择参数] [文件]
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示行数
- -q 从不输出给出文件名的首部
- -s 与-f合用,表示在每次反复的间隔休眠S秒
示例
循环实时查看最后100行记录(最常用的)
sh
tail -fn 100 catalina.out
查看登陆日志: last
last可以查看所有用户的登陆信息
- -num 显示最近num次登陆信息
lastlog可以查看所有用户的最后一次登陆信息
示例
查看最近10次登陆信息
sh
last -10
网络相关信息:netstat
netstat可以显示活动的TCP\UDP连接、监听的端口、路由表、接口统计、多播成员等
- -a:显示所有活动的TCP连接和监听的TCP和UDP端口
- -n:显示数字形式的地址和端口号,而不是尝试解析主机名。
- -p:只显示指定协议的连接。协议可以是tcp, udp, tcpv6, 或 udpv6。如果这个参数和-s一起使用来显示协议统计信息,协议可以是tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, 或 ipv6。
- -r:显示IP路由表。这相当于route print命令。
- -t:显示当前tcp连接状态。
- < interval>:每隔指定的秒数重新显示选定的信息。按CTRL+C停止重新显示。如果省略这个参数,命令只会打印一次选定的信息。
示例
查看本机监听端口
sh
netstat -tln
查看登陆失败记录
快捷命令
sh
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2" = "$1;}'