LINUX命令历史

LINUX命令历史

LINUX的命令历史是什么?

linux的命令历史的作用是,记录执行过的命令。如果你经常使用 Linux 命令行,那么使用 命令历史可以有效地提升你的效率。
history(管理历史命令)
语法:[root@localhost]#history(选项)(参数)
选项:
n:n为数字,要列出最近的 n 笔命令列表
-c(清空所有历史命令)
-d (删除历史命令中指定的第offset条命令)
-a(追加本次会话中的新执行的命令历史列表到历史文件)
-n(读取历史文件中未读过的行到命令历史列表)
-r(读取历史文件到历史列表)
-w(保存历史列表到指定的历史文件)
-p(展开历史参数成多行,但不存在历史列表中)
-s(展开历史参数成一行,附加在历史列表后)

运行特定的历史命令

history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:[root@localhost]# [!number] [!command] [!!]
参数说明:
number :第几个指令的意思;
command :指令的开头几个字母
! :上一个指令的意思!
用法介绍:
重复前一个命令(4种方法):

重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+p 并回车执行
!:0 执行前一条命令(去除参数)

Ctrl + n 显示当前历史中的下一条命令,但不执行
Ctrl + j 执行当前命令
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印命令历史,而不执行
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为string2
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl-r来在命令历史中搜索命令(reverse-i-search):
Ctrl+g:从历史搜索模式退出

调用历史参数

要重新调用前一个命令中最后一个参数:
!$ 表示前一个命令最后一个参数。

Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
command !^ : 利用上一个命令的第一个参数做cmd的参数
command !$ : 利用上一个命令的最后一个参数做cmd的参数
command !* : 利用上一个命令的全部参数做cmd的参数
command !:n : 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数

环境设定

命令历史相关环境变量:

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT=“%F %T “ 显示时间

HISTIGNORE=“str1:str2:… “ 忽略string1,string2历史

控制命令历史的记录方式:

环境变量:HISTCONTROL

ignoredups 默认,忽略重复的命令,连续且相同为“重复”

ignorespace 忽略所有以空白开头的命令

ignoreboth 相当于ignoredups, ignorespace的组合

erasedups 删除重复命令

export 变量名=”值“

history命令相关的配置文件存放在 /etc/profile 或 ~/.bash_profile,更改之后永久有效

原创文章,作者:geekdeedy,如若转载,请注明出处:http://www.178linux.com/77049

(6)
geekdeedygeekdeedy
上一篇 2017-09-14 13:42
下一篇 2017-09-14 15:34

相关推荐

  • httpd

      httpd http服务器程序:   httpd (apache) nginx lighttpd httpd的特性:   高度模块化: core + modules DSO:dynamic shared object(模块的动态加载) MPM:Multipath processing Modules (多路处理模块) &nb…

    Linux干货 2017-06-04
  • web 服务进阶 httpd配置成https

    web服务进阶 自建CA/https详解 一、SSL与https 1、引言 我们网上购物、网上订票,以及使用支付宝支付过程中都会在网上直接输入账号和密码。这些信息都是非常重要的,如何才能在输入的过程中,不被别人看见和窃取,就需要对你输入的信息进行加密处理。 早期的两主机通信之间是没有加解密程序,后来就在传输层与应用层之间加了一个SSL库,完成加密解密功能。 …

    Linux干货 2016-12-11
  • vfork 挂掉的一个问题

    在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不会?并给出了如下的代码,下面的代码一运行就挂掉了,但如果把子进程的return改成exit(0)就没事。 我受邀后本来不想回答这个问题的,因为这个问题明显就是RTFM的事,后来,发现这个问题放在那里好长时间,而挂在下面的几个答案又跑偏得比较严重,…

    Linux干货 2016-08-15
  • 学习标准I/O和管道的心得体会

    重定向、标准输出、标准输入、标准错误、管道的命令整理

    2017-11-20
  • 文件的查找作业

    1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的、所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文件 6、查找/…

    Linux干货 2016-08-15
  • Sed简介

    Sed简介    一、简介   sed全称是:Stream EDitor。sed命令的功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。  sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern s…

    Linux干货 2015-05-11