您的位置:首页 > 运维架构 > Linux

Linux之History的使用

2016-07-28 21:25 375 查看
History:1、 命令行历史:保存你输入的命令历史,可以用它来重复执行命令;当登陆shell时,系统会读取命令行历史文件中记录下来的命令,保存命令历史记录的文档存放于 ~/.bash_histoty;登陆进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时“追加”至命令历史文件中。(1)查看缓存中的命令行历史记录:

(2)查看命令行历史文件中的命令行历史记录:


2、 命令行历史记录的使用: 2-1、重复使用前一个命令: (1)使用上方向键 (2)按!! (3)按!-1 (4)按Ctrl+p 2-2、!字符串:重复前一个以“字符串”开头的命令 2-3、!num:按照history命令输出中的序号重复对应命令 2-4、!?字符串:重复前一个包含abc的命令 2-5、!-n:重复n个命令之前的那个命令 如果是忘记了前面执行过的命令,可以进行搜索:方法:按住Ctrl+r ,再输入相应的字符进行搜一搜,结果如下

3、 重复调用前一个命令的最后一个参数:(1)!$(2)Esc , (点击ESC键后松开,然后点击.键).(3)Alt+.(按住Alt键的同时点击.键)4、 调用历史参数:(1)利用上一个命令的第一个参数做cmd的参数:#cmd !^(2)利用上一个命令的最后一个参数做cmd的参数:#cmd !$(3)利用上一个命令的全部参数做cmd的参数:#cmd !*(4)利用上一个命令的第n个参数做cmd的参数:#cmd !:n(5)调用第n个命令的第一个参数:!n:^(6)调用第n个命令的第一个参数:!n:$(7)调用第n个命令的第一个参数:!m:n(8)调用第n个命令的第一个参数:!n:*(9)从命令史中搜索以string开头的命令,并获取它的第一个参数:!string:^(10)从命令史中搜索以string开头的命令,并获取它的最后一个参数:!string:$(11)从命令史中搜索以string开头的命令,并获取它的第n个参数:!string:n(12)从命令史中搜索以string开头的命令,并获取它的所有参数:!string:* 5、 History的选项使用:History -c 清空命令历史(完全清除命令历史记录:先删除/.bash_history,再清空历史) -d 删除历史中指定的命令# 显示最近的#条命令 -a 追加本次会话新执行的命令历史列表至历史文件中 -n 读取历史文件中未读过的行到历史列表(让另外一个虚拟终端同账号下使用的命令追加到历 史文件里面的命令更新到当下的终端) -r 读取历史文件附加到历史列表(将历史文件全部再次读取一次,会出现重复) -w 保存历史列表到指定的历史文件 -p 展开历史参数成多个行,但不存在历史列表中 -s 展开历史参数成一行,附加在历史列表后(相当于伪造命令)6、 命令历史相关环境变量:HISTSIZE:命令历史记录的条数HISTFILE:指定历史文件,默认为~/.bash_historyHISTFILESIZE:命令历史文件记录历史的条数HISTTIMEFORMAT:”%F %T ” 显示时间HISTINGNORE:”str1:str2:……”忽略string1,string2历史(如果想带str1或str2等所有执行的命令都不显示,则在其后添加*)修改配置文件,让其永久生效:/etc/profile(所有用户共用);/home/.bash_profile(个人用户配置)7、 控制命令历史的记录方式:环境变量:HISTCONTROLIgnoredups:忽略重复的命令;连续且相同为重复“”

Ignorespace:忽略所有以空白开头的命令Ignoreboth:Ignoredups、Ignorespaceerasedups:删除重复的命令export变量名=“值”存放在/etc/profile(修改配置文件,永久生效) 或~/.bash_history(个人用户配置)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  History 历史记录