linux shell下面的快捷方式

来源:互联网 发布:属于网络传输威胁的是 编辑:程序博客网 时间:2024/05/20 02:56
ctrl键组合
ctrl+a:光标移到行首。
ctrl+b:光标左移一个字母
ctrl+c:杀死当前进程。
ctrl+d:退出当前 Shell。
ctrl+e:光标移到行尾。
ctrl+h:删除光标前一个字符,同 backspace 键相同。
ctrl+k:清除光标后至行尾的内容。
ctrl+l:清屏,相当于clear。
ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
ctrl+u: 清除光标前至行首间的所有内容。
ctrl+w: 移除光标前的一个单词
ctrl+t: 交换光标位置前的两个字符
ctrl+y: 粘贴或者恢复上次的删除
ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
ctrl+f: 光标右移
ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
esc组合
esc+d: 删除光标后的一个词
esc+f: 往右跳一个词
esc+b: 往左跳一个词

esc+t: 交换光标位置前的两个单词。


一、自动补齐:[Tab]


这个技巧很多人都应该会了,就是当输入命令,目录或者是文件名的时候按 [Tab] 键。系统就会帮你补齐可能要输入的东西,如果有多个选择系统会列表出来。你可以看清楚之后再多输入一个或多个 charactor ,再按[Tab]。


实验:


$ ec
按[Tab], 补齐为:
$ echo
二、查找和执行历史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]


在终端中按住 [Ctrl] 键的同时 [r] 键,出现提示:(reverse-i-search), 此时你尝试一下输入你以前输入过的命令,当你每输入一个字符的时候,终端都会滚动显示你的历史命令。当显示到你想找的合适的历史命令的时候,直接[Enter],就执行了历史命令。


另外, [Ctrl + p] 或 [Ctrl + n] 快速向前或向后滚动查找一个历史命令,对于快速提取刚刚执行过不久的命令很有用。


实验:


$ echo "hello, world" [Enter]
$ hello, world
[Ctrl + r ] (接着输入 echo)


(reverse-i-search)`ch': echo "hello,world" [Enter]
$hello,world
三、取消本次命令输入:[Ctrl + c]


这个快捷键可以使你从一个可能你已经厌烦了的命令中安全地退出!!也许是个不值一提的小技巧,但是经验告诉我它很有用。很多 Unix 初学者会习惯性地按 [Enter] 以摆脱困境,但是说不定就会发生灾难性的事件,譬如删除了一个重要的配置文件:(


四、光标跳转快捷键:


为了方便大家记忆,加点英语助记语在后面 :)


[Ctrl + a] 跳转至命令行首    Ahead of line
[Ctrl + e] 跳转至命令行尾    End of line
[Ctrl + f] 向前跳转一个字符  jump Forward one character
[Ctrl + b] 向后跳转一个字符  jump Backward one character
[Alt + f] 向前跳转到下一个字的第一个字符
[Alt + b] 向后跳转到下一个字的第一个字符
五、编辑命令的快捷键:


[Ctrl + w] 向后删除一个字,用来对付刚刚输入的错误字很有用
[Ctrl + u] 从光标当前位置删除所有字符至行首
[Ctrl + k] 从光标当前位置删除所有字符至行尾
[Ctrl + d] 删除光标当前位置的字符
[Ctrl + y] 粘贴最后一个被删除的字
[Alt + d] 删除从光标当前位置,到当前字的结尾字符
六、配置提示;


如果你是用 Gnome 下的终端窗口 gnome-teminal ,上面的 Gnu Shell 快捷键会跟 Gnome 的窗口快捷键有冲突。


那么你需要做如下配置:


在 gnome-terminal 的菜单栏中选 "Edit" -] "Keyboard Shortcuts ..."打开 "Keyboard Shortcuts" 对话框,并勾选下面两个复选项


"Disable all menu access keys (such as Alt+f to open File menu)"
"Disable menu shortcut key (F10 by default)"
至于 KDE 下应该怎么配 KDE 的终端窗口,请熟悉 KDE 的朋友补充一下,我很久没用 KDE 了,也没装。


七、综合练习;


上面列举的快捷键,练习2~3天应该就能熟练,为了大家快速理解和记忆,我们来做个小小的综合练习:


第一步:echo


$ echo "hello, world." [Enter]
我们先输入 echo "hello, world" 这个命令,然后回车,也就看到了终端的输出:


$ hello, world.
第二步:[Ctrl + r]


我们试试找出历史命令 echo "hello, world.",这时,我们按[e],[c],[h]这三个键,这个历史命令大概已经找到了,


终端的显示应该是这样:


(reverse-i-search)`ech': echo "hello,world."
现在,如果[Enter]就会再一次执行这个命令,但我们现在来练习一下命令行的编辑。


第三步:[Ctrl + a]


这样,我们就取出了历史命令 echo "hello, world.",并且将光标定位到行首,此时,光标应该在 echo 命令的 e 字符上高亮。


终端的显示应该是这样:


$ echo "hello,world"
第四步:[Alt + d]
删除了命令 echo, 并且光标仍然在行首,终端显示为:


$ "hello, world."
第五步:输入命令 "printf"
我们尝试一下用 Posix 的系统调用 printf 来替代 shell 命令 echo,输入[p][r][i][n][t][f],此时终端显示为:


$ printf "hello, world."
并且光标在 f 字符后面高亮。


第六步:[Ctrl + e]


光标跳转到命令行尾部。


第七步:[Ctrl + b]


光标后退一个字符,此时光标应处于后双引号 " 处高亮。


第八步:输入换行转义符 "\n"


输入[\][n] ,此时的终端显示应该为:


$ printf "hello, world.\n"
可以[Enter]执行了。

原创粉丝点击