Linux log 日志查看

合集下载

linux查看日志的命令总结

linux查看日志的命令总结

linux查看日志的命令总结
要查看Linux系统的日志,可以使用以下命令:
1. `tail`命令:用于查看日志文件的末尾内容。

- 例如:`tail -f /var/log/syslog`可以实时查看syslog日志文件的最新内容。

2. `cat`命令:用于查看整个日志文件的内容。

- 例如:`cat /var/log/messages`可以查看messages日志文件的所有内容。

3. `less`命令:用于浏览大型日志文件,具有分页和搜索功能。

- 例如:`less /var/log/syslog`可以打开syslog日志文件并使用箭头键上下浏览,按`/`可以搜索关键词。

4. `grep`命令:用于在日志文件中搜索指定的关键词。

- 例如:`grep "error" /var/log/syslog`可以搜索syslog日志文件中包含关键词"error"的所有行。

5. `dmesg`命令:用于查看内核日志。

- 例如:`dmesg grep "error"`可以查看内核日志中包含关键词"error"的所有行。

6. `journalctl`命令:用于查看Systemd日志。

- 例如:`journalctl -u nginx.service`可以查看Nginx服务的日志。

这些命令可以根据需要使用不同的参数和选项来实现更多的功能,可以通过`man`命令查看它们的详细用法和更多选项。

linux查看日志文件内容命令tail、cat、tac、head、echo

linux查看日志文件内容命令tail、cat、tac、head、echo

linux查看⽇志⽂件内容命令tail、cat、tac、head、echo linux查看⽇志⽂件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第⼀个进程Ctrl-C,---------------------------linux 如何显⽰⼀个⽂件的某⼏⾏(中间⼏⾏)从第3000⾏开始,显⽰1000⾏。

即显⽰3000~3999⾏cat filename | tail -n +3000 | head -n 1000显⽰1000⾏到3000⾏cat filename| head -n 3000 | tail -n +1000*注意两种⽅法的顺序分解:tail -n 1000:显⽰最后1000⾏tail -n +1000:从1000⾏开始显⽰,显⽰1000⾏以后的head -n 1000:显⽰前⾯1000⾏⽤sed命令sed -n '5,10p' filename 这样你就可以只查看⽂件的第5⾏到第10⾏。

例:cat mylog.log | tail -n 1000 #输出mylog.log ⽂件最后⼀千⾏---------------------------cat主要有三⼤功能:1.⼀次显⽰整个⽂件。

$ cat filename2.从键盘创建⼀个⽂件。

$ cat > filename只能创建新⽂件,不能编辑已有⽂件.3.将⼏个⽂件合并为⼀个⽂件: $cat file1 file2 > file参数:-n 或 --number 由 1 开始对所有输出的⾏数编号-b 或 --number-nonblank 和 -n 相似,只不过对于空⽩⾏不编号-s 或 --squeeze-blank 当遇到有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏-v 或 --show-nonprinting例:把 textfile1 的档案内容加上⾏号后输⼊ textfile2 这个档案⾥cat -n textfile1 > textfile2把 textfile1 和 textfile2 的档案内容加上⾏号(空⽩⾏不加)之后将内容附加到 textfile3 ⾥。

Linux命令高级技巧使用journalctl和dmesg命令查看系统日志和内核信息

Linux命令高级技巧使用journalctl和dmesg命令查看系统日志和内核信息

Linux命令高级技巧使用journalctl和dmesg 命令查看系统日志和内核信息Linux命令高级技巧:使用journalctl和dmesg命令查看系统日志和内核信息在Linux操作系统中,系统日志和内核信息对于诊断和解决问题非常重要。

本文将介绍如何使用journalctl和dmesg这两个高级命令来查看系统日志和内核信息,并探讨它们的用法和一些技巧。

一、使用journalctl命令查看系统日志journalctl是systemd服务管理器的一部分,用于查看系统日志。

