相比方向键上下翻找,history
命令可以显示之前执行过的命令列表,并且可以通过序号选择并重新执行某条命令。以下是具体的使用方法:
1. 查看历史命令
使用 history
命令查看之前执行过的命令列表:
history
示例输出:
1 ls2 cd ~/projects3 git status4 vim main.cpp5 g++ main.cpp -o main6 ./main7 history
每一行前面的数字是命令的序号。
2. 通过序号重新执行命令
可以通过 !序号
的方式重新执行某条命令。例如,重新执行序号为 3
的命令:
!3
这将重新执行 git status
。
3. 快速执行上一条命令
-
使用
!!
可以快速重新执行上一条命令:!!
-
例如,如果上一条命令是
ls
,则!!
会重新执行ls
。
4. 搜索历史命令
可以通过 Ctrl + R
进行反向搜索历史命令。按下 Ctrl + R
后,输入关键字,终端会显示匹配的命令。例如:
- 按下
Ctrl + R
。 - 输入
git
,终端会显示最近一条包含git
的命令。 - 按下
Enter
执行该命令,或按下Ctrl + C
取消搜索。
5. 清除历史命令
如果需要清除历史命令,可以使用以下命令:
history -c
这将清除当前会话的历史命令(不会影响已保存的历史记录文件)。
6. 保存历史命令
默认情况下,历史命令会保存在 ~/.bash_history
(Bash)或 ~/.zsh_history
(Zsh)文件中。如果需要手动保存当前会话的历史命令,可以使用:
history -w
7. 其他常用操作
- 执行倒数第 N 条命令:使用
!-N
,例如!-2
会执行倒数第二条命令。 - 执行以特定字符串开头的命令:使用
!字符串
,例如!git
会执行最近一条以git
开头的命令。 - 显示某条命令的内容而不执行:使用
!序号:p
,例如!3:p
会显示序号为3
的命令内容。
8. 总结
- 使用
history
查看历史命令列表。 - 使用
!序号
重新执行某条命令。 - 使用
!!
重新执行上一条命令。 - 使用
Ctrl + R
搜索历史命令。 - 使用
history -c
清除历史命令。