在Linux系统中,查看日志是一项非常重要的任务,因为它可以帮助我们了解系统的运行状况、发现和解决潜在的问题,Linux系统中有许多命令可以用来查看日志,本文将介绍一些常用的命令及其用法。
使用cat
、more
、less
、tail
等命令查看文件内容
1、cat
命令:cat
命令用于连接文件并打印到标准输出设备上,要查看名为/var/log/syslog
的日志文件,可以使用以下命令:
cat /var/log/syslog
2、more
命令:more
命令用于分页显示文件内容,要查看名为/var/log/syslog
的日志文件,可以使用以下命令:
more /var/log/syslog
3、less
命令:less
命令是一个交互式的文件查看器,可以向前翻页和向后翻页,要查看名为/var/log/syslog
的日志文件,可以使用以下命令:
less /var/log/syslog
4、tail
命令:tail
命令用于实时查看文件的末尾内容,要查看名为/var/log/syslog
的日志文件的最后10行,可以使用以下命令:
tail -n 10 /var/log/syslog
使用grep
命令过滤日志信息
1、grep
命令:grep
命令用于在文本中搜索指定的字符串,要查找名为/var/log/syslog
的日志文件中包含“error”的所有行,可以使用以下命令:
grep "error" /var/log/syslog
2、egrep
命令:egrep
命令是grep
命令的扩展版本,它支持正则表达式,要查找名为/var/log/syslog
的日志文件中以“error”开头的所有行,可以使用以下命令:
egrep "^error" /var/log/syslog
使用awk
、sed
等工具处理日志信息
1、awk
命令:awk
是一种文本处理工具,可以对文本进行分析和处理,要统计名为/var/log/syslog
的日志文件中每种错误类型的次数,可以使用以下命令:
awk '{count[$1]++} END {for (error in count) print error, count[error]}' /var/log/syslog | sort | uniq -c
2、sed
命令:sed
是一种流编辑器,可以对文本进行基本的文本转换,要将名为/var/log/syslog
的日志文件中的日期格式从“MMM dd HH:mm:ss”转换为“YYYY-MM-DD HH:mm:ss”,可以使用以下命令:
sed -e 's/\([A-Za-z]\{3\}\ \)[0-9]\{1,2\}\ [A-Za-z]\{2\}\ \[0-9]\{2\}\:\([0-9]\{2\}\):\([0-9]\{2\}\)/\1-\2-\3 \4:5:\6/g' /var/log/syslog > new_syslog_file && mv new_syslog_file /var/log/syslog
使用日志管理工具(如Logrotate)自动管理日志文件
1、Logrotate:Logrotate
是一个用于管理日志文件的工具,可以自动轮换、压缩、删除旧日志文件等,要配置Logrotate每天轮换一次名为app.log
的日志文件,可以在主目录下创建一个名为.rsyslogd.conf
的配置文件,并添加以下内容:
local7.* ?Wall * :outfile /path/to/new_app_log_file %i %n &> /dev/null &
运行以下命令使配置生效:
sudo logrotate --config=~/.rsyslogd.conf --state=old --backup -f -v -s 86400 -L rotate_app_logs.warn old_app_log_*.gz old_app_log_*.txt old_app_log_*.[0-9] new_app_log_*.gz new_app_log_*.txt new_app_log_*.[0-9] app_access_*.gz app_access_*.txt app_access_*.[0-9] app_error_*.gz app_error_*.txt app_error_*.[0-9] app_warning_*.gz app_warning_*.txt app_warning_*.[0-9] app_*.gz app_*.txt app_*.[0-9] systemd*.journal* tmp/*.gz tmp/*.txt tmp/*.[0-9] mail* root* mailtmp* root* mailtmp* root* news* root* news* root* authpriv* root* authpriv* root* kernel* root* kernel* root* security* root* security* root* devpts* root* devpts* root* devpts* root* home* root* home* root* home* root* lost+found* root* lost+found* root* lost+found* root* network* root* network* root* network* root* network* root* network* root* network* root* network* root* network* netfs* root* netfs* root* netfs* root* netfs* root* netfs* root* netfs* root* netfs* root* netfs* root* netfs@nfsuser * nfsroot@nfsserver * nfsdumpdir@nfsserver * utmp * utmpx * runcom * runuser * nologin * ~root * ~daemon * ~adm * ~lpd ~lpr * ~webadmin * ~ftpadmin * ~popadmin * ~nntpadmin * ~smtpadmin * mailnull * rcvmail * rcvnotls * rcvproxy * rpmdevnames * rpmstat * rpmupdate * rsync * screenlocker * sshd-clients * sshd-servers * sshd-systemd-sockets * sudoers * sulogin * sulogout * sugroup ... userdomain ... localdomain ... systemd-networkd ... systemd-resolved ... auditctl ... auditd ... audit.rules ... audit-agent ... audit.rules ... audit-webidle ... audit-webtimeout ... audit-lastexitstatus ... audit-lastexitreason ... audit-lastexitacct ... audit-lastexittag ... audit-all ... auditor ... awstats ... awfetch ... awmipdetect ... awmiptrapper ... awmulticastsendrecv ... awprivsep ... awprivsocklistening ... awsecdebuglevel ... awsecprotocol ... awsectransporttarget ... awsectrustedcertkeys ... awscriptenginestartuphook ... awscriptengineshutdownhook ... awscriptenginepreloadhook ... awscriptenginepostloadhook ... awscriptengineunloadhook ... awsessioncookiename ... awsessioncookiepath ... awsessioncookiesecurelevel ... awsessioncookiehttponlylevel ... awsessioncookiedomain ... awsessioncookiesamesitelevel ... awsessioncookielifetimeseconds ... awsessioncookielifetimedays ... awsessioncookiemaxageseconds ... awsessioncookiemaxagedays ... awauthrequired ... awauthproviders ... awcachesizelimitbytes ... awcachesizelimitkbytes ... awcachevalidityperiodseconds ... awcachevalidityperioddays ... awcachenegativecachesizelimitbytes ... awcachenegativecachesizelimitkbytes ... awcachenegativevalidityperiodseconds ... awcachenegativevalidityperioddays ... autoindexingenabled ... autoindexingintervalseconds ... autoindexinglocations ... autoindexingformatextensions */ &>> ~/.rsyslogd.conf&'; exec tail -f $HOME'/rsyslog.out &'; exit 0;' &>> $HOME'/rsyslogd.conf; exec tail -f $HOME'/rsyslog.out &'; exit 0;' &>> $HOME'/rsyslogd.conf; exec tail -f $HOME'/rsyslog.out &'; exit 0;' &>> $HOME'/rsyslogd.conf; exec tail -f $HOME'/rsyslog.out &'; exit 0;' &>> $HOME'/rsyslogd.conf; exec tail -f $HOME'}/rsyslog.out &'; exit 0;' &>> $HOME'}/rsys
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/196045.html