概述
`fc` 是 'fix command' 的缩写,它允许您选择 shell 历史记录中的特定命令,并在默认编辑器中打开它们,或者在不进行编辑的情况下立即重新执行它们。这可以节省重复工作或纠正拼写错误的时间。
主要功能
- 编辑 shell 历史命令
- 无需编辑即可重新执行历史命令
- 选择和处理特定范围的命令
- 可指定默认编辑器
主要选项
`fc` 命令提供了各种选项来控制历史记录的处理方式。
操作控制
生成的命令:
请尝试组合命令。
描述:
`fc` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
通过 `fc` 命令的各种使用示例,您可以学习如何管理历史记录和重新执行命令。
编辑并重新执行最近的命令
fc
在默认编辑器(通常是 `vi`)中打开最近执行的命令,修改后保存,该命令将被重新执行。
使用特定编辑器编辑最近的命令
fc -e nano
使用 `nano` 编辑器编辑并重新执行最近的命令。
查看最近 5 条命令列表
fc -l -5
输出最近执行的 5 条命令列表,并附带编号。
编辑特定范围的命令
fc 100 105
在编辑器中打开历史记录编号 100 到 105 的命令,修改后重新执行。
重新执行先前命令(无需编辑)
fc -s
无需调用编辑器即可立即重新执行最近执行的命令。`-s` 选项会抑制编辑器调用。
重新执行以特定字符串开头的命令
fc -s ssh
查找并无编辑地重新执行以 `ssh` 开头的最近命令。
替换先前命令中的字符串后重新执行
fc -s old_string=new_string
将最近命令中的 'old_string' 替换为 'new_string' 后重新执行。这类似于 `^old_string^new_string^` 的快捷键。
提示与注意事项
有助于更高效、安全地使用 `fc` 命令的提示和注意事项。
设置默认编辑器
可以通过设置环境变量 `$FCEDIT` 或 `$EDITOR` 来指定 `fc` 使用的默认编辑器。
- 示例: export FCEDIT=nano
- 优先级: `$FCEDIT` 的优先级高于 `$EDITOR`。
检查历史记录编号
您可以使用 `history` 命令查看当前 shell 的历史记录列表以及每个命令的编号。这在 `fc` 中指定特定命令时很有用。
安全地重新执行
特别是对于包含管道符 `|` 或重定向符 `>`、`>>` 的复杂命令,最好先使用 `fc` 打开编辑器检查和修改命令,然后再执行。`fc -s` 会立即执行而无需编辑过程,请谨慎使用。