查看Linux系统中日志文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 查看Linux系统中日志文件

Linux 系统中 Ubuntu,Debian,CentOS,RedHat 作为常用的服务器软件系统,很多人都已经熟知。不论是服务器出现问题,还是日常维护或各种环境搭建,我们经常需要登录上服务器查看日志。

如果熟知 Linux 下的 tail,cat,head,more,less 等命令,并会使用 vi 编辑器,在 Linux 系统中查看日志会是一件非常容易的事情。

“同事小杨,做java开发,一次他在CentOS系统上部署完服务后运行,发现服务异常,需要查看日志。就看小杨从容地打开 FileZilla 软件,SSH 到服务器,找到 log 日志文件,下载到本地。然后,他又使用 notepad++ 打开日志文件,通过 CTRL+F来查找异常信息和关键词。”

看到这里,不知你是否也这样,或你身边的也有这样的同事。你说这种查日志方式不对吗?不能说不对,因为目的达到了。问题是效率太低,也不够专业,这种方式也不能实时动态的观测日志。

如果你熟悉 Linux 系统,会那么几个常用的 Linux 命令,以上的场景就会是另一番景象。

“小杨通过SSH登录上 CentOS 服务器,一条 cd 命令进入日志文件所在目录。就看他不仅不慢的找到应用 log 日志文件,一条 tail -f app.log 执行过后,实时观测服务日志输出。突然,他看到了一条异常抛出日志,他果断 CTRL+C 中断了 tail 命令执行,仔细的看了看输出的异常日志。”

“日志输出太快,虽然短暂的看到了当前的日志,但为了找到更多关键信息,小杨熟练的在终端中输入vi app.log ,然后在vi命令模式下输入/关键字 快速匹配到了要找的日志内容。”

你看,这种场景下操作效率就很高,省去了你下载日志文件到本地再查找的问题时间,同时也更实时方便。

对于第一种场景,如果日志文件小,下载日志文件到本地查找也说的过去。如果日志文件是几百兆甚至几 G 的情况呢?你还要将日志文件下载到本地查找吗?先不说下载累不累,就什么时候下载下来都不好说。再说,你一不小心再把带宽给占了,下小片的同学就不乐意了。

说了这么多,终归是熟练掌握一些 Linux 命令和系统中的 vi 操作,对你的工作百利无一害。

下面我们重点讲讲Linux中常用的一些查看日志命令。

tail 命令

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

默认显示文件最后10行。

tail filename

动态跟踪文件新增内容,不断刷新输出,可以将文件中尾部最新的内容显示在屏幕上。

tail -f filename

指定显示文件尾部n行内容,例如。

tail -n 100 filename #显示文件尾部100行内容。
tail -n +100 filename #显示文件前100行内容。
tail -n -100 filename #除了前99行不显示外,显示第100行到末尾行。

更多关于tail命令的用法可以参看 如何在Linux中使用 tail 命令

cat 命令

cat命令用于一次性在终端中显示文件的所有内容。

显示文件所有内容。

cat filename

显示文件并显示行号。

cat -n filename #由 1 开始对所有输出的行数编号。
cat -b filename #和 -n 相似,只不过对于空白行不编号。

和 tail、head 命令的配合使用

cat filename | tail -10 #显示文件后10行内容。
cat filename | head -10 #显示文件前10行内容。
cat -n filename | tail -10 #显示文件后10行,并显示其行号。
cat -n filename | head -10 #显示文件前10行,并显示其行号。

更多cat命令的使用可以在终端中通过man cat查看。

head命令

head 命令用于显示文件的开头内容,它和 tail 命令正好相反。

默认显示文件头10行。

head filename

显示开头指定n行的文件内容。

head -n 100 filename #显示开头起100行内容。

显示开头指定个数的字符数。

head -c 100 filename #显示开头起100个字符内容。

更多关于head命令的用法,可以在终端中输入man head查看。

more 和 less 命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

more 命令和 cat 的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

分页显示文件内容。

more filename #可以通过空格键或者CTRL+F翻页查看。

指定从n行开始显示日志内容。

more +n filename

从开始匹配到key关键词内容的头两行开始显示。

more +/key filename

更多关于more名称的用法,可以在终端中输入man more查看。

更多关于less名称的用法,可以在终端中输入man less查看。

仅以上面命令为引,举例说明常用的一些查看日志文件的命令。

还有一些常用的命令例如grep,sed,touch,find 等 linux 命令有待你慢慢熟悉掌握常用方法。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
1月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
89 2
|
2月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
222 3
Linux系统禁用swap
|
2月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
332 3
|
2月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
354 122
基于docker搭建监控系统&日志收集
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
297 0
Linux系统初始化脚本
|
2月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
289 2
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
234 18
|
2月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
283 1
|
2月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1005 1