方向键调用历史命令(最基础)
- 操作:按键盘 (上箭头)逐条查看历史命令,(下箭头)返回最近输入。
- 场景:适合快速找回刚用过的命令(如
sudo apt update
)。 - 优点:无需记忆,直观易用。
- 缺点:历史命令较多时效率低。
重复上一条命令
- 操作:直接输入 并回车,系统自动替换为上一条命令。
$ apt install nginx # 首次执行 Permission denied? # 提示权限不足 $ sudo !! # 自动替换为 sudo apt install nginx
- 场景:需用
sudo
重试或快速重复执行。 - 注意:敏感命令(如含密码)慎用,避免泄露。
!n
执行历史记录中第 n 条命令
- 步骤:
- 用
history
查看命令编号(如history | grep "apt"
)。 - 输入
!编号
执行(如!203
执行编号203的命令)。$ history 200 cd /var/log 201 tail -f syslog 202 ping google.com $ !200 # 执行 cd /var/log
- 用
- 场景:精准调用较久前的命令。
Ctrl+R
反向搜索历史命令
- 操作:
- 按
Ctrl+R
进入搜索模式。 - 输入关键词(如
ssh
),系统实时显示匹配命令。 - 按
Enter
执行或 键编辑。(reverse-i-search)`ssh`: ssh user@192.168.1.10
- 按
- 场景:模糊匹配长命令(如带复杂参数的
scp
)。 - 提示:重复按
Ctrl+R
可循环匹配结果。
和 !^
复用上一条命令的参数
- :代表上条命令的最后一个参数。
$ mkdir project_folder $ cd !$ # 自动替换为 cd project_folder
!^
:代表上条命令的第一个参数。$ cp file1.txt /backup/ $ ls !^ # 自动替换为 ls file1.txt
- 场景:链式操作(如创建目录后立即进入)。
使用 fc
命令编辑历史命令
- 操作:
- 输入
fc
打开上条命令的默认编辑器(如 Vim)。 - 修改后保存退出,自动执行新命令。
- 输入
- 高级用法:
fc 203
编辑编号203的命令。 - 场景:需修改复杂命令(如调整长路径或参数)。
别名(Alias)持久化重复命令
- 步骤:
- 编辑
~/.bashrc
文件:nano ~/.bashrc
。 - 添加别名(如
alias update='sudo apt update && sudo apt upgrade'
)。 - 运行
source ~/.bashrc
生效。
- 编辑
- 场景:高频长命令(如编译、备份)一键执行。
- 优点:永久生效,减少输入量。
结合管道与 xargs
批量重复
- 示例:对多个文件执行相同操作。
# 查找所有 .log 文件并用 gzip 压缩 $ find /var/log -name "*.log" | xargs gzip
- 场景:自动化重复任务(如批量重命名、清理日志)。
⚠️ 安全提示
- 敏感命令检查:
执行history
中的命令前,用!n:p
预览(如!203:p
只显示不执行)。 - 历史记录加密:
避免在命令中明文输入密码,改用ssh-keygen
或pass
等工具。 - 控制历史记录长度:
在~/.bashrc
中设置HISTFILESIZE=1000
限制记录条数,防止泄露。
总结建议
- 日常场景:优先用 键或 。
- 复杂操作:
Ctrl+R
搜索或fc
编辑。 - 高频命令:创建别名(Alias)一劳永逸。
- 脚本自动化:结合
xargs
或编写 Shell 脚本。
引用说明基于 Linux 核心工具(Bash Shell)的官方文档及《Linux命令行与Shell脚本编程大全》第三版(Richard Blum, Christine Bresnahan 著)中的最佳实践,同时参考了 Ubuntu、Red Hat 官方手册的操作指南。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5773.html