您的位置:首页 > 其它

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

2016-07-27 08:56 204 查看
在我们系统操作时,我们的行为都会被系统记录下来,方便我们故障排查。那么命令历史这一机制便被我们使用,下文将介绍历史命令的相关操作。操作环境: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/64768d	Inode: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/64768d	Inode: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]
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.控制命令历史的记录方式:环境变量:HISTCONTROLignoredups:忽略重复的命令;连续且相同方为“重复”ignorespace:忽略所有以空白开头的命令ignoreboth:ignoredups, ignorespaceerasedups:删除重复命令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:删除光标后一个字符

本文出自 “linux系统” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: