主题
Linux实用快捷键详解
课程介绍
最后我们学习一些实用的快捷键,能大大提高操作效率。Ctrl+c强制停止程序,Ctrl+d退出登录或程序,history查看历史命令,!前缀快速执行历史命令,Ctrl+r搜索历史,Ctrl+a/e跳到行首/行尾,Ctrl+左右按单词移动光标,Ctrl+l清屏。这些快捷键多练习几下就记住了。
1. 强制停止快捷键
1. 1 Ctrl+c - 强制停止程序运行
功能说明:
- 强制停止卡住的程序运行
- 取消当前正在输入的命令
应用场景:
场景1:停止卡住的程序
bash
# 例如tail命令卡住了
tail -f test.txt
# 按Ctrl+c强制停止场景2:取消错误的命令输入
bash
# 输入错误的命令
cd abcdefghijklmnopqrstuvwxyz
# 发现输错了,按Ctrl+c取消,重新输入2. 退出登录快捷键
2. 1 Ctrl+d - 退出或登出
功能说明:
- 退出当前账户的登录
- 退出某些特定程序的专属页面
应用场景:
场景1:退出切换的用户
bash
# 切换到yege用户
su - yege
# 按Ctrl+d退出登录,返回原用户场景2:退出Python解释器环境
bash
# 进入Python解释器
python
# 按Ctrl+d退出Python环境3. 历史命令搜索技巧
3. 1 history命令 - 查看历史命令
功能说明:
- 查看历史输入过的所有命令
- 序号越大表示命令越新(越近执行)
基本用法:
bash
# 查看所有历史命令
history
# 查看最近10条历史命令
history 10结合grep过滤:
bash
# 查看以ch开头的历史命令
history | grep "^.*ch"
# 查看包含特定关键字的历史命令
history | grep "mysql"3. 2 感叹号前缀 - 快速执行历史命令
功能说明:
- 使用感叹号作为命令前缀,自动执行上一次匹配前缀的命令
- 从历史命令底部向上搜索第一个匹配项
基本用法:
bash
# 执行最近一次以p开头的命令(如python)
!p
# 执行最近一次以t开头的命令(如tail)
!t
# 执行最近一次以history开头的命令
!history注意事项:
- 仅适用于短期内的命令(2-5个命令内)
- 对于久远的命令容易误匹配,不建议使用
3. 3 Ctrl+r - 搜索历史命令
功能说明:
- 交互式搜索历史命令
- 支持输入关键字进行模糊匹配
- 可以直接执行或获取命令进行修改
基本用法:
bash
# 按Ctrl+r进入搜索模式
(reverse-i-search)`':
# 输入关键字进行搜索
(reverse-i-search)`pass': ssh root@node2
# 直接回车执行命令
# 或按左右键获取命令进行修改搜索示例:
bash
# 搜索包含pass关键字的命令
Ctrl+r -> pass
# 搜索包含group关键字的命令
Ctrl+r -> group
# 搜索包含test4关键字的命令
Ctrl+r -> test44. 光标移动快捷键
4. 1 光标快速移动
快捷键列表:
| 快捷键 | 功能 | 说明 |
|---|---|---|
| Ctrl+a | 跳到行首 | 快速移动到命令开头 |
| Ctrl+e | 跳到行尾 | 快速移动到命令结尾 |
| Ctrl+左 | 向左跳一个单词 | 按单词向左移动光标 |
| Ctrl+右 | 向右跳一个单词 | 按单词向右移动光标 |
应用场景:
场景1:快速修改命令开头
bash
# 输入的命令
cd abcdefghijklmnopqrstuvwxyz
# 按Ctrl+a跳到开头,快速修改场景2:快速修改命令中间内容
bash
# 输入的命令
chown root hello.txt
# 按Ctrl+左跳到root位置,修改为yege
# 按Ctrl+右跳到hello位置,快速移动5. 清屏操作
5. 1 清屏方法
方法1:快捷键Ctrl+l
bash
# 按Ctrl+l清空终端内容方法2:clear命令
bash
# 使用clear命令清屏
clear6. 实践操作
6. 1 综合练习
练习1:使用历史命令
bash
# 1. 执行几个不同的命令
ls -l
cd /home
pwd
history
# 2. 使用!前缀快速执行
!l # 执行ls -l
!h # 执行history
# 3. 使用Ctrl+r搜索
Ctrl+r -> cd # 搜索cd相关命令练习2:光标移动练习
bash
# 1. 输入一个长命令
echo "This is a very long command for testing cursor movement shortcuts"
# 2. 使用Ctrl+a跳到开头,修改echo为printf
Ctrl+a -> 删除echo -> 输入printf
# 3. 使用Ctrl+e跳到结尾,添加更多内容
Ctrl+e -> 输入" and more text"
# 4. 使用Ctrl+左右键跳到中间位置修改
Ctrl+左 -> 修改"very"为"extremely"练习3:强制停止和退出练习
bash
# 1. 启动一个会卡住的命令
tail -f /var/log/syslog
# 2. 使用Ctrl+c停止
Ctrl+c
# 3. 进入Python环境
python
# 4. 使用Ctrl+d退出
Ctrl+d7. 常见问题
7. 1 常见问题及解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| Ctrl+c无法停止程序 | 程序可能忽略了SIGINT信号 | 尝试使用Ctrl+z或kill命令 |
| !前缀执行了错误的命令 | 历史命令中有多个匹配项 | 使用Ctrl+r精确搜索 |
| Ctrl+r搜索不到命令 | 命令太久远已被清除 | 增加history命令保存的行数 |
| 光标移动快捷键不生效 | 终端不支持或配置问题 | 检查终端设置或更换终端 |
7. 2 历史命令配置
增加历史命令保存数量:
bash
# 编辑~/.bashrc文件
vim ~/.bashrc
# 添加以下内容
export HISTSIZE=10000
export HISTTIMEFORMAT="%F %T "
# 使配置生效
source ~/.bashrc课程总结
这节课我们学了8个实用的快捷键。熟练使用这些快捷键能大大提升效率!
| 快捷键 | 功能 | 应用场景 |
|---|---|---|
| Ctrl+c | 强制停止/取消命令输入 | 停止卡住程序、取消错误输入 |
| Ctrl+d | 退出/登出 | 退出用户登录、退出程序环境 |
| history | 查看历史命令 | 查找之前执行过的命令 |
| !前缀 | 快速执行历史命令 | 重复执行近期命令 |
| Ctrl+r | 搜索历史命令 | 查找并执行久远命令 |
| Ctrl+a | 跳到行首 | 快速修改命令开头 |
| Ctrl+e | 跳到行尾 | 快速修改命令结尾 |
| Ctrl+左 | 向左跳单词 | 快速移动光标 |
| Ctrl+右 | 向右跳单词 | 快速移动光标 |
| Ctrl+l | 清屏 | 清理终端显示 |
| clear | 清屏 | 清理终端显示 |
课后练习
基础练习
- 使用history命令查看最近执行的20条命令(参考答案:history 20)
- 使用!前缀快速执行最近一次以ls开头的命令
- 使用Ctrl+r搜索包含"cd"关键字的命令
- 输入一个长命令,使用Ctrl+a和Ctrl+e在开头和结尾之间快速切换
- 使用Ctrl+l清空终端屏幕
进阶练习
- 使用Ctrl+左右键快速修改命令中的某个单词
- 在Python环境中输入一些代码,然后使用Ctrl+d退出
- 创建一个会卡住的tail命令,使用Ctrl+c停止它
- 结合使用多个快捷键完成一个复杂的命令编辑任务
实战场景
场景:快速修改和执行命令
bash
# 任务:快速执行并修改以下命令
scp -r /home/user/data root@192.168.1.100:/backup/
# 要求:
# 1. 使用历史命令找到这个命令
# 2. 使用光标移动快捷键修改IP地址为192.168.1.101
# 3. 使用Ctrl+c取消并重新输入
# 4. 最终正确执行修改后的命令