前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 常用的bash和history快捷键方法

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

作者头像
用户5807183
发布2019-09-30 18:37:23
9400
发布2019-09-30 18:37:23
举报
文章被收录于专栏:Linux知识积累Linux知识积累

前言

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux知识积累 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档