history
查看当前用户的命令历史
系统中定义了历史记录的总量是多少,这个参数是HISTSIZE
如果用户下线,再次登录history会重新计数,但是历史命令还是会看见,用过的命令会记录在环境变量HISTFILE中,
一般HISTFILE=/home/xxxuaer/.bash_history
HISTFILESIZE是指定.bash_history的文件大小的
还有一个环境变量就是HISTCONTROL
这个参数可以有三种选择:1、ignordups 2、ignorspace 3、ignorboth
ignoredups 忽略连续的相同命令
history | tail -n 10 执行了三次 但是只记录了一次命令,系统认为连续的相同命令才可以忽略。
ignorespace 忽略以空白字符为开头的命令
最后执行的history | tail -n 10 没有被记录到历史记录里。
ignoreboth 忽略以上两类命令
history是Bash的內建命令
可以通过help过去命令帮助
主要的使用参数有:
n 直接跟数字表示查看最近N条命令
包含了自己这一条
-d 删除指定编号的命令历史
-c 清空history缓存内容
注意:删除历史命令本身还是会保存在命令历史中。
-a 将内存中的历史记录保存到文件中,默认会保存在HISTFILE中。当用户退出系统时,系统会自动执行 history -a 的命令
-a file_name 将内存中的历史记录保存到指定文件中,效果是追加。这个参数之针对当前会话
-r 是将HISTFILE内容读取到内存中。
-w 跟 -a差不多 范围会再大一点,系统的解释是 current history -a是 history from this session 至于区别 我是没发现。
HISTTIMEFORMAT 这个是历史命令时间戳
默认是空的。
可以稍微改变一下内容
好看多了吧。
下面说下history的简化操作
!n N代表历史命令的编号
!!执行最近的命令或者重复执行上一条命令
!string 执行最近一次以string开头的命令
!$ 获取上个命令的参数
查看当前用户的命令历史
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/d6849eee5c97e7b6e8909f046702625a.png)
系统中定义了历史记录的总量是多少,这个参数是HISTSIZE
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/3991cf577e3b42dbf1619eb413f49f00.png)
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/e0bc64f00bbc90facb55e9ea9efe065c.png)
如果用户下线,再次登录history会重新计数,但是历史命令还是会看见,用过的命令会记录在环境变量HISTFILE中,
一般HISTFILE=/home/xxxuaer/.bash_history
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/52bcb72982ddb070570b63ff1fd239f6.png)
HISTFILESIZE是指定.bash_history的文件大小的
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/3855e3b6dcfa07a51a54c8fc9162ee2f.png)
还有一个环境变量就是HISTCONTROL
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/e6866da38afcb2b5fc93b37ddce4896d.png)
这个参数可以有三种选择:1、ignordups 2、ignorspace 3、ignorboth
ignoredups 忽略连续的相同命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/79796361efb82b0b3e15dad11bd8b8ce.png)
history | tail -n 10 执行了三次 但是只记录了一次命令,系统认为连续的相同命令才可以忽略。
ignorespace 忽略以空白字符为开头的命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/b527fbd8041876f725c29c0b03200a83.png)
最后执行的history | tail -n 10 没有被记录到历史记录里。
ignoreboth 忽略以上两类命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/cce65424ce0fdc98766af655314f9dfd.png)
history是Bash的內建命令
可以通过help过去命令帮助
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/16aa9f2c77adcf83a440e74866011c3e.png)
主要的使用参数有:
n 直接跟数字表示查看最近N条命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/49334226a3a61a8508ab32ac66360303.png)
包含了自己这一条
-d 删除指定编号的命令历史
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/e093af6a97620ebc4d834187ca38b970.png)
-c 清空history缓存内容
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/feb17b057e6c86ebb64a25af24c40b89.png)
注意:删除历史命令本身还是会保存在命令历史中。
-a 将内存中的历史记录保存到文件中,默认会保存在HISTFILE中。当用户退出系统时,系统会自动执行 history -a 的命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/9331c3097d33baf9917ef264e86775cc.png)
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/df5e588cc7377fe68e44a5c5fa5327d1.png)
-a file_name 将内存中的历史记录保存到指定文件中,效果是追加。这个参数之针对当前会话
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/d17dfb4e4c4e4df88f23ec244f90d3dc.png)
-r 是将HISTFILE内容读取到内存中。
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/4c52abaed74d2acd4d438d62c173d03a.png)
-w 跟 -a差不多 范围会再大一点,系统的解释是 current history -a是 history from this session 至于区别 我是没发现。
HISTTIMEFORMAT 这个是历史命令时间戳
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/4e98f5c605b2ef1e5cd32093eeeba127.png)
默认是空的。
可以稍微改变一下内容
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/546b93e913cc0136309329fae8026335.png)
好看多了吧。
下面说下history的简化操作
!n N代表历史命令的编号
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/7a600351fb552f2ce72ca7f55ef78ac8.png)
!!执行最近的命令或者重复执行上一条命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/18acf5707d071b3d2a1c316abefc976e.png)
!string 执行最近一次以string开头的命令
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/1fadb8032ac1da4a8d5e64183f116363.png)
!$ 获取上个命令的参数
![Bash的历史命令 history](https://i-blog.csdnimg.cn/blog_migrate/57b07f3dbf9777b2d40caea681996690.png)
这些参数可以写入.bash_profile文件中永久生效
本文转自 yueyue207 51CTO博客,原文链接:http://blog.51cto.com/yueyue207/2048521