社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 330阅读
  • 1回复

[分享]Linux命令如何设置成键盘快捷键

楼层直达
z3960 
级别: FLY版主
发帖
787164
飞翔币
211615
威望
215717
飞扬币
2620771
信誉值
8


 我们都知道,Linux系统操作大部分都需要使用命令完成,但命令多了操作起来较为繁琐,如果将常用命令设置成键盘快捷方式则简单很多,下面小编就给大家介绍下将Linux命令设置成键盘快捷键的方法,感兴趣的朋友一起来看看吧。

  可以把任何命令或命令的组合指定给键盘上的某个键,可以是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)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首
 
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
z3960 
级别: FLY版主
发帖
787164
飞翔币
211615
威望
215717
飞扬币
2620771
信誉值
8

只看该作者 1 发表于: 2017-04-14
Linux删除替换变量值方法

  在Linux系统中,对变量进行赋值后需要发现有些问题,需要对变量值进行删除或替换,本文将针对Linux变量值的替换和删除做个详细介绍,希望对你有所帮助。一起去看看吧!

  1、变量内容的删除
  [root@bogon ~]# echo ${PATH} #呼叫出PATH变量的值
  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
  [root@bogon ~]# echo ${PATH#/*bin:} #看见那个“#”符号,表示从变量“PATH”值的左边开始向右边删除能匹配到“*bin:”的位置,仅删除能匹配到最短的那个,所以输出内容如下,“/usr/local/sbin:”被删除了
  /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
  [root@bogon ~]# echo ${PATH#*local/bin:}
  /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
  [root@bogon ~]# echo ${PATH##/*bin:} #两个“#”表示删除能匹配到最长的那个,所以“/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:”全部被删除
  /root/bin
  [root@bogon ~]# echo ${PATH%:/*bin} #把上边的“#”号换成“%”看看,表示从变量“PATH”值的右边开始向左边删除能匹配到“*bin”的位置,仅删除能匹配到最短的那个,所以“:/root/bin”被删除
  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin
  [root@bogon ~]# echo ${PATH%%:/*bin} #两个“%”与两个“#”类似的道理
  /usr/local/sbin
  2、变量内容的替换
  [root@bogon ~]# echo ${PATH/sbin/SBIN/} #用“SBIN”替换“sbin”,但只替换第一次匹配到的
  /usr/local/SBIN/:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
  [root@bogon ~]# echo ${PATH//sbin/SBIN/} #用“SBIN”替换“sbin”,全局替换
  /usr/local/SBIN/:/usr/local/bin:/SBIN/:/bin:/usr/SBIN/:/usr/bin:/usr/local/mysql/bin:/root/bin
  变量内容删除与替换小结:
  变量书写方式功能描述
  ${变量名称#匹配字符}若变量内容有被匹配到,刚从变量内容的左边开删除,但删除匹配最短的
  ${变量名称##匹配字符}若变量内容有被匹配到,刚从变量内容的左边开删除,但删除匹配最长的,可理解成此时工作在贪婪模式
  ${变量名称%匹配字符}若变量内容有被匹配到,刚从变量内容的右边开删除,但删除匹配最短的
  ${变量名称%%匹配字符}若变量内容有被匹配到,刚从变量内容的右边开删除,但删除匹配最长的,可理解成此时工作在贪婪模式
  ${变量称/旧字符串/新字符串}从变量内容的左边开始匹配,用新字符串替换旧字符串,仅替换第一个匹配到的字符串
  ${变量称//旧字符串/新字符串}从变量内容的左边开始匹配,用新字符串替换旧字符串,全部替换匹配到的字符串
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。