Linux历史命令管理以及用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux历史命令管理以及用法相关的知识,希望对你有一定的参考价值。

history命令管理及用法总结

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令,可以用它来重复执行命令
   ~]# history
     包括关机前的命令;
     定制history的功能,可通过环境变量实现:
       HISTSIZE:shell进程可保留的命令历史的条数;
       HISTFILE:持久保存命令历史的文件;
       HISTFILESIZE:命令历史文件的大小;
       HISTTIMEFORMAT=“%F %T “:显示时间
       HISTIGNORE=“str1:str2:… “:忽略str1命令,str2开头的历史
     控制命令历史记录的方式:
       环境变量:HISTCONTROL
         ignoredups:忽略重复的命令;
         ignorespace:忽略以空白字符开头的命令;
         ignoreboth:以上两者同时生效;
         erasedups:删除重复命令;
       修改变量的值:
         NAME=‘VALUE‘,如HISTCONTROL=ignorespace
     登录shell时,会读取命令历史文件中记录下的命令
       ~]# cat .bash_history
     登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
命令用法:
   history [-c] [-d 偏移量] [n]
   history -anrw [文件名]
   history -ps 参数 [参数...]
     -c: 清空命令历史
     -d offset: 删除历史中指定的第offset个命令
     n: 显示最近的n条历史
     -a: 追加本次会话新执行的命令历史列表至历史文件
     -n: 读历史文件中未读过的行到历史列表
     -r: 读历史文件附加到历史列表
     -w: 保存历史列表到指定的历史文件
     -p: 展开历史参数成多行,但不存在历史列表中
     -s: 展开历史参数成一行,附加在历史列表后
调用命令历史列表中的命令:
   使用↑(向上)和↓(向下)键来上下浏览从前输入的命令
   ↑:翻出上条命令
   !#:再一次执行历史列表中的第#条命令;
   !:0:执行前一条命令(去除参数);
   !-n:执行history历史中倒数第n个命令;
   !!:再一次执行上一条命令;
   !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
   !?STRING 重复前一个包含STRING的命令
   !STRING:p 仅打印命令历史,而不执行
   !:gs/string1/string2:将上一条命令中所有的string1都替换为 string2
   Ctrl + p:翻出前一条命令;
   Ctrl + n :显示当前历史中的下一条命令,但不执行;
   Ctrl + j :执行当前命令;
   Ctrl + r:来在命令历史中搜索命令
   Ctrl + g:从历史搜索模式退出
 调用上一条命令的最后一个参数:
   字符串:!$
   快捷键:先按ESC,再按 .
   Alt+ .(按住Alt键的同时点击 . 键)
    注:此种调用方式需在XShell中设置Meta键仿真,如下图所示
技术图片

   !$:p:打印输出 !$ (上一条命令的最后一个参数)的内容
   !:p:打印输出 !(上一条命令的所有参数)的内容

以上是关于Linux历史命令管理以及用法的主要内容,如果未能解决你的问题,请参考以下文章

如何查看Linux中各个用户的历史操作命令

linux命令历史

History(历史)命令用法15例

History(历史)命令用法15例

Linux下查看/管理当前登录用户及用户操作历史记录

Linux下查看/管理当前登录用户及用户操作历史记录