Linux下history命令的介绍
一、用处
对于Linux而言,命令是人机交互的重要方式,而查看命令历史可以帮助我们了解系统的使用状态、增强安全性也可以调用历史达到快捷操作的目的。
二、命令行历史
执行过的命令会被存入缓存,当正常退出shell时,缓存中的命令会被写入文件中并保存在用户下的隐藏文件文件.bash_history中。当用户登陆时内存会在文件中读取命令历史再次存入缓存。
三、命令历史的调用
重复执行上一条命令有四种方法:
重复前一个命令使用上方向键,并回车执行;
按 !! 并回车执行;
输入 !-1 并回车执行;
按 Ctrl+p 并回车执行。
几个实用操作:
!字符串:重复前一个以“字符串”开头的命令:
!num:按照history命令输出中的序号重复对应命令:
!?字符串:重复前一个包含该字符串的命令:
!-n :重复n个命令之前的那个命令:
在命令提示符中,使用↑(向上)和↓(向下)键来上下浏览从前输入的命令。
键入ctrl+r来在命令历史中搜索命令
四、历史参数的调用
#cmd !^ : 利用上一个命令的第一个参数做cmd的参数
#cmd !$ : 利用上一个命令的最后一个参数做cmd的参数
也可以使用:Esc, .(点击Esc键后松开,然后点击 . 键)或 Alt+ .(按住Alt键的同时点击 . 键) #cmd !* : 利用上一个命令的全部参数做cmd的参数
#cmd !:n : 利用上一个命令的第n个参数做cmd的参数
!n:^ 调用第n条命令的第一个参数
!n:$ 调用第n条命令的最后一个参数
!m:n 调用第m条命令的第n个参数
!n:* 调用第n条命令的所有参数
!string:^ 从命令历史中搜索以string 开头的命令,并获取它的第一个参数
!string:$ 从命令历史中搜索以 string 开头的命令,并获取它
的最后一个参数
!string:n 从命令历史中搜索以 string 开头的命令,并获取
它的第n个参数
!string:* 从命令历史中搜索以 string 开头的命令,并获取
它的所有参数
五、history命令
Linux下history是一个内部命令,主要用于显示缓存中历史指令记录内容, 或下达历史纪录中的指令。
一些常用命令:
-c:用于清空缓存中的命令历史
-d:删除历史中指定的命令;
#: 显示最近的#条历史;
-a: 把本次会话中新执行的命令历史列表从缓存追加至历史文件~/.bash_history中;
-n: 显示历史文件~/.bash_history中未读过的行到历史列表,例如多个终端登录同一个用户时,缓存中的命令不会同步,使-n选项可以同步个终端的命令到历史列表中。
-r: 把历史文件~/.bash_history中的命令附加到内存的历史列表中,每次打开shell都会默认执行类似操作;
-w: 保存历史列表到指定的历史文件;
-p: 展开历史参数成多个行,但不存在历史列表中;
-s: 展开历史参数成一行,附加在历史列表后(可以用来伪造命令)
六、命令历史的相关环境变量
HISTSIZE:定义内存中缓存命令条数的最大值;
HISTFILE:指定历史文件,默认为~/.bash_history;
HISTFILESIZE:命令历史文件记录历史的条数,用法与HISTSIZE相同;
HISTTIMEFORMAT=“%F %T“ 显示时间:
HISTIGNORE="str1:str2: "忽略带有string1,string…”字符的历史命令。
HISTCONTROL: 控制命令历史的记录方式
ignoredups:忽略命令历史中已有的命令,且只记录第一条命令的时间;
ignorespace:忽略所有以空白行开头的命令
ignoreboth:相当于ignoredups,ignorespace组合效果
erasedups:删除已有的重复命令
原创文章,作者:zhanghuanyu,如若转载,请注明出处:http://www.178linux.com/26143
评论列表(1条)
写的很好,但是字体能统一一下会更好!!!