查看Linux系统中用过什么命令 history

提示:以下所有命令都在Ubuntu-24.04-live-server-amd64系统中运行


前言

history 命令用于显示和操作当前用户在当前会话中执行过的命令历史记录。它是 Bash shell 的内置命令,提供了一些选项和参数来查看、管理和操作命令历史记录。


一、基本用法:

  1. 显示命令历史记录:
    执行 history 命令时,会显示当前会话中执行过的所有命令,每条命令前面都有一个序号。
history

示例输出:
在这里插入图片描述

  1. 执行历史记录中的命令:
    可以使用 ! 后跟命令的序号来执行历史记录中的命令。例如,执行序号为 1 的命令:
!1

这会执行命令 ip add
在这里插入图片描述

  1. 如果你只想显示最近的10条命令
history 10

在这里插入图片描述

4.清空当前会话的历史记录:
使用 -c 参数可以清空当前会话的命令历史记录,

注意这只是清除当前会话的历史记录

history -c

在这里插入图片描述

5.保存当前会话的历史记录:
使用 -w 参数可以将当前会话的命令历史记录保存到历史记录文件中(默认为 ~/.bash_history):

history -w

6.重新加载历史记录文件:
使用 -r 参数可以重新加载历史记录文件,这在修改历史记录文件后很有用:

history -r

7.查找历史记录:
可以通过按 Ctrl + R 进行交互式搜索历史记录。按下这个组合键后,可以输入关键字来搜索命令历史记录,然后按 Enter 来执行匹配的命令。

二、查看其他用户历史

  1. 首先,确定你想要查看历史记录的用户的家目录路径。
sudo ls /home  # 查看系统中的用户家目录
  1. 使用 sudo 命令访问目标用户的历史记录文件。例如,查看用户 john 的历史记录:
sudo cat /home/john/.bash_history

或者,如果你只需要列出命令而不需要内容,可以使用 less 命令来进行查看:

sudo less /home/john/.bash_history
  1. 切换到目标用户查看
  • 如果你有权限或者可以通过 sudo 切换到目标用户,你可以直接切换到该用户并查看其历史记录文件。
sudo su - john  # 切换到 john 用户
cat ~/.bash_history  # 查看历史记录文件
exit  # 退出 john 用户登录
  • 或者,如果你只是想列出而不需要内容,可以使用 less:
sudo su - john -c "less ~/.bash_history"

三、增加时间戳

  • 使用 history 查看历史命令时,默认情况下,历史记录文件中不包含时间戳。这对我们检查系统安全不能确定运行的命令是今天运行的还是去年运行,很不方便,以下是介绍把时间戳增加进去的方法
  1. 临时性

这是针对当前用户有效,重启后失效

export HISTTIMEFORMAT="%F %T "

在这里插入图片描述

  1. 针对指定用户永久有效,例如 asd 用户,重启后只有 asd 用户有效,其它用户无效
echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
source ~/.bashrc
  1. 对所有用户永久有效
sudo sh -c 'echo "export HISTTIMEFORMAT=\"%F %T \"" >> /etc/bash.bashrc'
source /etc/bash.bashrc
  1. 效果
    在这里插入图片描述

结语

history 命令是管理和回顾命令行操作非常有用的工具,它可以帮助用户快速查找、执行和管理之前执行过的命令。

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值