Bash is a default shell on most of the Linux operating system, you should be aware of all the keyboard shortcuts to avoid typo mistakes.
Following is the list of shortcuts which will save your precious time;
ctrl+a : jump to begning of line you are typing on ;
ctrl+b : moving back a character ;
ctrl+c : terminate the command;
ctrl+d:delete character at cursor;
ctrl+D : exit the current shell;
ctrl+h : delete character before cursor ;
ctrl+e : jump to end of line you are typing on ;
ctrl+f : move forward by one character ;
ctrl+l : clear the screen :
ctrl+K : clear the line after cursor ;
ctrl+H : works as backspace ;
ctrl+t : transpose 2 characters ;
ctrl+xx : move between end-of-line and current cursor position ;
ctrl+r : search the history backwords ;
ctrl+w : erase word before cursor ;
ctrl+x@ : shows possible hostname completions;
ctrl+y : recover previous deleation ;
ctrl+z : suspend/stop the command which is running ;
#) UsingAlt combination :
Alt + > - Move to the last line in the history ;
Alt + ? - Show current completion list ;
Alt + * - Insert all possible completions ;
Alt + / - Attempt to complete filename ;
Alt + . - Yank last argument to previous command ;
Alt + b - Move backward ;
Alt + c - Capitalize the word ;
Alt + d - Delete word ;
Alt + f - Move word forward ;
Alt + l - Make word lowercase ;
Alt + n - Search the history forwards non-incremental ;
Alt + p - Search the history backwards non-incremental ;
Alt + r - Recall command ;
Alt + t - Move words around ;
Alt + u - Make word uppercase ;
Alt + back-space - Delete backward from cursor ;
#) Using Esc combination :
esc+d : delete word ;
esc+f : move forward a word ;
esc+b : mmove backward a word ;
esc+t : transpose two adjacent words ;
#) Using Tab combination :
*)Press tab twice to see all available commands;
*)Press tab twice after a word to view all commands starting with that word ;
*)Pressing ~along with hitting tab 2 times will give you list of all user on system from /etc/passwd;
*)Pressing $along with hitting tab 2 times will show you all sys variables ;
*)Pressing / along with hitting tab 2 times will give you entire directory structure including hidden ;
#) Some extras :
*) To complete a command you can hit the tab key after typing one or more letters of a command.
*) you can use ! along with first few character of previous command to get previous command fired;
eg; if you have used ifconfig sometime back then you can use !if to fire that command once again.
这篇 Bash Shell Shortcuts 的快捷键总结的非常好。值得学习。下面内容大多数是拷贝粘贴与总结.
CTRL 键相关的快捷键:
Ctrl + a - Jump to the start of the line Ctrl + b - Move back a char Ctrl + c - Terminate the command //用的最多了吧? Ctrl + d - Delete from under the cursor Ctrl + e - Jump to the end of the line Ctrl + f - Move forward a char Ctrl + k - Delete to EOL Ctrl + l - Clear the screen //清屏,类似 clear 命令 Ctrl + r - Search the history backwards //查找历史命令 Ctrl + R - Search the history backwards with multi occurrence Ctrl + u - Delete backward from cursor // 密码输入错误的时候比较有用 Ctrl + xx - Move between EOL and current cursor position Ctrl + x @ - Show possible hostname completions Ctrl + z - Suspend/ Stop the command 补充: Ctrl + h - 删除当前字符 Ctrl + w - 删除最后输入的单词
ALT 键相关的快捷键:
平时很少用。有些和远程登陆工具冲突。Alt + < - Move to the first line in the history Alt + > - Move to the last line in the history Alt + ? - Show current completion list Alt + * - Insert all possible completions Alt + / - Attempt to complete filename Alt + . - Yank last argument to previous command Alt + b - Move backward Alt + c - Capitalize the word Alt + d - Delete word Alt + f - Move forward Alt + l - Make word lowercase Alt + n - Search the history forwards non-incremental Alt + p - Search the history backwards non-incremental Alt + r - Recall command Alt + t - Move words around Alt + u - Make word uppercase Alt + back-space - Delete backward from cursor // SecureCRT 如果没有配置好,这个就很管用了。
其他特定的键绑定:
输入 bind -P 可以查看所有的键盘绑定。这一系列我觉得更为实用。Here "2T" means Press TAB twice $ 2T - All available commands(common) //命令行补全,我认为是 Bash 最好用的一点 $ (string)2T - All available commands starting with (string) $ /2T - Entire directory structure including Hidden one $ ./2T - Only Sub Dirs inside including Hidden one $ *2T - Only Sub Dirs inside without Hidden one $ ~2T - All Present Users on system from "/etc/passwd" //第一次见到,很好用 $ $2T - All Sys variables //写Shell脚本的时候很实用 $ @2T - Entries from "/etc/hosts" //第一次见到 $ =2T - Output like ls or dir //好像还不如 ls 快捷 补充: Esc + T - 交换光标前面的两个单词
很多来自GNU 的 readline 库。另外一份总结也很好
记忆是所有技术人员的敌人。一次要把所有的都记住是不可能的。针对自己的使用习惯,对少数快捷键反复使用,短期内就会有效果。
你还知道那些好用的快捷键 ? 补充一下 ?
--EOF--