它具有强大的过滤和搜索功能,可以按时间戳、服务、日志级别等多种方式来过滤和查找日志信息。

1. 查看最近的系统日志要查看最近的系统日志,只需在终端中输入以下命令:```journalctl```这将显示所有的系统日志信息,按时间倒序排列。

你可以使用方向键向上或向下滚动浏览日志。

2. 过滤和搜索日志使用journalctl可以轻松地过滤和搜索日志信息。

以下是一些常用的过滤和搜索选项:- 根据时间戳过滤日志:- `-S`或`--since`:显示自指定时间开始的日志条目。

例如,`journalctl --since="2022-01-01 00:00:00"`将显示从2022年1月1日零点开始的日志。

- `-U`或`--until`:显示在指定时间之前的日志条目。

例如,`journalctl --until="2022-01-01 12:00:00"`将显示2022年1月1日中午12点之前的日志。

- 根据服务名过滤日志:- `-u`或`--unit`:显示指定服务的日志条目。

例如,`journalctl -u nginx`将显示与nginx服务相关的日志。

- 根据日志级别过滤日志:- `-p`或`--priority`:显示指定级别以上的日志条目。

级别从0(紧急)到7(调试)。

例如,`journalctl -p err`将仅显示错误级别以上的日志。

linux查询日志命令总结

linux查询日志命令总结

linux查询⽇志命令总结【背景】排查线上环境问题,少不了去线上查⽇志。

⽽使⽤什么命令,能快速准确地查到我们需要查找地⽇志信息,也是我们需要掌握的⼀项技能。

【命令】Linux查看命令有多种:tail,head,cat,tac,more(⼀) tail 命令tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]参数:1)-f 循环读取2)-q 不显⽰处理信息3)-v 显⽰详细的处理信息4)-c Number 从 Number 字节位置读取指定⽂件5)-n Number 从 Number ⾏位置读取指定⽂件6)-m Number 从 Number 多字节字符位置读取指定⽂件,⽐⽅你的⽂件假设包括中⽂字,假设指定-c参数,可能导致截断,但使⽤-m则会避免该问题7)-b Number 从 Number 表⽰的512字节块位置读取指定⽂件。

8)-k Number 从 Number 表⽰的1KB块位置读取指定⽂件。

上述命令中,都涉及到number,假设不指定,默认显⽰10⾏。

Number前⾯可使⽤正负号,表⽰该偏移从顶部还是从尾部開始计算。

应⽤:命令含义tail -f test.log 查看实时⽇志tail -100f test.log 查看最后100⾏⽇志记录tail -n 10 test.log 查询⽇志尾部最后10⾏的⽇志tail -n +10 test.log 查询10⾏之后的所有⽇志tail -fn 100 test.log 循环实时查看最后100⾏记录(⼆) head 命令功能跟tail是相反的,tail是查看后多少⾏⽇志命令含义head -n 10 test.log 查询⽇志⽂件中的前10⾏⽇志head -n -10 test.log 查询⽇志⽂件除了最后10⾏的其他所有⽇志(三) cat 命令功能1)⼀次显⽰整个⽂件。

linux命令查看日志最后10行内容

linux命令查看日志最后10行内容

linux命令查看日志最后10行内容摘要:1.引言2.Linux 命令查看日志概述3.使用"tail"命令查看日志最后10 行内容4.使用"tail -n 10"命令查看日志最后10 行内容5.使用"tail -f"命令实时查看日志内容6.总结正文:在Linux 系统中,日志是系统运行时记录各种信息的重要途径,能够帮助用户了解系统的运行状况,排查故障,进行安全审计等。

然而,面对庞大的日志文件,如何快速查看最后10 行内容呢?接下来我们将介绍如何使用Linux 命令查看日志最后10 行内容。

首先,我们来了解一下Linux 命令查看日志的基本方式。

在Linux 系统中,常用的查看日志的命令有"cat"、"more"、"less"、"tail"等。

