重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用TAB进行命令补足,或者使用aliase来简化某个命令的输入,但这并不能从根本上解决敲击键盘次数过多的问题。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的兴平网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
可以把任何命令或命令的组合指定给键盘上的某个键,可以是Alt+[A-Z],
Ctrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],还有更不可思议的是甚至还可以为功能键加上“参数”,这样你按下那个键的时候,它会等待你输入相应的参数,并根据不同的参数运行不同的命令。
当然,有一些热键会被终端所捕获,如常见的Ctrl-D/C/Q/Z等,不过没关系,可用的热键还多着呢!
定义热键的配置文件为:/etc/inputrc 或 ~/.inputrc,定义热键的格式如下:
"热键对应的ASCII字符":"执行的命令"
其中热键对应的ASCII字符可以通过 "先按Ctrl-V, 然后按热键" 的方式来输入, 如Ctrl-G对应的字符为^G, Alt-P对应的字符为^[p, Ctrl-Alt-H对应的字符为^[^H.
可以用/C来代替Ctrl,/M来代替Alt, /M-/C来代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外还可以用/e代表^[.
先来看一些基本的热键定义,(这里热键里的字母不区分大小写):
"^[-":"su -/C-M" # 按Alt+- 执行su - 命令,末尾/C-M表示输入完定义的命令后回车,也可以更简洁地用一个/n来表示.
"/M-/C-G":"gaim /dev/null disown/C-M"
# 按Ctrl-Alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭
其他一些组合键可以根据自己的需要配置,偶就不多说了.
大家也许会觉得这样定义热键太乱了,而且很难记住,还有一定的限制。这个问题在后面会得到解决。
一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找
通过定义热键可以做到这点:
"/eh":"^[OD" # move left
# Alt-H 向左移一个字符, 相当于Left Arrowgh, 这里^[OD即向上方向键的ASCII字符,输入方式与前面提到的类似
"/el":"^[OC" # move right
# Alt-L 向右移一个字符,相当于Right Arrow
"/ej":"^[OB" # move up
# Alt-J 向下移动,相当于Up Arrow
"/ek":"^[OA" # move down
# Alt-K 向上移动,相当于Down Arrow
"/ei":"^?" # left earse one character
# Alt-I 向左删除一个字符,相当于Backspace
"/eo":delete-char # right earse one character
# Alt-O 向右删除一个字符,相当于Delete
"/en":backward-kill-word # left kill one word
# Alt-N 向左删除一个单词
"/em":kill-word # right kill one word
# Alt-M 向右删除一个单词
"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head
# Alt-A 删除当前位置到开头,也就是多Alt-N几次(A-- ahead)
"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head
# Alt-E 删除当前位置到末尾,也就是多Alt-M几次(E-- end)
"/ep": insert-last-argumem"
# Alt-P 插入上一个命令最后一个参数 (P-- Paste)
"/ew": forward-word
# 系统默认Alt-F (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾
"/eq": backward-word
# 系统默认Alt-B (backward)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首
发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用
这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中在一块,比以前方便多了。不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。
Linux下绝大部分服务的配置是基于配置文件的,一般说来,更改了某个服务的配置文件,要使其立即生效,还需重启该服务直接的或依附的守护进程才行。难道你就不觉得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”这样做很繁琐么?如果要配置的服务较多而且要不停地调试呢?况且我们平常使用Linux时难免会不时地终止或启动某个服务进程,输入命令的次数也不少。如果为每个服务都指定一个热键的话,似乎不大可能。如果我们赋予一个热键为一个基本键,而相应的服务为其“参数”,那又如何呢?
举个例子,赋予Alt-S (S--Start)为启动服务的基本键,服务名的前2个字符为启动“参数”,那么就可以像下面那样随意启动某个服务了:
"/essm":"service smb start/n"
# /es=Alt-s, sm=smb,
# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入“参数”间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。
"/esht":"service httpd start/n" # ht=httpd,启动Apache服务
类似地,我们赋予
Alt-D(D-- shutDown) 为停止服务的基本键
Alt-R(R-- Restart) 为重启服务的基本键
Alt-T(T-- Status) 为查看服务状态的基本键
Alt-C(C-- Configure) 为打开服务对应的主配置文件的基本键
如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打开NFS的配置文件
"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打开smb的配置文件
如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:
"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打开sshd服务端配置文件
"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打开sshd客户端配置文件
如果要执行某个应用程序呢?可以用Alt-x做基本键(x-- eXeccute) 如:
"/exga":"gaim /dev/null disown clean /n"
"/exxm":"xmms /dev/null disown clean /n"
"/exvm":"vmware /dev/null disown clean /n" "/exna":"nautilus /dev/null disown clean /n"
等等....
到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:
1. 执行指定的应用程序
2. 启动|重启|关闭|指定的服务进程
3. 查看指定服务的状态
4. 打开指定服务的指定配置文件
光标移动
Ctrl + a切换到命令行开始
Ctrl + e切换到命令行末尾
剪切粘贴
Ctrl + u清除(剪切)光标之前的内容
Ctrl + k清除(剪切)光标之后的内容
ctrl + y粘贴
esc + f把光标移动到单词的结尾
esc + b把光标移动到单词的开头
ctrl + b光标向左移动一个符号的位置
ctrl + f光标向右移动一个符号的位置
命令查询
Ctrl + r查找(历史命令)。 history|grep
ctrl + pprevious ↑上一个命令
ctrl + nnext ↓下一个命令
其他类型
Ctrl + c终止当前命令或脚本
Ctrl + d退出当前shell,相当于exit logout,一个个删除光标后字符。
Ctrl + l清除屏幕内容,相当于clear。
tab所有命令及路径补全功能,一般要多按几下
esc + .引用/使用上一个命令的最后一个参数(结尾)
#SecureCRT快捷键
Ctrl+shift+c命令行复制内容
Ctrl+shift+v命令行粘贴内容
#Xshell快捷键
Shift+insert粘贴
Ctrl+insert复制
1、tab:命令或路径等的补全键,也是Linux用的最多的一个快捷键;
2、ctrl+a:光标迅速回到行首;
3、ctrl+e:光标迅速回到行尾;
4、ctrl+f:光标向右移动一个字符;
5、ctrl+b:光标向左移动一个字符;
6、ctrl+insert:复制命令行内容(mac系统不能使用);
7、shift+insert //粘贴命令行内容(mac系统不能使用);
8、ctrl+k //剪切(删除)光标处到行尾的所有字符;
9、ctrl+u //剪切(删除)光标处到行首的所有字符;
10、ctrl+w //剪切(删除)光标前的一个字符;
11、ctrl+y //粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符;
12、ctrl+c //中断终端正在执行的任务并开启一个新的一行;
13、ctrl+h //删除光标前的一个字符(相当于退格键);
14、ctrl+d //退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户;
15、ctrl+r //搜索命令行使用过的历史命令记录;
16、ctrl+g //从ctrl+r的搜索历史命令模式中退出;
17、ctrl+l //清楚屏幕所有的内容,并开启一个新的一行;
18、ctrl+s //锁定终端,使之任何人无法输入;
19、ctrl+q //解锁ctrl+s的锁定状态;
20、ctrl+z //暂停在终端运行的任务,使用"fg"命令可以使暂停恢复;
21、!! //执行上一条命令;
22、!pw //这是一个例子,是执行以pw开头的命令,这里的pw可以换成任何已经执行过的字符;
23、!pw:p //这是一个例子,是仅打印以pw开头的命令,但不执行,最后的那个“p”是命令固定字符;
24、!num //执行历史命令列表的第num条命令,num代指任何数字(前提是历史命令里必须存在);
25、!$ //代指上一条命令的最后一个参数,该命令常用于shell脚本中
26、esc+. //注意那个".“ 意思是获取上一条命令的(以空格为分隔符)最后的部分;
27、esc+b //移动到当前单词的开头;
28、esc+f //移动到当前单词的结尾;
Linux终端命令快捷键汇总
相信很多Linux桌面用户都对使用Linux终端感到反感,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行。特为大家汇总了提升终端命令执行效率的快捷操作,希望能帮助你学习和提升效率。
移动定位光标
在终端中移动光标和定位似乎非常不便,其实不是你想的那样,有很多种方式可以让键盘成为你的好朋友,只是需要掌握正确的方法而已。
定位单词
在长段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速将光标定位到命令中单词的首字母或末尾,实现在各单词之间的快速跳动定位。
你可以试着在终端中输入 apt-get install build-essential 命令后,按 Ctrl+ 左键或 Ctrl + 右键来试试效果。
定位行首和行尾
定位到命令行首可以使用 Ctrl + A,行尾则使用 Ctrl + E 快捷键。
清除部分、全部或整行
使用 Ctrl + K 快捷键可以将当前光标位置之后的所有部分快速清除,Ctrl + W 可以清除当前光标位置之前的一个单词,而 Ctrl + U 则可以直接刚整行命令直接清除。
自动补全命令或路径
tab 键可以直接补全命令和路径,让我们免去很多输入错误的可能。当然,在命令记不全时,只需输入几个首字母即可用 tab 键来补,还是十分方便的'。
例如:要在 Ubuntu 安装软件,只需输入 apt-get ins 按 tab 之后即可被补全成 apt-get install。
切换最近使用的命令
在Linux 的终端历史记录中会记下用户执行过的命令,用户只需按键盘的 ↓、↑ 上下箭头即可快速切换执行过的命令。
复制前行
!! 双惊叹号直接表示上一行命令,例如要用 sudo 重复执行上一条命令,无需再输一遍,只需执行如下命令即可:
1. sudo !!
执行指定历史命令
若你想重复执行的命令不是「上一条」,则不能再使用 !! 了。此时使用 ! 跟上要重复执行的前述命令开头即可。
复制前一个参数
将文件夹复制并粘贴到新路径后,你可能还要在目录中进行其它操作,此时可以这样切换:
1. cd !$
其中的 !$ 表示上次使用的参数,通常只用于目录。
目录导航
在Linux 终端中进行目录导航和切换还是使用 cd 命令,下面介绍一些 cd命令的常见操作。
导航到特殊文件夹
在Linux 中操作文件夹时输入路径就是一个苦差事,但若你是通过桌面登录系统的话,可以直接将要指定的文件夹拖入终端窗口,而不必手动输入路径。
回到上级目录
与Windows 一样,使用 cd.. 即可。如果要在父目录的各文件夹之间进行切换,使用 ../文件夹名即可。
回到上个目录
如果你操作到一半时,需要返回上个进入过的目录,可以使用 – 破折号:
1. cd -
其它目录导航操作
cd 返回家目录
pwd 查看当前目录
cd / 回到根目录(需要有权限)
多任务
执行多条命令
要在 Linux 终端中同时执行多个任务,只需用 符号将多条命令串连起来即可,例如:
1. apt-get update apt-get upgrade
命令失败备用
只会在前面一条命令执行成功时才会继续执行后续命令,如果你想在首条命令执行失败时提供备用命令,只需将 替换为 || 即可。
后台执行任务
在任意 Linux 命令最后加上 符号即可将此任务丢到后台去执行,比较适合运行时间较长的任务。对于后台执行的任务可以使用jobs 命令进行显示查看,也可以用 kill 将其干掉或用fg 命令将其挪到前台.
;
首先,linux提示命令的快截键是 TAB键,在键盘的左侧,一般在capslock键的上面。比如你输入his,然后按一下tab键,就会出现his开头的命令,如下图所示。使用TAB键,一般来说,在访问文件夹的时候非常好用,它会自动补全路径名。
其次,在Linux的命令行上有很多种方法提高输入效率。比如
有 4 种方法可以重复执行上一条命令:
1、使用上方向键,并回车执行。
2、按 !! 并回车执行。
3、输入 !-1 并回车执行。
4、按 Ctrl+P 并回车执行。
Ctrl+R 快捷键让你对命令历史进行搜索,对于想要重复执行某个命令的时候非常有用。当找到命令后,通常再按回车键就可以执行该命令。如果想对找到的命令进行调整后再执行,则可以按一下左或右方向键。
再次,如果之前输入过相应的命令,可以通过history这个命令来查找到,并再次重复执行。示例如下:
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
CentOS 6.4 中可以通过系统-首选项-键盘快捷键来设置快捷键,如图所示。例如可将运行终端的快捷键设为Ctrl+Alt+T。
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e 光标移动到行尾(end of line)
Ctrl + f 光标向前(forward)移动一个字符位置
Ctrl + b 光标往回(backward)移动一个字符位置
Ctrl + l 清屏,相当于执行clear命令
Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w 删除从光标位置前到当前所处单词(word)的开头
Ctrl + t 交换光标位置前的两个字符
Ctrl + y 粘贴最后一次被删除的单词
Ctrl + Alt + d 显示桌面
Alt + b 光标往回(backward)移动到前一个单词
Alt + d 删除从光标位置到当前所处单词的末尾
Alt + F2 运行
Alt + F4 关闭当前窗口
Alt + F9 最小化当前窗口
Alt + F10 最大化当前窗口
Alt + Tab 切换窗口
Alt +按住左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮) 更多介绍可查阅《Linux就该这么学》。