linux history命令原理,Linux history命令详解

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制

history常见命令参数

-c:清空当前历史命令;

-a:将历史命令缓冲区中命令写入历史命令文件【/root/.bash_history】;

-r:将历史命令文件中的命令读入当前历史命令缓冲区;

-w:将当前历史命令缓冲区命令写入历史命令文件中【/root/.bash_history】;

n:打印最近的n条历史命令

# history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史

!+字母:调出最近使用一次以此字母开头的命令

!!: 表示最近使用的一次操作的命令

!+数字:表示调出历史记录的几条命令

!-数字:调出最近的几条命令

常用的命令展示

历史命令显示执行时间【默认只显示序号和命令】

# 临时生效

[root@localhost ~]# export HISTTIMEFORMAT='%F %T'

[root@localhost ~]# echo $HISTTIMEFORMAT

[root@localhost ~]# history 2

# 永久生效

[root@localhost ~]# vim /root/.bash_history

---> 添加 export HISTTIMEFORMAT='%F %T'

source /root/.bashrc # 命令生效

1ce118482dd09cf006d6f95d57b75a16.png

查看history的缓存数量

# 直接查看变量[root@localhost ~]# echo $HISTSIZE

# 查看文件内容

[root@localhost ~]# cat /etc/profile | grep 'HISTSIZE'注意:HISTSIZE=0,表示禁用history

0b6d49ab159541c84670a37d2ab7c224.png

查看最近10条命令

[root@localhost ~]# history 10

6340c3b5fa630b5afd7faa023a16de79.png

使用最近一次使用的命令

[root@localhost ~]# !!

6a54c6f5f1a68ec41adea8aa0a8251af.png

使用第Num条命令

[root@localhost ~]# !994

cae2ae40aac0f3607d6b5da7112c80e6.png

显示最近使用的某个特定命令

[root@localhost ~]# !echo

45738230c96766cee88f17cd1ea2b7fb.png

获得上一条命令的参数

[root@localhost ~]# ls sun.txt

[root@localhost ~]# cat !$

c8c8126a01c5728208249c79fab44be9.png

更改历史记录信息

echo $HISTSIZE

export $HISTSIZE=500

history -c   清除所有的历史记录

history -d 212  清除212行的命令数据

永久生效:

echo "export TMOUT = 300" >> /etc/profile

echo "export $HISTSIZE=500" >> /etc/profile

echo "export $HISTFILESIZE=500" >> /etc/profile   只有500历史记录

source /etc/profile  永久生效  (source == .)

注意: cat ~/.bash_history   (历史记录文件的命令数量,属于用户的变量)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
历史命令Linux/Unix系统中的一个常用命令,用于查看当前用户在命令行中执行过的命令历史记录。通过使用history命令,您可以方便地查看、搜索、编辑和执行之前执行过的命令,从而提高操作的便利性和效率。 使用history命令可以显示当前会话中执行过的命令历史记录。默认情况下,它会显示最近执行的命令列表,每个命令前面都有一个数字作为索引。您可以使用这些索引来重新执行以前的命令。例如,要重新执行索引为10的命令,可以使用!10命令。 您可以通过history命令的选项来扩展其功能。例如,使用history -c命令可以清空当前会话的命令历史记录。这在某些情况下可能很有用,比如当您希望清除敏感信息或者只想保留当前会话的命令历史记录。 另一个有用的选项是history | grep命令,它可以在历史命令记录中搜索特定的命令。例如,如果您想找到所有包含"ls"的历史命令,可以使用history | grep ls命令。这对于查找特定命令的使用情况或者回顾之前执行过的类似命令非常有帮助。 您还可以使用HISTSIZE环境变量来设置历史命令记录的长度。默认情况下,命令历史记录的长度是1000个命令。通过设置HISTSIZE环境变量,您可以增加或减少历史命令记录的长度。例如,要将历史命令记录的长度设置为2000,可以在命令行中输入export HISTSIZE=2000。 综上所述,history命令Linux/Unix系统中一个非常有用的命令,它允许用户查看、搜索、编辑和执行之前执行过的命令历史记录。通过使用history命令的不同选项,您可以进一步扩展其功能,提高命令行操作的效率和便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值