其中,"tail"命令是我们今天要重点介绍的命令,它可以用来查看日志文件的最后几行内容。

接下来,我们就来介绍一下如何使用"tail"命令查看日志最后10 行内容。

在终端中输入以下命令:```tail /path/to/your/logfile.log```该命令将会显示日志文件的最后10 行内容。

其中,"/path/to/your/logfile.log"需要替换为你想要查看的日志文件的路径。

此外,如果你想要查看日志文件的最后n 行内容,可以使用"tail -n"命令,其中n 为你想要查看的行数。

例如,查看日志文件的最后10 行内容,可以使用以下命令:```tail -n 10 /path/to/your/logfile.log```如果你想要实时查看日志文件的内容,可以使用"tail -f"命令。

该命令会持续显示日志文件的最后几行内容,并在日志文件内容发生变化时自动更新。

Linux命令行下的系统日志和错误查看技巧

Linux命令行下的系统日志和错误查看技巧

Linux命令行下的系统日志和错误查看技巧在Linux命令行下,系统日志和错误查看是系统管理员和开发人员必备的技能之一。

系统日志记录了系统运行过程中的各种事件和错误信息,通过查看系统日志,可以追踪问题并解决系统故障。

本文将介绍一些常用的Linux命令行下的系统日志和错误查看技巧。

一、查看系统日志1. 查看系统日志文件Linux系统将系统日志保存在/var/log目录下的不同文件中。

常用的系统日志文件有:- /var/log/syslog:包含系统的整体运行状态和各个服务的日志信息。

- /var/log/messages:包含系统的整体状态信息和各种服务的消息。

- /var/log/auth.log:包含与系统身份验证和安全相关的日志信息。

- /var/log/kern.log:包含与内核相关的日志信息。

- /var/log/boot.log:包含系统启动过程的日志信息。

可以使用以下命令查看系统日志文件的内容:```tail /var/log/syslogtail /var/log/messagestail /var/log/auth.logtail /var/log/kern.logtail /var/log/boot.log```2. 实时查看系统日志如果需要实时查看系统日志的更新信息,可以使用以下命令:```tail -f /var/log/syslogtail -f /var/log/messagestail -f /var/log/auth.logtail -f /var/log/kern.logtail -f /var/log/boot.log```这样,当有新的日志信息写入日志文件时,命令行界面会即时显示出来。

二、查看错误日志在Linux系统中,错误日志保存在各个应用程序的日志文件中。

不同的应用程序有不同的错误日志文件。

以下是一些常见的错误日志文件及其使用方法:1. Apache错误日志Apache的错误日志文件一般位于/var/log/apache2/error.log或者/var/log/httpd/error.log,可以使用以下命令查看:```tail /var/log/apache2/error.logtail /var/log/httpd/error.log```2. MySQL错误日志MySQL的错误日志文件一般位于/var/log/mysql/error.log,可以使用以下命令查看:```tail /var/log/mysql/error.log```3. SSH错误日志SSH的错误日志文件一般位于/var/log/auth.log,可以使用以下命令查看:```tail /var/log/auth.log```4. Nginx错误日志Nginx的错误日志文件一般位于/var/log/nginx/error.log,可以使用以下命令查看:```tail /var/log/nginx/error.log```三、使用过滤器查找关键字在系统日志和错误日志中,常常需要查找包含特定关键字的日志信息。

如何在Linux终端中查看和管理日志文件

如何在Linux终端中查看和管理日志文件

如何在Linux终端中查看和管理日志文件运行在Linux操作系统上的服务器和应用程序通常会生成大量的日志文件,这些日志文件记录了系统和应用程序的运行状态、错误信息以及其他相关信息。

在故障排除和系统管理的过程中,查看和管理日志文件是非常重要的一项任务。

本文将介绍如何在Linux终端中查看和管理日志文件,并提供一些常用的命令和技巧。

