linux查看执行命令日志

fiy 其他 147

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以通过查看系统日志来查看执行命令的日志。Linux系统使用syslog服务来记录系统日志。下面我将介绍两种查看执行命令日志的方法。

    方法一:使用journalctl命令查看系统日志

    1. 打开终端,并以root权限登录系统。
    2. 使用以下命令查看所有的系统日志:
    “`
    journalctl
    “`
    这将显示最近的系统日志信息,包括执行命令的日志。

    3. 若要只查看执行命令的日志,可以使用grep命令过滤相关内容,例如:
    “`
    journalctl | grep “COMMAND=”
    “`
    这将只显示包含”COMMAND=”关键字的日志信息,这些日志信息即为执行命令的日志。

    方法二:查看 Bash 命令历史

    Bash 是 Linux 系统中最常用的 shell,它会记录用户在终端中输入的所有命令。可以通过查看 Bash 命令历史来查看执行命令的日志。

    1. 打开终端,并登录到用户账户。
    2. 执行以下命令来查看 Bash 命令历史:
    “`
    history
    “`
    这将显示用户在终端中输入的所有命令历史记录。

    3. 若只想查看最近执行的命令,可以使用以下命令:
    “`
    history | tail -n
    “`
    其中 `
    ` 是你想要显示的最近命令的数量(例如,若只显示最近 10 条命令,则将 `` 替换为 10)。

    通过以上两种方法,你可以很方便地在 Linux 系统中查看执行命令的日志。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要在Linux系统中查看执行命令日志,可以使用以下几种方法:

    1. 使用历史命令:在Linux系统中,可以使用历史命令来查看已执行的命令。可以使用“history”命令来列出最近执行过的命令列表。可以通过输入“!number”的方式来执行历史命令中的特定命令,其中“number”是命令在历史列表中的序号。

    2. 使用shell日志:Linux系统中的大多数shell都支持记录命令执行的日志功能。例如,Bash shell可以通过设置环境变量“HISTFILE”来指定命令历史记录的保存路径。可以通过查看该文件来查看执行过的命令日志。

    3. 使用“script”命令:可以使用“script”命令来记录整个终端会话。该命令会将终端输入输出记录到一个文件中。可以使用以下命令来开始记录终端会话:
    “`
    script log.txt
    “`
    其中“log.txt”是记录文件的名称。在录制会话结束后,可以使用“exit”命令来停止记录。然后,可以使用文本编辑器打开记录文件来查看执行过的命令日志。

    4. 使用“syslog”日志:Linux系统中的一些命令和系统服务会将日志信息记录到“syslog”中,可以使用“grep”命令和“tail”命令来查看相关日志信息。例如,可以使用以下命令来查看包含特定命令的日志信息:
    “`
    grep “command” /var/log/syslog
    “`

    5. 使用“sudo”日志:如果使用“sudo”命令来执行特权操作,系统会将相关信息记录到“sudo”日志文件中。可以使用以下命令来查看“sudo”日志文件:
    “`
    sudo cat /var/log/auth.log | grep sudo
    “`
    这将显示包含“sudo”命令执行相关的日志信息。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要查看Linux系统上执行的命令日志,可以按以下步骤进行操作:

    1. 配置命令历史记录
    默认情况下,Linux系统会记录用户执行的命令历史记录。可以在用户的主目录下的`.bashrc`文件中配置命令历史记录的详细程度。编辑`.bashrc`文件,找到以下内容并进行修改:

    “`shell
    export HISTCONTROL=ignoredups:erasedups
    export HISTSIZE=1000
    export HISTFILESIZE=2000
    “`

    – `HISTCONTROL=ignoredups:erasedups`:在记录命令历史记录时,忽略重复的命令。
    – `HISTSIZE=1000`:限制命令历史记录的大小为1000行。
    – `HISTFILESIZE=2000`:在关闭终端会话后,保存2000行命令历史记录。

    保存并关闭`.bashrc`文件,然后执行以下命令使配置生效:

    “`shell
    source ~/.bashrc
    “`

    2. 查看命令历史记录
    可以使用`history`命令来查看用户执行的命令历史记录。执行以下命令:

    “`shell
    history
    “`

    命令历史记录将以编号的方式显示在终端上。可以通过按键组合`Ctrl + R`来进行交互式搜索,输入关键字查找相关命令。

    3. 使用`script`命令记录会话
    `script`命令是Linux系统中一个强大的工具,它可以记录终端会话的输入输出内容。执行以下命令开始记录:

    “`shell
    script -t 2> timing.log -a output.session
    “`

    – `-t 2> timing.log`:将命令执行时的时间戳保存到`timing.log`文件中。
    – `-a output.session`:将会话的输入输出内容保存到`output.session`文件中。

    然后,您可以执行任何命令,并且所有的输入和输出都会被记录下来。要停止记录,请使用`exit`或`Ctrl + D`命令。

    4. 查看`script`日志文件
    可以使用`less`或`cat`命令查看`script`命令生成的日志文件。执行以下命令查看命令输入输出的日志文件:

    “`shell
    less output.session
    “`

    使用`Page Up`和`Page Down`键进行浏览,按`Q`键退出`less`工具。

    同时,可以查看时间戳日志文件`timing.log`:

    “`shell
    cat timing.log
    “`

    这将显示每个命令执行的时间戳信息。

    5. 使用`auditd`服务进行命令日志记录
    `auditd`是Linux系统中的一个内核级别的审计服务,它可以记录系统上执行的所有命令。要使用`auditd`进行命令日志记录,需要进行如下步骤:

    – 安装`auditd`服务:

    “`shell
    sudo apt-get install auditd
    “`

    – 启动`auditd`服务:

    “`shell
    sudo systemctl start auditd
    “`

    – 配置`auditd`服务:

    编辑`/etc/audit/audit.rules`文件,添加以下内容:

    “`shell
    -a exit,always -F arch=b64 -S execve
    -a exit,always -F arch=b32 -S execve
    “`

    保存并关闭文件。然后重新加载`auditd`规则:

    “`shell
    sudo augenrules –load
    “`

    – 查看命令日志:

    “`shell
    sudo ausearch -m execve
    “`

    这将显示执行的命令列表,包括命令的执行时间和执行者的用户信息。

    无论您使用哪种方法,都可以在需要时查看Linux系统上执行的命令日志。这对于问题排查和系统监控都非常有用。但请注意,命令日志文件可能包含敏感信息,因此应该加以保护和访问控制。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部