Bash(又名 Linux 和 macOS 终端)的最佳键盘快捷键
Bash 是大多数 Linux 发行版(从 Ubuntu 和 Debian 到 Red Hat 和 Fedora)上的默认命令行 shell。
汉娜·史赛克/极客指南
要点
- Bash 是 Linux、macOS 和大多数 WSL 虚拟机上的默认命令行 shell。它具有各种键盘快捷键,用于管理流程、控制屏幕、移动光标、删除文本、修复拼写错误、剪切和粘贴、大写字符以及使用制表符完成。
- 使用 Ctrl+C、Ctrl+Z 和 Ctrl+D 等快捷键来中断或关闭 bash 中的进程、清除屏幕并退出 shell。 Ctrl+S 停止输出,而 Ctrl+Q 恢复输出。
- 使用 Ctrl+A、Ctrl+E、Alt+B、Ctrl+B 等快捷键有效地导航和编辑命令。按 Tab 键使用制表符补全。
Bash 是大多数 Linux 发行版(从 Ubuntu 和 Debian 到 Red Hat 和 Fedora)上的默认命令行 shell。 Bash 也是 macOS 附带的默认 shell,您可以在 Windows 10 上安装基于 Linux 的 bash 环境。
bash shell 具有多种可供您使用的键盘快捷键。这些可以在任何操作系统上的 bash 中运行。如果您通过 SSH 或 telnet 会话远程访问 bash,其中一些可能不起作用,具体取决于您的密钥映射方式。
使用流程
使用以下快捷方式来管理正在运行的进程。
- Ctrl+C:中断(杀死)终端中当前运行的前台进程。这会向进程发送 SIGINT 信号,从技术上讲,这只是一个请求 - 大多数进程都会遵守它,但有些进程可能会忽略它。
- Ctrl+Z:暂停bash中当前运行的前台进程。这会将 SIGTSTP 信号发送到进程。要稍后将进程返回到前台,请使用
fg process_name
命令。 - Ctrl+D:关闭 bash shell。这会向 bash 发送一个 EOF(文件结束)标记,bash 在收到此标记时退出。这类似于运行
exit
命令。
控制屏幕
以下快捷键允许您控制屏幕上显示的内容。
- Ctrl+L:清除屏幕。这类似于运行“clear”命令。
- Ctrl+S:停止屏幕上的所有输出。当运行具有大量长而详细输出的命令,但您不想使用 Ctrl+C 停止命令本身时,这特别有用。
- Ctrl+Q:使用 Ctrl+S 停止后恢复屏幕输出。
移动光标
键入命令时,使用以下快捷键可在当前行周围快速移动光标。
- Ctrl+A 或 Home:转到行首。
- Ctrl+E 或 End:转到行尾。
- Alt+B:向左(后退)一个单词。
- Ctrl+B:向左(后退)一个字符。
- Alt+F:向右(向前)一个单词。
- Ctrl+F:向右(向前)移动一个字符。
- Ctrl+XX:在行首和光标当前位置之间移动。这允许您按 Ctrl+XX 返回到行的开头,更改某些内容,然后按 Ctrl+XX 返回到原始光标位置。要使用此快捷键,请按住 Ctrl 键并点击 X 键两次。
删除文本
使用以下快捷键可以快速删除字符:
- Ctrl+D或Delete:删除光标下的字符。
- Alt+D:删除当前行光标后的所有字符。
- Ctrl+H或退格:删除光标之前的字符。
修复拼写错误
这些快捷方式允许您修复拼写错误并撤消按键操作。
- Alt+T:将当前单词与前一个单词交换。
- Ctrl+T:交换光标前的最后两个字符。当您以错误的顺序输入两个字符时,您可以使用它来快速修复拼写错误。
- Ctrl+_:撤消上次按键操作。您可以重复此操作多次撤消。
剪切和粘贴
Bash 包括一些基本的剪切和粘贴功能。
- Ctrl+W:剪切光标之前的单词,将其添加到剪贴板。
- Ctrl+K:剪切光标后的行部分,并将其添加到剪贴板。
- Ctrl+U:剪切光标之前的行部分,将其添加到剪贴板。
- Ctrl+Y:粘贴您从剪贴板中剪切的最后内容。这里的 y 代表“yank”。
字符大写
bash shell 可以快速将字符转换为大写或小写:
- Alt+U:将从光标到当前单词末尾的每个字符大写,将字符转换为大写。
- Alt+L:取消从光标到当前单词末尾的每个字符的大写,将字符转换为小写。
- Alt+C:将光标下的字符大写。您的光标将移动到当前单词的末尾。
制表符补全
Tab 补全是一个非常有用的 bash 功能。在键入文件、目录或命令名称时,按 Tab 键,bash 将自动完成您正在键入的内容(如果可能)。如果没有,bash 将向您显示各种可能的匹配项,您可以继续输入并按 Tab 键完成输入。
- 制表符:自动完成您正在键入的文件、目录或命令。
例如,如果 /home/chris/ 中有一个名为 real_long_file_name 的文件,并且它是该目录中唯一以“r”开头的文件名,则可以键入 /home/chris/r,然后按 Tab 键,bash 将自动填充/home/chris/really_long_file_name 适合您。如果您有多个以“r”开头的文件或目录,bash 会告诉您可能性。您可以开始输入其中之一,然后按“Tab”继续。
使用您的命令历史记录
您可以快速滚动浏览最近的命令,这些命令存储在您的用户帐户的 bash 历史记录文件中:
- Ctrl+P 或向上箭头:转到命令历史记录中的上一个命令。多次按快捷键可返回历史记录。
- Ctrl+N 或向下箭头:转到命令历史记录中的下一个命令。多次按快捷键可向前浏览历史记录。
- Alt+R:恢复对从历史记录中提取的命令所做的任何更改(如果您已对其进行过编辑)。
Bash 还有一个特殊的“调用”模式,您可以使用它来搜索以前运行过的命令:
- Ctrl+R:调用与您提供的字符匹配的最后一个命令。按此快捷键并开始输入以搜索 bash 历史记录中的命令。
- Ctrl+O:运行使用 Ctrl+R 找到的命令。
- Ctrl+G:离开历史搜索模式而不运行命令。
emacs 与 vi 键盘快捷键
上述说明假设您在 bash 中使用默认的键盘快捷键配置。默认情况下,bash 使用 emacs
样式键。如果您更习惯 vi
文本编辑器,则可以切换到 vi 样式键盘快捷键。
以下命令将使 bash 进入 vi 模式:
set -o vi
以下命令将使 bash 恢复到默认的 emacs 模式:
set -o emacs
有了这些工具,您很快就会成为终端大师。
Linux Commands | ||
Files | tar·pv·cat·tac·chmod·grep ·diff·sed·ar·man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq·fold·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev·look·strings·type·rename·zip·unzip·mount·umount·install·fdisk·mkfs·rm·rmdir·rsync·df·gpg·vi·nano·mkdir·du·ln·patch·convert·rclone·shred·srm·scp·gzip·chattr·cut·find·umask·wc· tr | |
Processes | alias·screen·top·nice·renice·progress·strace·systemd·tmux·chsh·history·at·batch·free·which·dmesg·chfn·usermod·ps·chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo·su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt·poweroff·passwd·lscpu·crontab·date·bg·fg·pidof·nohup·pmap | |
Networking | netstat·ping·traceroute·ip·ss·whois·fail2ban·bmon·dig·finger·nmap·ftp·curl·wget·who·whoami·w·iptables·ssh-keygen·ufw·arping·firewalld |