我的日常开发记录日志
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)

我的日常开发记录日志

never give up
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)
  • git

  • composer

  • linux

    • Linux
    • ssh
    • rsync上传本地文件到服务器
    • windows上使用multipass挂载本地文件
    • curl命令使用
    • 查询系统版本及硬件信息的
    • 操作linux上用户
    • crontab使用
    • systemctl使用
    • journalctl使用
    • ls查看文件及排序
      • 1. 查询自己的命令历史
        • 1.1 查看 .bash_history 文件
        • 1.2 使用 history 命令
        • 1.3 查询特定命令
      • 2. 查询其他用户的命令历史
        • 2.1 查看每个用户的 .bash_history 文件
        • 2.2 使用 su 命令切换用户
        • 2.3 使用 auditd 记录命令
      • 3. 查看系统日志
        • 3.1 查看 auth.log 日志
        • 3.2 查看 syslog 日志
      • 4. 扩展内容:增强命令历史管理
        • 4.1 配置命令历史选项
        • 4.2 清理命令历史
      • 总结
    • 查询命令行日志记录
    • less详细使用
    • Vim使用案例
    • top的基本使用
  • nginx

  • docker

  • vpn

  • frp

  • 脚本

  • 硬件

  • 运维
  • linux
窝窝侠
2024-11-19

ls查看文件及排序

# Linux 系统中查询命令历史和用户日志的方法

# 1. 查询自己的命令历史

用户可以通过以下几种方法查看自己在终端中执行的命令历史。

# 1.1 查看 .bash_history 文件

每个用户的命令历史通常保存在其主目录下的 .bash_history 文件中。

  • 使用示例:
    cat ~/.bash_history
    
    1

# 1.2 使用 history 命令

history 命令可以直接在终端中查看最近执行的命令。

  • 使用示例:

    history
    
    1
  • 查看特定数量的最近命令:

    history 20  # 查看最近 20 条命令
    
    1

# 1.3 查询特定命令

使用 grep 命令可以查询特定的命令。

  • 使用示例:
    history | grep "command"  # 替换 "command" 为您要查询的命令
    
    1

# 2. 查询其他用户的命令历史

作为 root 用户,您可以访问和查询其他用户的命令历史。以下是几种方法:

# 2.1 查看每个用户的 .bash_history 文件

您可以直接访问其他用户的 .bash_history 文件。

  • 使用示例:

    cat /home/user1/.bash_history  # 查看 user1 的命令历史
    
    1
  • 适用于多个用户的脚本示例:

    for user in user1 user2 user3; do
        echo "Command history for $user:"
        cat /home/$user/.bash_history
        echo -e "\n"
    done
    
    1
    2
    3
    4
    5

# 2.2 使用 su 命令切换用户

您也可以通过 su 命令切换到目标用户并使用 history 命令查看其命令历史。

  • 使用示例:
    su - user1  # 切换到 user1
    history
    
    1
    2

# 2.3 使用 auditd 记录命令

通过安装和配置 auditd,您可以记录系统中所有用户的命令执行。

  • 安装 auditd:

    sudo apt install auditd
    
    1
  • 添加规则以记录所有命令:

    echo '-a always,exit -F arch=b64 -S execve' | sudo auditctl -A
    
    1
  • 查看审计日志:

    sudo ausearch -c 'command_name'  # 替换 'command_name' 为您要查询的命令
    
    1

# 3. 查看系统日志

系统日志通常包含有关用户操作的更多信息,这些日志位于 /var/log 目录下。

# 3.1 查看 auth.log 日志

  • 使用示例:
    cat /var/log/auth.log  # 查看用户登录和 sudo 操作日志
    
    1

# 3.2 查看 syslog 日志

  • 使用示例:
    cat /var/log/syslog  # 查看系统的通用日志
    
    1

# 4. 扩展内容:增强命令历史管理

# 4.1 配置命令历史选项

通过修改 ~/.bashrc 文件,您可以配置命令历史的行为,例如历史记录的保存时间、文件大小等。

  • 示例配置:

    export HISTSIZE=1000        # 设置历史记录的最大条目数
    export HISTFILESIZE=2000    # 设置历史记录文件的最大大小
    export HISTTIMEFORMAT="%F %T "  # 显示命令的时间戳
    
    1
    2
    3
  • 使更改生效:

    source ~/.bashrc
    
    1

# 4.2 清理命令历史

用户可以清理自己的命令历史,使用以下命令:

  • 清空历史记录:

    history -c
    
    1
  • 删除 .bash_history 文件:

    rm ~/.bash_history
    
    1

# 总结

  • 使用 .bash_history 文件或 history 命令查询自己的命令历史。
  • 作为 root 用户,可以访问其他用户的 .bash_history 文件。
  • 使用 auditd 进行全面的命令审计和监控。
  • 查看系统日志 /var/log/auth.log 和 /var/log/syslog 以获取用户操作信息。
  • 配置命令历史选项以增强历史管理功能。
在线编辑 (opens new window)
上次更新: 2025/02/25, 18:30:54
journalctl使用
查询命令行日志记录

← journalctl使用 查询命令行日志记录→

最近更新
01
showprocess用法
04-29
02
vue3中尖括号和冒号的使用细则
04-29
03
sd使用
02-22
更多文章>
🖥️

© 2025窝窝侠 💌 豫ICP备20005263号-2 🛀 Theme by 💝 Vdoing && 小胖墩er

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×