Linux 快捷键与命令高效技巧


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.txtfile.txt 中搜索包含 “keyword” 的行。 ★★★★
sed 文本替换工具,例如 sed 's/old/new/g' file.txtfile.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
alias la='ls -la'

这样,每次只需要输入 la 就可以执行 ls -la 命令。

要使别名永久生效,可以将其添加到 ~/.bashrc~/.zshrc 文件中。

1
2
echo "alias la='ls -la'" >> ~/.bashrc
source ~/.bashrc # 重新加载 .bashrc 文件

2. 使用 findxargs 删除指定类型的文件

假设你需要删除当前目录下所有 .tmp 文件,可以使用以下命令:

⚠️ 高危操作,请务必谨慎使用。建议先用 find . -name "*.tmp" 确认要删除的文件列表。

1
find . -name "*.tmp" -print0 | xargs -0 rm -f

这个命令首先使用 find 命令查找所有 .tmp 文件,然后使用 xargs 命令将找到的文件名作为 rm -f 命令的参数,从而删除这些文件。-print0-0 参数用于处理文件名中包含空格的情况。

3. 使用 grep 查找包含特定字符串的文件

假设你需要查找当前目录下所有包含 “error” 字符串的 .log 文件,可以使用以下命令:

1
grep -l "error" *.log

-l 参数表示只输出包含 “error” 字符串的文件名,而不是具体的行。

4. 使用 sed 替换文件中的字符串

假设你需要将 config.txt 文件中的所有 “old_password” 替换为 “new_password”,可以使用以下命令:

⚠️ 高危操作,请务必谨慎使用,建议先备份文件。

1
sed -i 's/old_password/new_password/g' config.txt

-i 参数表示直接修改文件内容。s/old/new/g 表示将所有 “old_password” 替换为 “new_password”。

5. 使用 awk 提取文件的特定列

假设你有一个 CSV 文件 data.csv,包含多列数据,你想提取第一列和第三列,可以使用以下命令:

1
awk -F',' '{print $1, $3}' data.csv

-F',' 参数指定字段分隔符为逗号。{print $1, $3} 表示打印每行的第一个和第三个字段。

6. 后台运行程序

要在后台运行 my_script.sh 脚本,可以使用 nohup 命令:

1
nohup ./my_script.sh &

nohup 保证即使终端关闭,脚本也会继续运行。& 符号将命令放到后台执行。

你可以使用 ps aux 命令查看正在运行的进程,并使用 kill <PID> 命令终止进程。

Metadata

  • Tags: Linux, 快捷键, 命令, 技巧, 效率, Shell, 终端
  • Categories: 系统管理, 命令行, 效率工具

文章作者: 达朵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 达朵 !
  目录