linux命令行撤回
linux命令行撤回详细介绍
- 在 Bash Shell 中撤销上一个命令
- 在 Bash(大多数 Linux 发行版默认的 shell)中,可以使用
Ctrl + C来取消正在执行的命令。例如,如果你输入了一个可能会花费很长时间运行或者你不想执行的命令,按下Ctrl + C组合键,它会立即终止该命令的执行。 - 如果已经执行了一个命令,想要撤销它的效果(在一定程度上),可以使用以下方法:
- 使用历史记录编号:通过
history命令可以查看命令历史记录。每个命令都有一个对应的编号。例如,假设你刚刚执行了一个错误的rm -rf命令删除了一些文件(这是一个很危险的命令),你可以通过history命令找到这个命令之前的编号。假设这个错误命令是历史记录中的第 10 个命令,你可以使用!9来重新执行历史记录中的第 9 个命令,以此来部分恢复之前的状态(如果第 9 个命令是和文件系统相关的合适操作的话)。 - ** 使用反引号(
)或$()进行命令替换来撤销部分操作**:如果一个命令产生了一些输出,并且这些输出被用于后续的错误操作,你可以尝试通过重新执行产生正确输出的部分来纠正。例如,错误地执行了mv $(ls *.txt) /wrong/directory,你可以通过mv $(ls *.txt) /correct/directory来纠正文件的移动位置,这里$(ls *.txt)部分获取所有.txt` 文件的文件名列表,然后将它们移动到正确的目录。
- 使用历史记录编号:通过
- 在 Bash(大多数 Linux 发行版默认的 shell)中,可以使用
- 在其他 Shell 中的撤销操作(如 Zsh)
- Zsh 是另一种流行的 shell,它也有类似 Bash 的历史记录功能。在 Zsh 中,同样可以使用
Ctrl + C来取消正在执行的命令。 - Zsh 的历史记录操作更加灵活。例如,它有一个
fc(fix command)命令,用于编辑和重新执行历史命令。如果要编辑上一个命令,可以使用fc -e vi -1(假设你已经安装了 vi 编辑器),这会在 vi 编辑器中打开上一个命令,你可以对其进行修改,然后保存并重新执行。
- Zsh 是另一种流行的 shell,它也有类似 Bash 的历史记录功能。在 Zsh 中,同样可以使用
- 在文本编辑器(如 Vi/Vim)中的命令行撤销操作(当在命令行中调用文本编辑器时)
- 在 Vi/Vim 编辑器中,在命令模式下(按下
Esc键进入),可以使用u来撤销上一步操作。例如,如果你错误地删除了一行文本,按下u可以恢复这一行。如果要重做(撤销撤销)操作,可以使用Ctrl + r。这些操作在你通过命令行调用 Vi/Vim 来编辑配置文件等场景下非常有用,比如vi /etc/fstab,在编辑文件过程中如果出现错误操作,可以使用这些撤销和重做命令来纠正。
- 在 Vi/Vim 编辑器中,在命令模式下(按下