I. 查看日志文件1. 使用cat命令查看日志文件在终端中使用cat命令可以查看日志文件的内容。

例如,要查看一个名为error.log的日志文件,可以运行以下命令:```cat error.log```这将显示文件的全部内容,可以使用Page Up和Page Down键进行翻页。

2. 使用tail命令查看日志文件tail命令可以实时显示日志文件的最新内容。

例如,要查看一个名为access.log的日志文件的最后几行内容,可以运行以下命令:```tail access.log```默认情况下,tail命令会实时显示文件的最后10行。

可以使用参数-n指定要显示的行数,例如-n 20表示显示最后20行。

3. 使用less命令分页查看日志文件如果日志文件非常大,使用cat或tail命令可能会导致终端输出过多,无法一次性显示完整文件。

这时可以使用less命令进行分页查看。

例如,要查看一个名为debug.log的日志文件,可以运行以下命令:```less debug.log```这将打开一个分页查看的界面,可以使用Page Up和Page Down键进行翻页。

按q键可以退出查看。

4. 使用grep命令搜索日志文件如果只关注特定内容或关键字,可以使用grep命令搜索日志文件。

例如,要搜索一个名为system.log的日志文件中包含关键字"error"的行,可以运行以下命令:```grep "error" system.log```这将显示包含关键字"error"的所有行。

Linuxlog日志查看

Linuxlog日志查看

Linux log 日志查看其实,可以说成是监控系统的记录,系统一举一动基本会记录下来。

这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误讯息与再配合登录文件的错误信息,几乎就可以解决大部分的 Linux 问题!所以日志文件异常重要,作为一个合格的linux 系统工程师,日志文件是必要熟练掌握的部分。

