linux 历史命令快捷键,系统基础之命令历史及快捷键使用

在我们系统操作时,我们的行为都会被系统记录下来,方便我们故障排查。那么命令历史这一机制便被我们使用,下文将介绍历史命令的相关操作。

操作环境:centos6.8 centos7.2

一.命令行历史

保存你输入的命令,可以用它来重复执行命令

登录shell时,会读取命令历史文件中记录下来的命令  ~/.bash_history

登录进shell后新执行的命令只会记录在内存缓存中;这些命令会在用户退出时追加至命令

历史文件中,这就要求我们一定要正确退出shell,否则不能正常保存历史命令

1.重复执行命令

重复执行上一条命令

重复前一个命令使用 上方向键 找到该条命令,并回车执行

按!!并回车执行

输入!-1并回车执行,查看history 查看命令历史编号

按ctrl-P并回车执行

!字符串:重复前一个以“字符串”开头的命令  例:!ser

!num:按照history命令输出中的序号重复对应命令执行

!?字符串:重复前一个包含ADC的命令

!-n:重复n个命令之前的那个命令

Ctrl-r在历史命令中搜索命令

重新调用前一个命令中的最后一个参数

!$:最后一个参数

esc+。

alt+。

调用历史参数

!n:^:调用第n条命令的第一个参数

!n:$:调用第n条命令的最后一个参数

!m:n:调用第m条命令的第n个参数

!n:*:调用第n条命令的全部参数

#cmd   !^ :利用上一个命令的第一个参数做cmd的参数

#cmd   !* :利用上一个命令的全部参数做cmd的参数

#cmd   !$ :利用上一个命令的最后一个参数做cmd的参数

#cmd   !:n :利用上一个命令的第n个参数做cmd的参数

!string:^ 从命令历史中搜索以string开头的命令,并获取他的第一个参数

!string:$ 从命令历史中搜索以string开头的命令,并获取他的最后一个参数

!string:n 从命令历史中搜索以string开头的命令,并获取他的第N个参数

!string:* 从命令历史中搜索以string开头的命令,并获取他的所有参数997  cat /etc/issue

998  history

[root@wen-7 ~]# stat !997:$     #方法一:

stat /etc/issue

文件:"/etc/issue"

大小:41        块:8          IO 块:4096   普通文件

设备:fd00h/64768dInode:38424098    硬链接:1

权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)

最近访问:2016-07-27 08:51:42.424658209 +0800

最近更改:2016-07-26 09:47:25.763319552 +0800

最近改动:2016-07-26 09:47:25.765319604 +0800

创建时间:-

[root@wen-7 ~]# which !^     #方法二

which /etc/issue

/usr/bin/which: no issue in (/etc)

[root@wen-7 ~]# stat !cat:$   #方法三

stat /etc/issue

文件:"/etc/issue"

大小:41        块:8          IO 块:4096   普通文件

设备:fd00h/64768dInode:38424098    硬链接:1

权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)

最近访问:2016-07-27 08:51:42.424658209 +0800

最近更改:2016-07-26 09:47:25.763319552 +0800

最近改动:2016-07-26 09:47:25.765319604 +0800

创建时间:-

2.history命令:

1.用法:

history: history [-c] [-d offset] [n]

history -anrw [filename]

history -ps arg [arg...]

2.Options:

#:显示最近的前#条记录

-c:清除历史列表,只清除缓存列表,不修改命令历史文件

-d:删除历史中指定的命令

-a:追加新执行的命令至命令历史文件

-n:读取历史文件中未读取过的历史到历史列表 (只追加没有的列表,重复的不添加)

-r:读取历史文件加载历史列表(重新附加,不管重复)

-w:保存历史列表至指定的历史文件(可以存放到别的文件)

-p:展开历史参数成多行,但不保存在历史列表中

-s:展开历史参数成一行,保存在历史列表中(伪造历史)

例:history -s rm -rf  /

3.相关环境变量:  man bash 可以查看相关环境变量

HISTSIZE:命令历史记录的条数 默认为1000,为0,表示不再记录命令历史

HISTFILE:指定历史文件,默认为~/.bahs_history ;

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT=“%F %T” 显示时间

HISTIGNORE="str1:str2:.." 忽略str1,str2历史 多条命令用冒号分隔  值为空表示取消定义

4.控制命令历史的记录方式:

环境变量:HISTCONTROL

ignoredups:忽略重复的命令;连续且相同方为“重复”

ignorespace:忽略所有以空白开头的命令

ignoreboth:ignoredups, ignorespace

erasedups:删除重复命令

HISTCONTROL=“   “ 临时取消变量,要想永久取消,修改配置文件

export 变量名=“值”

存放在/etc/profile(全局)或~/.bash_profile(用户个人)

修改配置文件后,必须重新登录当前shell 才能使环境变量生效,或 使用source命令

命令:source 更改的配置文件名

这个命令可以让系统不用重启而使新的配置生效。

二 bash快捷键:

ctrl+l:清屏;相当于clear命令

ctrl+c:取消命令的执行

ctrl+a:会移动到命令行的最前面

ctrl+e:会移动到命令行的最后面

ctrl+u:会删除到行首

ctrl+k:会删除到行尾

arrow ctrl+b ctrl+f 会向左或向右移动一个字符

esc+b :光标左移一个单词    按键松手

esc+f:光标右移一个单词      按键松手

ctrl+d:删除光标后一个字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值