Jan 2 10:51:34 linuxidc sudo: linuxidc : TTY=unknown ; PWD=/home/linuxidc ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.py
Jan 2 10:51:34 linuxidc sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 2 10:51:39 linuxidc sudo: pam_unix(sudo:session): session closed for user root
Jan 2 10:55:01 linuxidc CRON[4099]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan 2 10:55:01 linuxidc CRON[4099]: pam_unix(cron:session): session closed for user root
Jan 2 11:05:01 linuxidc CRON[4138]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan 2 11:05:01 linuxidc CRON[4138]: pam_unix(cron:session): session closed for user root
Jan 2 11:09:01 linuxidc CRON[4146]: pam_unix(cron:session): session opened for user root by (uid=0)
linuxidc@linuxidc ~ $ head -n 5 /var/log/auth.log
Jan 2 10:45:01 linuxidc CRON[3383]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan 2 10:45:01 linuxidc CRON[3383]: pam_unix(cron:session): session closed for user root
Jan 2 10:51:34 linuxidc sudo: linuxidc : TTY=unknown ; PWD=/home/linuxidc ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.py
Jan 2 10:51:34 linuxidc sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 2 10:51:39 linuxidc sudo: pam_unix(sudo:session): session closed for user root
5.tail命令
tail输出文件的末尾部分(默认情况下是末尾10行)。使用-n num参数选项符,即可指定显示的行数。
下面这个命令会输出指定文件的末尾5行:
linuxidc@linuxidc ~ $ tail -n 5 /var/log/auth.log
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on :: port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Received SIGHUP; restarting.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on :: port 22.
此外,tail有一个特殊的选项-f,可用于实时查看文件(尤其是日志文件)的变化。
下面这个命令让你能够密切关注指定文件的变化:
linuxidc@linuxidc ~ $ tail -f /var/log/auth.log
Jan 6 12:58:01 linuxidc sshd[1269]: Server listening on :: port 22.
Jan 6 12:58:11 linuxidc sshd[1269]: Received SIGHUP; restarting.
Jan 6 12:58:12 linuxidc sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan 6 12:58:12 linuxidc sshd[1269]: Server listening on :: port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Received SIGHUP; restarting.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on :: port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Received SIGHUP; restarting.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan 6 13:01:27 linuxidc sshd[1269]: Server listening on :: port 22.
参阅tail的参考手册页,即可了解完整的用法选项和操作说明:
$ man tail
6.sort命令
sort用于排序文本文件的行或来自标准输入的行。
下面是一个名为domains.list的文件的内容:
linuxidc@linuxidc ~ $ cat domains.list
linuxidc.com
linuxidc.com
news.linuxidc.com
news.linuxidc.com
linuxsay.com
linuxsay.com
windowsmint.com
windowsmint.com
你可以运行简单的sort命令,排序文件内容,就像这样:
linuxidc@linuxidc ~ $ sort domains.list
linuxsay.com
linuxsay.com
news.linuxidc.com
news.linuxidc.com
linuxidc.com
linuxidc.com
windowsmint.com
windowsmint.com
使用sort命令有好多方式,我们编写了几篇实用文章来介绍sort命令,如下所示:
7.uniq命令
uniq命令用于报告或忽略重复的行,它可以过滤来自标准输入的行,并将结果写入到标准输出。
对输入流运行sort后,可以用uniq来消除重复的行,如下面这个例子所示。
为了表明某行出现的次数,可使用-c选项,忽视大小写区别,同时通过加入-i选项来比较:
linuxidc@linuxidc ~ $ cat domains.list
linuxidc.com
linuxidc.com
news.linuxidc.com
news.linuxidc.com
linuxsay.com
linuxsay.com
windowsmint.com
sort domains.list | uniq -c
2 linuxsay.com
2 news.linuxidc.com
2 linuxidc.com
1 windowsmint.com
阅读uniq的参考手册页,可进一步了解用法信息和标志:
$ man uniq
8.fmt命令
fmt是简单的最佳文本格式器,它可以重新格式化指定文件中的段落,并将结果打印输出到标准输出。
下面是从文件domain-list.txt提取的内容:
1.linuxidc.com 2.news.linuxidc.com 3.linuxsay.com 4.windowsmint.com
要将上述内容重新格式化成标准列表,运行下面这个命令,-w参数选项符用来定义最大行宽:
linuxidc@linuxidc ~ $ cat domain-list.txt
1.linuxidc.com 2.news.linuxidc.com 3.linuxsay.com 4.windowsmint.com
linuxidc@linuxidc ~ $ fmt -w 1 domain-list.txt
1.linuxidc.com
2.news.linuxidc.com
3.linuxsay.com
4.windowsmint.com
9.pr命令
pr命令可转换文本文件或标准输入,以便打印输出。比如在Debian系统上,你可以列出所有已安装的程序包,如下所示:
$ dpkg -l
想组织整理分成页和列的列表、准备打印输出,运行下面这个命令。
linuxidc@linuxidc ~ $ dpkg -l | pr --columns 3 -l 20
2017-01-06 13:19
Page 1
Desired=Unknown/Install ii adduser ii apg
| Status=Not/Inst/Conf- ii adwaita-icon-theme ii app-install-data
|/ Err?=(none)/Reinst-r ii adwaita-icon-theme- ii apparmor
||/ Name ii alsa-base ii apt
+++-=============== ii alsa-utils ii apt-clone
ii accountsservice ii anacron ii apt-transport-https
ii acl ii apache2 ii apt-utils
ii acpi-support ii apache2-bin ii apt-xapian-index
ii acpid ii apache2-data ii aptdaemon