Linux/Unix:lastcomm命令示例

时间:2020-01-09 10:42:17  来源:igfitidea点击:

如何在Linux或者类似Unix的操作系统上查找用户以前执行的命令?
您需要使用lastcomm命令来显示有关在基于Linux或者Unix的系统上先前执行的命令的信息。
您需要安装psacct软件包,其中包含几个用于监视进程活动的实用程序,包括ac,lastcomm,accton和sa。
从文件中读取会计

语法

基本语法如下:

lastcomm [commandNameHere] lastcomm [userNameHere] lastcomm [terminalNameHere]

如果没有提供命令行参数,lastcomm将显示有关在/var/account/pacct文件生存期内记录的所有命令的信息。
如果使用" commandNameHere"," userNameHere"或者" terminalNameHere"中的一项或者多项进行调用,则仅显示包含这些项目的记录。

lastcomm命令示例

打开终端应用程序,然后执行以下命令,以显示有关记录在/var/account/pacct中的所有先前执行的命令的信息:

# lastcomm
# lastcomm | more

了解lastcomm输出

对于每行,lastcomm在基于Linux的系统上显示以下信息:

  • 进程的命令名称。
  • 标记如下:
  • S:由超级用户执行的命令
  • F:在fork之后执行的命令,但没有后面的exec
  • C:命令以PDP-11兼容模式运行(仅VAX)
  • D:命令终止并生成核心文件
  • X:命令以信号SIGTERM终止
  • 进程的命令名称。
  • 运行该进程的用户名。
  • 该过程开始的时间。

显示在系统上执行的特定命令

要显示有关已执行的名为rsync的命令的信息:

# lastcomm rsync

输出示例:

rsync             S     root     __         0.03 secs Tue Jan 28 10:30
rsync             SF    root     __         0.00 secs Tue Jan 28 10:30
rsync             S     root     __         0.02 secs Tue Jan 28 10:25
rsync             SF    root     __         0.00 secs Tue Jan 28 10:25
rsync             S     root     __         0.02 secs Tue Jan 28 10:20
rsync             SF    root     __         0.00 secs Tue Jan 28 10:20
rsync             S     root     __         0.03 secs Tue Jan 28 10:15
rsync             SF    root     __         0.00 secs Tue Jan 28 10:15

显示用户执行的命令

要显示有关由theitroad用户执行的命令的信息,请执行:

# lastcomm theitroad

输出示例:

php-cgi            F    theitroad     __        17.86 secs Tue Jan 28 08:41
php-cgi            F    theitroad     __        17.97 secs Tue Jan 28 08:41
lighttpd           F    theitroad     __         0.00 secs Tue Jan 28 07:09
lighttpd          S     theitroad     pts/0      0.00 secs Tue Jan 28 07:09
php-cgi            F  X theitroad     __         4.83 secs Tue Jan 28 06:30
php-cgi            F  X theitroad     __         0.59 secs Tue Jan 28 07:08
php-cgi            F  X theitroad     __        24.13 secs Tue Jan 28 06:42
lighttpd           F    theitroad     __       116.24 secs Sun Jan 26 07:13
php-cgi            F  X theitroad     __         0.81 secs Tue Jan 28 07:02
php-cgi               X theitroad     __         0.06 secs Sun Jan 26 07:13
php-cgi               X theitroad     __         0.21 secs Sun Jan 26 07:13
php-cgi            F    theitroad     __        25.91 secs Tue Jan 28 06:36
php-cgi            F    theitroad     __        22.05 secs Tue Jan 28 03:15

显示用户在特定终端上执行的命令

要显示有关在pts/0终端上执行的命令的信息,请执行:

# lastcomm pts/0

整合在一起

您可以组合用户名,终端和命令名来显示有关由pts/4终端上的root用户执行的名为php-cgi的命令的信息,执行:

# lastcomm php-cgi root pts/4

要找出哪些用户使用了命令useradd以及哪些用户已登录tty5,请执行:

# lastcomm useradd tty5

从文件读取而不是默认记帐文件

要从文件/var/adm/pacct而不是默认记帐文件中读取记帐,请执行:

lastcomm -f /var/adm/pacct
## user name ##
# lastcomm -f /var/adm/pacct theitroad## tty/1 terminal ##
lastcomm -f /var/adm/pacct tty/1