linux 常用的bash和history快捷键方法

2019-09-30 18:37:23 浏览数 (2)

前言

    在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 从光标处开始向右更改为首字母大写的单词

0 人点赞