Linux 快捷键与命令高效技巧
Content
基础介绍
快捷键(Keyboard shortcuts)和命令行技巧是提高 Linux 系统操作效率的关键。掌握它们可以让你在终端中更快地执行任务,减少鼠标依赖,从而更高效地完成工作。
快捷键通过预定义的按键组合来触发特定的操作,例如复制、粘贴、切换窗口等。命令技巧则涉及到如何更有效地使用 shell 命令,包括命令补全、历史命令、命令别名等。
在 Linux 系统中,效率至关重要,尤其是在服务器管理、软件开发等场景下。熟练掌握这些技巧可以显著提升工作效率,减少重复劳动。
常用快捷键
| 快捷键 | 说明 | 使用频率 |
|---|---|---|
Ctrl + C |
终止当前正在运行的命令 | ★★★★ |
Ctrl + Z |
将当前进程放到后台暂停 | ★★★☆ |
Ctrl + D |
关闭终端,或者在输入时表示 EOF(End Of File) | ★★★☆ |
Ctrl + A |
将光标移动到行首 | ★★★☆ |
Ctrl + E |
将光标移动到行尾 | ★★★☆ |
Ctrl + K |
从光标位置删除到行尾 | ★★☆☆ |
Ctrl + U |
从光标位置删除到行首 | ★★☆☆ |
Ctrl + W |
删除光标前的一个单词 | ★★☆☆ |
Ctrl + L |
清屏,相当于 clear 命令 |
★★★☆ |
Ctrl + R |
反向搜索历史命令 | ★★★☆ |
Tab |
命令或文件补全 | ★★★★ |
Up/Down Arrow Keys |
浏览历史命令 | ★★★★ |
常用命令技巧
| 命令/参数 | 说明 | 使用频率 |
|---|---|---|
history |
显示历史命令列表 | ★★★☆ |
!! |
执行上一条命令 | ★★☆☆ |
!<number> |
执行历史命令列表中编号为 <number> 的命令 |
★★☆☆ |
Ctrl + R |
反向搜索历史命令,输入关键词后按 Ctrl + R 继续搜索 |
★★★☆ |
alias |
创建命令别名,例如 alias la='ls -la' |
★★★☆ |
unalias |
删除命令别名,例如 unalias la |
★★☆☆ |
&& |
顺序执行多个命令,例如 command1 && command2,只有 command1 成功执行后才会执行 command2 |
★★★☆ |
|| |
顺序执行多个命令,例如 command1 || command2,只有 command1 执行失败后才会执行 command2 |
★★☆☆ |
> |
重定向输出到文件,例如 command > file.txt 会将 command 的输出覆盖写入 file.txt。⚠️小心使用,可能覆盖重要文件。 |
★★★☆ |
>> |
追加输出到文件,例如 command >> file.txt 会将 command 的输出追加到 file.txt 末尾。 |
★★★☆ |
| |
管道,将一个命令的输出作为另一个命令的输入,例如 command1 | command2 |
★★★★ |
xargs |
将标准输入转换为命令行参数,例如 ls *.txt | xargs rm 会删除所有 .txt 文件。⚠️高危操作,请务必谨慎使用。 |
★★★☆ |
find |
查找文件,例如 find . -name "*.txt" 在当前目录下查找所有 .txt 文件。 |
★★★☆ |
grep |
在文件中搜索字符串,例如 grep "keyword" file.txt 在 file.txt 中搜索包含 “keyword” 的行。 |
★★★★ |
sed |
文本替换工具,例如 sed 's/old/new/g' file.txt 将 file.txt 中的所有 “old” 替换为 “new”。 ⚠️高危操作,请务必谨慎使用。 |
★★★☆ |
awk |
文本处理工具,功能强大,例如 awk '{print $1}' file.txt 打印 file.txt 中每行的第一个字段。 |
★★★☆ |
nohup command & |
在后台运行命令,即使终端关闭也不会停止。 例如 nohup ./my_script.sh & 在后台运行 my_script.sh 脚本 |
★★★☆ |
ps aux |
显示当前系统中运行的进程 | ★★★☆ |
kill <PID> |
终止进程,<PID> 是进程 ID。 ⚠️高危操作,请务必确认 PID 的正确性。 |
★★★☆ |
示例代码
1. 使用 alias 创建常用命令别名
假设你经常需要查看当前目录下所有文件(包括隐藏文件)的详细信息,可以使用以下别名:
1 | |
这样,每次只需要输入 la 就可以执行 ls -la 命令。
要使别名永久生效,可以将其添加到 ~/.bashrc 或 ~/.zshrc 文件中。
1 | |
2. 使用 find 和 xargs 删除指定类型的文件
假设你需要删除当前目录下所有 .tmp 文件,可以使用以下命令:
⚠️ 高危操作,请务必谨慎使用。建议先用 find . -name "*.tmp" 确认要删除的文件列表。
1 | |
这个命令首先使用 find 命令查找所有 .tmp 文件,然后使用 xargs 命令将找到的文件名作为 rm -f 命令的参数,从而删除这些文件。-print0 和 -0 参数用于处理文件名中包含空格的情况。
3. 使用 grep 查找包含特定字符串的文件
假设你需要查找当前目录下所有包含 “error” 字符串的 .log 文件,可以使用以下命令:
1 | |
-l 参数表示只输出包含 “error” 字符串的文件名,而不是具体的行。
4. 使用 sed 替换文件中的字符串
假设你需要将 config.txt 文件中的所有 “old_password” 替换为 “new_password”,可以使用以下命令:
⚠️ 高危操作,请务必谨慎使用,建议先备份文件。
1 | |
-i 参数表示直接修改文件内容。s/old/new/g 表示将所有 “old_password” 替换为 “new_password”。
5. 使用 awk 提取文件的特定列
假设你有一个 CSV 文件 data.csv,包含多列数据,你想提取第一列和第三列,可以使用以下命令:
1 | |
-F',' 参数指定字段分隔符为逗号。{print $1, $3} 表示打印每行的第一个和第三个字段。
6. 后台运行程序
要在后台运行 my_script.sh 脚本,可以使用 nohup 命令:
1 | |
nohup 保证即使终端关闭,脚本也会继续运行。& 符号将命令放到后台执行。
你可以使用 ps aux 命令查看正在运行的进程,并使用 kill <PID> 命令终止进程。
Metadata
- Tags: Linux, 快捷键, 命令, 技巧, 效率, Shell, 终端
- Categories: 系统管理, 命令行, 效率工具