Linux查看日志常用命令
1.查看日志常用命令
tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志

        tail  -n  10  test.log   查询日志尾部最后10行的日志;

        tail -n +10 test.log    查询10行之后的所有日志;

head:  

    跟tail是相反的,tail是看后多少行日志;例子如下:

        head -n 10  test.log   查询日志文件中的头10行日志;

        head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

cat: 

    tac是倒序查看,是cat单词反写;例子如下:

        cat -n test.log |grep "debug"   查询关键字的日志
  1. 应用场景一:按行号查看—过滤出关键字附近的日志

    1)cat -n test.log |grep “debug” 得到关键日志的行号

    2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

         tail -n +92表示查询92行之后的日志
    
         head -n 20 则表示在前面的查询结果里再查前20条记录
    
  2. 应用场景二:根据日期查询日志

    sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log

    特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

                   先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
    

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

(1)使用more和less命令,

       如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

        如:cat -n test.log |grep "debug"  >debug.txt

日志文件

日 志 文 件说 明
/var/log/message系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure与安全相关的日志信息
/var/log/maillog与邮件相关的日志信息
/var/log/cron与定时任务相关的日志信息
/var/log/spooler与UUCP和news设备相关的日志信息
/var/log/boot.log守护进程启动和停止相关的日志消息

系统

命令说明
uname -a查看内核/操作系统/CPU信息
cat /etc/issue登陆信息显示数据
cat /etc/redhat-release查看操作系统版本
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查看系统负载

磁盘和分区

命令说明
mountcolumn -t # 查看挂接的分区状态
fdisk -l # 查看所有分区 
swapon -s # 查看所有交换分区 
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) 
dmesggrep 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 –listgrep on`

程序:

命令说明
# rpm -qa查看所有安装的软件包

更多推荐

Linux 系统中如何查看日志 (常用命令)