1. 历史命令
命令格式:history [选项] [历史命令保存文件]
选项:
- -c:清空所有的历史命令
- -w:把缓存中的历史命令立即写入历史命令保存文件(默认保存位置为登录用户家目录下的.bash_history文件)。
用户登录后执行的命令,要等到用户退出后,才会自动写入历史命令保存文件。
说明: history是shell内置命令。
一般来说,找不到命令所在路径的命令都是shell内置命令。可以用which 或 where is 进行检测。
[root@localhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# whereis history
history: /usr/share/man/man1/history.1.gz
常见用法:
history
列出所有的历史命令(包括历史命令保存文件中的历史命令和缓存中还未写入文件的历史命令)。
history -w
立即将缓存中的历史命令写入默认的历史命令保存文件。
一般,我们不要执行 history -c,因为我们可以通过历史命令保存文件中的历史命令,判断之前的用户执行了什么操作,还可以猜测是否有黑客攻击了我们的Linux服务器。
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改。
历史命令的调用:
使用上、下箭头调用以前的历史命令
使用!n执行第n条历史命令
使用!!执行上一条历史命令
使用!字符串,执行最后一条以该字符串开头的命令
2. 命令与文件补全
在bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件或目录时,按“tab”键,就会自动进行补全。
如果只有一个匹配项(理想情况),按一次tab键,就会将其自动补全。
如果有多个匹配项,无法自动补全,但可以按两次tab键,会列出所有的匹配项。
如果没有匹配项(前导的字符有问题),不管按多少次tab键,都没有作用。
推荐大家养成用tab键进行自动补全的习惯。