系统基础之命令历史及快捷键使用
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开头的命令,并获取他的所有参数
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系统” 博客,谢绝转载!
保存你输入的命令,可以用它来重复执行命令登录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系统” 博客,谢绝转载!
相关文章推荐
- 数据库测试
- Android:学习AIDL,这一篇文章就够了(下)
- Spring框架使用ByName自动注入同名问题剖析
- POJ:2507 Crossed ladders(二分+几何数学)
- 消息队列
- Android之ViewPagerindicator
- Emmet插件神奇用法
- javascript简单实现等比例缩小图片的方法
- win10 uwp 入门
- STL之Map:Map的基本用法
- 使用logging模块发送邮件
- hdoj-4135-Co-prime
- VC++中subclassdlgitem函数的功能及用法
- Nginx负载均衡的4种方案配置实例
- 实习见闻(5)——mysql解压版的安装与环境变量搭建
- 给The Lab Renderer for Unity中地形添加阴影
- iOS滑动视图通过偏移量判断显示第几个item
- linux启动时间测试
- NYOJ A+B IV 小数相加(大数问题)
- 6174问题