Linux快速查看和执行历史命令

本文介绍了如何在Linux系统中利用快捷键和命令操作历史查询和重复执行,包括Ctrl+r搜索、上下历史切换、命令替换和清空历史等技巧,提升操作效率。

在使用 Linux 系统过程中,熟练使用命令(CLI)比界面可视化操作(GUI)更高效,Linux 命令很多,且有时执行过的命令行语句较长,快速查询并执行历史命令是操作提效的关键因素,下面就来介绍下这方面的相关知识点。

1. 查询历史命令

  • ctrl + r 搜索历史命令
  • ctrl + p 回显上一条历史命令
  • ctrl + n 回显下一条历史命令

2. 快速重复执行上一条命令

  • 使用上方向键,并回车执行
  • 使用 !! 并回车执行
  • !-1 并回车执行

3. 查找过去执行过的命令

history | less #预览所有历史命令(不会打印到终端)
history | more #预览所有历史命令(会打印到终端)
history | grep 'cd /var *' #查找包含cd /var字符串的所有历史命令
! <指令序号> #执行该序号所在的命令

例如:

!100 (执行 history 中序号为 100 的语句)

4. 命令替换(获取上个命令的各个参数)

!# (上一个命令名称,#代表上一个命令名称)
!$ (上一个命令的最后一个参数)
!#:n (上一个命令#的第n个参数)

例如:

 echo !less (打印上一次执行的less命令)
 echo !less:1 (打印上一次执行的less命令的第1个参数)
  • 清空执行过的所有命令历史 history -c
    ~/.bash-history记录了一些有关 root 执行过的命令
Linux 中,你可以使用 `history` 命令查看你之前执行过的命令历史记录。这个功能是由 Shell(如 Bash、Zsh)提供的,它会将用户输入的命令记录在一个文件中(通常是 `~/.bash_history`)。 --- ## ✅基本用法 ### 1. 查看所有历史命令: ```bash history ``` 这会列出你当前用户的所有历史命令,每条命令前都有一个编号。 示例输出: ``` 1001 ls -la 1002 cd /var/log 1003 tail -f syslog 1004 docker ps ``` --- ### 2. 执行某条历史命令(按编号) 例如要重新执行编号为 `1004` 的命令: ```bash !1004 ``` 这会执行 `docker ps`。 --- ### 3. 搜索历史命令(按关键字) 使用 `grep` 过滤特定命令: ```bash history | grep docker ``` 输出类似: ``` 1004 docker ps 1005 docker run -d --name mysql ... ``` --- ### 4. 快速执行上一条匹配命令 比如你想运行上一次包含 `docker run` 的命令: ```bash !docker ``` Shell 会自动查找最近一条以 `docker` 开头的命令执行。 --- ### 5. 显示最近 N 条命令 ```bash history 10 ``` 显示最近的 10 条命令。 --- ## 📁历史命令存储位置 默认情况下,Bash历史命令保存在: ```bash ~/.bash_history ``` 你可以使用以下命令查看该文件内容: ```bash cat ~/.bash_history ``` > 注意:有些系统会在退出终端时才写入该文件。 --- ## 🔧配置历史命令行为 你可以在 `~/.bashrc` 文件中添加或修改以下环境变量来自定义历史记录行为: ```bash # 设置最大历史记录数量 export HISTSIZE=10000 export HISTFILESIZE=20000 # 忽略重复命令以空格开头的命令 export HISTCONTROL=ignoredups:erasedups ``` 然后运行: ```bash source ~/.bashrc ``` --- ## 🧪进阶技巧 ### 快捷键操作(在终端中使用) | 快捷键 | 功能说明 | |--------------|----------------------------------| | `↑` / `↓` | 上/下方向键浏览历史命令 | | `Ctrl + R` | 向后搜索历史命令(输入关键字) | | `Esc + .` | 插入上一条命令的最后一个参数 | --- ## ⚠️注意事项 - 不同终端会话的历史记录可能不会立即同步。 - 如果你使用的是其他 Shell(如 Zsh),也有类似的 `history` 功能。 - 部分服务器出于安全考虑会限制历史命令的记录。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值