常见的几个登录文件有:/var/log/secure:记录登入系统存取数据的文件,例如 pop3, ssh, telnet, ftp 等都会被记录;/var/log/wtmp:记录登入者的讯息数据,由于本文件已经被编码过,所以必须使用last指令来取出文件的内容;/var/log/messages:尤为重要,几乎发生的错误讯息(或是重要信息)都会被记录在此;/var/log/boot.log:记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息;/var/log/maillog 或 /var/log/mail/*:纪录邮件存取或往来( sendmail 与 pop3 )的使用者记录;/var/log/cron:记录 crontab 这个例行性服务的内容的。

/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba,/var/log/procmail.log:分别是几个不同的网络服务的记录文件!登录文件的纪录程序之一: syslogd通常经过 syslog 而记录下来的数据主要有:事件发生的日期与时间;发生此事件的主机名称;启动此事件的服务名称 (如 samba, xinetd 等) 或函式名称 (如 libpam ..);该讯息数据内容syslogd的daemon配置文件:/etc/syslog.conf内容语法是这样的:服务名称[.=!]讯息等级讯息记录的文件名或装置或主机# 例如底下: /var/log/maillog_info服务名称:该服务产生的讯息会被纪录的意思。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux log 日志查看其实,可以说成是监控系统的记录,系统一举一动基本会记录下来。

这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误讯息与再配合登录文件的错误信息,几乎就可以解决大部分的 Linux 问题!所以日志文件异常重要,作为一个合格的linux 系统工程师,日志文件是必要熟练掌握的部分。

常见的几个登录文件有:/var/log/secure:记录登入系统存取数据的文件,例如 pop3, ssh, telnet, ftp 等都会被记录;/var/log/wtmp:记录登入者的讯息数据,由于本文件已经被编码过,所以必须使用last指令来取出文件的内容;/var/log/messages:尤为重要,几乎发生的错误讯息(或是重要信息)都会被记录在此;/var/log/boot.log:记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息;/var/log/maillog 或 /var/log/mail/*:纪录邮件存取或往来( sendmail 与 pop3 )的使用者记录;/var/log/cron:记录 crontab 这个例行性服务的内容的。

/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba,/var/log/procmail.log:分别是几个不同的网络服务的记录文件!登录文件的纪录程序之一: syslogd通常经过 syslog 而记录下来的数据主要有:事件发生的日期与时间;发生此事件的主机名称;启动此事件的服务名称 (如 samba, xinetd 等) 或函式名称 (如 libpam ..);该讯息数据内容syslogd的daemon配置文件:/etc/syslog.conf内容语法是这样的:服务名称[.=!]讯息等级讯息记录的文件名或装置或主机# 例如底下: /var/log/maillog_info服务名称:该服务产生的讯息会被纪录的意思。

syslog 认识的服务主要有底下这些:auth, authpriv:主要与认证有关的机制,例如telnet, login, ssh 等需要认证的服务都是使用此一机制;cron:例行性命令 cron/at 等产生讯息记录的地方;daemon:与各个 daemon 有关的讯息;kern:核心 (kernel) 产生讯息的地方;lpr:打印相关的讯息!mail:只要与邮件收发有关的讯息纪录都属于这个;news:与新闻群组服务器有关的东西;syslog:syslogd 这支程序本身产生的信息啊!user, uucp, local0 ~ local7:与 Unix like 机器本身有关的一些讯息。

讯息等级系统将讯息分为七个主要的等级,依序是由不重要排列到重要讯息等级:info:仅是一些基本的讯息说明而已;notice:比 info 还需要被注意到的一些信息内容;warning 或 warn:警示讯息,可能有问题,但是还不至于影响到某个 daemon 运作。

err 或 error :一些重大的错误讯息,这就要去找原因了。

crit:比 error 还要严重的错误信息,crit 是临界点 (critical) 的缩写,已经很严重了!alert:警告警告,已经很有问题的等级,比 crit 还要严重!emerg 或 panic:疼痛等级,意指系统已经几乎要当机的状态!很严重的错误信息了。

除了这些有等级的讯息外,还有两个特殊的等级,那就是 debug(错误侦测等级) 与none (不需登录等级) 两个,当要作一些错误侦测,或者是忽略掉某些服务的信息时,就用这俩!在讯息等级之前还有 [.=!] 的连结符号!他代表的意思是:. :代表比后面还要高的等级(含该等级)都被记录下来的意思,例如: 代表只要是 mail 的信息,而且该信息等级高于 info (含info )时,就会被记录下来。

.=:代表所需要的等级就是后面接的等级而已!.!:代表不等于。

日志文件记录的文件名或装置或主机常见的放置处:文件的绝对路径:通常就是放在 /var/log 里头的文件!打印机或其它:例如 /dev/lp0 这个打印机装置(即使被黑客可以删除掉日志文件,但是最终删除不了打印出来的日志信息)使用者名称:显示给使用者!远程主机:例如 @,要对方主机也能支持才行!*:代表目前在线的所有人,类似 wall 这个指令的意义!看看在尚未开启网络服务的情况下来自 Fedora Core Release 4 的相关资料[root@linux ~]# vi /etc/syslog.conf#kern.* /dev/console# 只要是 kernel 产生的讯息,全部都送到 console 去!默认是关闭的。

*.info;mail.none;authpriv.none;cron.none /var/log/messages# 在已知各服务的讯息中,不要记录到这个文件中,把已知的服务记录到单独的日志文件中去,方便日后查询,否则messages这个文件就太混乱了。

这个文件非常重要,所有未知的信息都会被记录在这个文件中,所以有问题,找这个文件就八九不离十了。

authpriv.* /var/log/secure# 这个就是经过一些身份确认的行为之后,需要记录身份的文件。

mail.* -/var/log/maillog# 只要跟 mail 有关的(不论是 pop3 还是 sendmail )都会被纪录到这个文件!cron.* /var/log/cron#例行性命令相关的。

*.emerg *# 任何时候发生的警告讯息都会显示给在线的所有人!那个*就是目前在线的所有人。

uucp,news.crit /var/log/spooler# 记录新闻错误高于 crit 的等级的信息,写入 spooler 当中!local7.* /var/log/boot.log# 将开机的当中的讯息写入 /var/log/boot.log 中!每个版本的 syslog.conf 差异是很大的,所以,每个登录文件记录的数据其实不很固定。

例:让所有的信息都额外写入到 /var/log/admin.log![root@linux ~]# vi /etc/syslog.conf*.info /var/log/admin.log 》》如果服务器硬盘容量够大,这么做也不失为一个良策。

[root@linux ~]# /etc/init.d/syslog restart[root@linux ~]# ll /var/log/admin.log-rw------- 1 root root 122 Oct 23 22:21 /var/log/admin.log 》》注意权限一台主机管理多台主机登录文件# 1. 先取得 port number 的信息![root@linux ~]# grep 514 /etc/servicessyslog 514/udp 》》syslog的固定端口# 注意,/etc/services 里面必须要存在这一行才行,否则自行手写!# 2. 修改 syslogd 的启动配置文件[root@linux ~]# vi /etc/sysconfig/syslog#SYSLOGD_OPTIONS="-m 0" 改成底下这样子SYSLOGD_OPTIONS="-m 0 -r"# 3. 重新启动与观察 syslogd ![root@linux ~]# /etc/init.d/syslog restart[root@linux ~]# netstat -tlunpProto Recv-Q Send-Q Local Address Foreign Address State PID/Program nameudp 0 0 0.0.0.0:514 0.0.0.0:* 24314/syslogdLinux 主机已经可以接收来自其它主机的登录信息了!client 端的设定就简单了!只要指定某个信息传送到这部主机即可!比如,登录文件主机 IP 为 192.168.1.100 ,而client 端希望所有的数据都送给主机,可以在 /etc/syslog.conf 里面新增这样的一行:[root@linux ~]# vi /etc/syslog.conf*.* @192.168.1.100未来主机上面的登录文件当中,每一行的主机名称就会显示来自不同主机的信息了。

登录文件服务程序之二,轮滚 (logrotate):所谓的 logrotate ,就是将旧的 log 文件更名,然后建立一个空的 log 文件,如此一来,新的 log 文件将从零开始记录,然后只要将旧的 log 文件留下一段时间!旧的纪录保存了一段时间没有问题,那么就可以让系统自动的将他删掉,否则占用硬盘空间。

如图比如规定了message 日志文件轮滚3次:最初的日志文件 message轮滚一次后 message message1轮滚二次后 message message1 message2轮滚三次后 message message1 message2 message3 》》删除(如果再次轮滚,message3就会被删除,而message2就会变成message3,且系统会新建立一个message)注意,相同颜色的mssage表示的是一个内容的文件,只不过每次轮滚他的名字后面会改一次数字。

logrotate 的配置文件/etc/logrotate.conf/etc/logrotate.d/注意! logrotate.conf 才是主要的参数文件,logrotate.d 是一个目录,该目录里面的所有文件都会被主动的读入/etc/logrotate.conf 当中来进行!另外,在/etc/logrotate.d/ 里面的文件中,如果没有规定到的一些细部设定,则以/etc/logrotate.conf 的规定来指定为默认值![root@linux ~]# vi /etc/logrotate.conf# 底下是 "logrotate 的预设值,如果个别的文件设定了其它的参数,那么将以个别的文件设定为主,若该文件没有设定到的参数,则以这个档案的内容为默认值!Weekly 》》预设每个礼拜对登录文件进行一次 rotate 的工作rotate 4 》》保留四个登录文件!create 》》是否建立新的登录文件来记录!#compress 》》 rotate 之后的登录文件,是否压缩,通常是不要压缩啦,压缩登录文件扩展名会变成 messages.1.gz !系统负载不大,且日志比较大,可以考虑压缩。

相关文档
最新文档