前言
在Linux里 所有都是在命令行操作,但是我们单纯依靠上下左右键来操作光标的位置和删除,着实有些许麻烦,以及曾经输入过长长的参数,下个命令还需要在做一遍,让人很是头大。
今天总结一下自己常用的一些快捷的方式,来提升一下效率,有的不是我常用的,但是是我准备要练习的快捷键,这和武侠练武一样,学会一个快捷方式,并熟练运用的话,就会提高一些工作效率,但是习惯要慢慢养成。
一、history快捷方法
个人总结了这几个,其实还有很多,不过就不一一演示了(因为我自己不用,O(∩_∩)O哈哈~,不过以后的工作,可能还会用别的)。
1. 重复上一个命令
一般在敲命令的时候有时候要反复输入一个命令,我之前的做法是 向上键,然后回车。其实有四种方法,我感觉按着比较快的方式也可以 ctrl p 来实现。
2. 重复之前曾经输入过的命令
比如重启服务,修改配置文件后,发现服务没起来,然后继续修改配置文件,这个时候输入!sys 就代表最近一条,以sys开头的文件。或者输入包含的字符串,如:!?restart 也可以代表。
代码语言:javascript复制!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]#
3. 调用上一个命令输入的参数 我们在敲linux 命令时候,创建文件或做操作时,有时候会输入多个的参数或一个很长的参数或参数。反正就是不想在输入这个参数了。而下一条命令想要调用这个或这些参数时,使用下面的命令。 按esc键松开再按.键 是我个人常用的。
代码语言:javascript复制[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]#
4. 调用上一个命令并且把其中一部分的内容替换成另外一部分 例如:我们停止了某个服务,现在又想启动,或者开启了某个服务,还要让它开机自启动,这个时候我们用到这个命令。 ^string1^string2 将上一条命令中的第一个string1替换为string2
代码语言:javascript复制[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]#
5. 搜索历史命令,来调用
代码语言:javascript复制[root@localhost data]# echo hallo
hallo
使用ctrl r 组合键 来调出搜索
(reverse-i-search)`res': systemctl restart httpd
Ctrl g:从历史搜索模式退出
按回车,执行搜出的命令
二、bash 快捷方法
这个是在你敲命令的时候,使用的快捷键,有助于你快速的修改你的命令。让你事半功倍。!(这里我也是列出我常用的,然后说一下自己的解释。)
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 从光标处开始向右更改为首字母大写的单词