linux如何快速输入从前历史命令?

上周 我试过了。
Ctrl+R 被按下。
输入/etc/profile。
该命令出现在屏幕上。
使用向上箭头查看。
我找到了。
非常方便。
没关系。

linux显示命令历史记录是什么-history 命令使用与实例

哦,这个故事其实挺方便的,但是上次有朋友用的时候遇到了问题,所以我需要和你谈谈。

例如,2 02 3 年我在北京一家公司实习时,同事每天用Ctrl+R搜索命令,发现历史记录全是“ls -la”,导致系统几乎卡住了。
后来我发现HISTIGNORE设置不正确,导致这些无用的命令都存储在里面了。

先说最关键的一点:
1 .清除历史记录的陷阱:直接使用history -c清除内存,但文件中的记录还在!上次2 02 2 年在上海的服务器上设置脚本时,不小心运行了history -c பெட்டு,但后来发现脚本中使用的所有密码还在文件中,差点酿成意外。
正确的做法是先用history -w写当前有用的备份,然后用history -c,最后用history -a写回备份。

2 炫酷的反向搜索操作Ctrl+R:这个你一定要擅长!但有一个细节很容易被忽视,那就是输入的关键词必须尽可能唯一。
例如,如果搜索 git status,如果历史记录只是 git status,则会随机匹配。
2 02 3 年,我在杭州调试代码,不断输入“stat”,匹配到了一堆状态相关的命令。
终于花了十分钟才找到我想要的git status。
建议搜索时添加前缀,例如!g status,这样准确度更高。

3 时间戳和HISTSIZE/HISTFILESIZE之间的平衡:显示时间戳非常有用,但是我在2 02 1 年配置广州服务器时,在.bashrc中添加了HISTTIMEFORMAT。
原来history命令释放了堆时间戳,历史记录长度增加了一倍。
建议先不要添加时间戳,使用history |少看最新的商品。
如果确实需要时间戳,请单独设置。
增加 HISTSIZE 和 HISTFILESIZE 也没有坏处,但请记住定期清理 .bash_history 文件。
不要存储数万个文件。
系统会卡住,很难快速找到命令。

一个实际场景给大家举个例子:
查找某个命令的参数:比如想查找上次使用docker run时指定的端口,直接!docker run !!:1 (!!是上一个命令,:1 是第二个参数)。
这比查半天历史记录要好得多。
批量修改历史命令:2 02 2 年我在成都做一个项目,改了很多配置文件路径。
所有历史命令都是错误的。
然后我用 sed -i 's/old_path/new_path/g' ~/.bash_history 将所有old_paths直接改为new_paths,省事!这当然有风险,所以建议先备份。
备份历史记录:这很简单,就是 cp ~/.bash_history ~/backup/history_$(date +%Y%m%d).txt。
我通常每周使用 cron 运行一次此命令。

最后,一些琐事:
history -n 非常有用。
每次打开新的终端会话时,它都会自动加载 .bash_history 中未读的条目。
但是,有时它会重复直到上次会话结束才执行的命令,所以要小心。
HISTCONTROL=ignoreboth 是默认值,它会忽略命令行历史记录中的重复行和常见空行。
如果要隐藏以 sudo 开头的命令,可以将 export HISTCONTROL=ignoreboth:erasedups 添加到 .bashrc 中。

反正故事很好用,但是不要乱配置环境变量,小心出事。
脚趾看看这些,够不够你参考呢?

linux如何查看命令历史记录

是的,是的,历史命令确实很有用。

只需在终端中输入历史记录,然后按 Enter 键,屏幕就会突然充满您之前执行过的任务,一项一项,每个任务前面都有一个数字。

想看最新的吗?例如,如果您想查看最近所做的 5 件事,只需在历史记录后添加 5 并按 Enter 键即可。

想要查看某个号码吗?例如,如果您想查看从 1 0 到 1 5 的数字,请输入历史记录 1 0 1 5 ,以便可以看到 1 0 中的 1 5
如果您认为历史记录太长,是否要删除它?输入-c历史记录。
该命令将删除当前会话中的所有记录,但不是全部记录。
.bash_history 文件中的内容仍然存在。

想要永远删除所有内容吗?您必须转到用户的主目录,找到 .bash_history 文件并使用 rm 命令将其删除。

如果你想从历史记录中查找一些东西怎么办?只需使用 grep 即可。
例如,如果您正在寻找带有“grep”的内容,请输入history | grep "grep" 和所有包含“grep”的命令将显示在屏幕上。

如果您看到某个历史命令并想再次运行它,会发生什么情况?例如,如果您看到数字 1 00,请敲门! 1 00,然后按回车键,命令将再次执行。
或者使用!!(双感叹号)来运行另一个刚刚完成的命令。

.bash_history 这个文件也很重要,它包含了你的历史记录。
如果你想看看里面写了什么,只需使用 nano ~/.bash_history 或 vim ~/.bash_history 并用这些编辑器打开它即可查看。

需要注意的是,不同的Linux系统或shell可能有不同的保存这条历史记录的方式以及可以保存多少条记录。
有时您必须更改环境变量,例如 HISTSIZE 和 HISTFILESIZE,以保存更多或更少的历史记录。