linux 常用的bash和history快捷键方法
Posted xinbao777
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 常用的bash和history快捷键方法相关的知识,希望对你有一定的参考价值。
在Linux里 所有都是在命令行操作,但是我们单纯依靠上下左右键来操作光标的位置和删除,着实有些许麻烦,以及曾经输入过长长的参数,下个命令还需要在做一遍,让人很是头大。
今天总结一下自己常用的一些快捷的方式,来提升一下效率,有的不是我常用的,但是是我准备要练习的快捷键,这和武侠练武一样,学会一个快捷方式,并熟练运用的话,就会提高一些工作效率,但是习惯要慢慢养成。
一、history快捷方法
个人总结了这几个,其实还有很多,不过就不一一演示了(因为我自己不用,O(∩_∩)O哈哈~,不过以后的工作,可能还会用别的)。
重复上一个命令
一般在敲命令的时候有时候要反复输入一个命令,我之前的做法是 向上键,然后回车。其实有四种方法,我感觉按着比较快的方式也可以 ctrl + p 来实现。
重复之前曾经输入过的命令
比如重启服务,修改配置文件后,发现服务没起来,然后继续修改配置文件,这个时候输入!sys 就代表最近一条,以sys开头的文件。或者输入包含的字符串,如:!?restart 也可以代表。
!string 重复前一个以“string”开头的命令
[root@localhost data]# systemctl restart httpd
# 这个时候,你又华丽呼哨做了很多操作。
[root@localhost data]# !sys
# 搜索曾经输入过的一条 以sys 开头的命令
systemctl restart httpd
[root@localhost data]#
!?string 重复前一个包含string的命令
[root@localhost data]# !?restart
systemctl restart httpd
[root@localhost data]#
!string:p 加上:p仅打印命令历史,而不执行
[root@localhost data]# !l:p
ls
[root@localhost data]#
调用上一个命令输入的参数
我们在敲linux 命令时候,创建文件或做操作时,有时候会输入多个的参数或一个很长的参数或参数。反正就是不想在输入这个参数了。而下一条命令想要调用这个或这些参数时,使用下面的命令。
按esc键松开再按.键 是我个人常用的。
[root@localhost data]# echo a > 456.txt
[root@localhost data]# echo b > 789.txt
[root@localhost data]# ll 456.txt 789.txt
-rw-r--r-- 1 root root 2 Sep 26 15:31 456.txt
-rw-r--r-- 1 root root 2 Sep 26 15:32 789.txt
[root@localhost data]# cat !*
# !*代表 调用上一次输入的全部参数
cat 456.txt 789.txt
a
b
[root@localhost data]# cat !$
# !$代表 调用上一次输入的最后一个参数。其实还有另外的方式表示
#1,按esc键松开再按.键
#2,可以 alt+. 组合键 再xshell里有可能快捷键冲突)
cat 789.txt
b
[root@localhost data]#
调用上一个命令并且把其中一部分的内容替换成另外一部分
例如:我们停止了某个服务,现在又想启动,或者开启了某个服务,还要让它开机自启动,这个时候我们用到这个命令。
^string1^string2 将上一条命令中的第一个string1替换为string2
[root@localhost data]# !sys
systemctl restart httpd
[root@localhost data]# ^restart^enable
# 把上一个命令的restart 替换成enable。
systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost data]#
搜索历史命令,来调用
[root@localhost data]# echo hallohallo 使用ctrl + r 组合键 来调出搜索(reverse-i-search)`res‘: systemctl restart httpd Ctrl+g:从历史搜索模式退出 按回车,执行搜出的命令
二、bash 快捷方法
看我发现了什么!!在命令行配置网络设备的时候,通用。如:h3c 设备!!!
这个是在你敲命令的时候,使用的快捷键,有助于你快速的修改你的命令。让你事半功倍。! (这里我也是列出我常用的,然后说一下自己的解释。)
Ctrl + l 清屏,相当于clear命令
Ctrl + o 执行当前命令,并重新显示本命令
Ctrl + a 光标移到命令行首,相当于Home
当你输入了很长的命令,想回到行首的时候。
Ctrl + e 光标移到命令行尾,相当于End
当你修改完行首命令后,还要回到后面写参数的时候
Alt + b 光标向左移动一个单词首
当你想修改上一个参数的时候。 比如你输入了
systemctl restart httpd 你想把restart 修改成 stop 的时候,配合Alt + d 复用效果更佳
Alt + d 从光标处向右删除至单词尾
删除一个单词,你的光标位置需要在一个单词的词首
Alt + f 光标向右移动一个单词尾
Ctrl + w 从光标处向左删除至单词首
删除一个单词,你的光标位置需要在一个单词的词尾
Ctrl + xx 光标在命令行首和光标之间移动
Ctrl + u 从光标处删除至命令行首
Ctrl + k 从光标处删除至命令行尾
Alt + r 删除当前整行
Ctrl + y 将删除的字符粘贴至光标后
后悔的时候用,或者敲错了,删除换地方
Alt + t 交换光标处和之前的单词位置
systemctl httpd restart 当你输入这个命令的时候,发现输入错了,用习惯service 管理服务的话,一般习惯把服务名写中间。
这个时候,你用alt + t 有奇效,可以调换这两个单词的位置,光标需要在后面的位置
Alt + c 从光标处开始向右更改为首字母大写的单词
注意:
在xshell里,Alt组合快捷键和xshell快捷键冲突解决方法。
解决办法:在xshell的 连接属性-终端-键盘位置。
以上是关于linux 常用的bash和history快捷键方法的主要内容,如果未能解决你的问题,请参考以下文章
2017-7-18-每日博客-关于Linux下的history的常用命令.doc