iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >history命令如何在linux中使用
  • 161
分享到

history命令如何在linux中使用

2023-06-13 03:06:59 161人浏览 独家记忆
摘要

history命令如何在linux中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.使用 HISTTIMEFORMAT 显示时间戳当你从命令行执行 history 命令后

history命令如何在linux中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.使用 HISTTIMEFORMAT 显示时间戳
当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令历史的时间戳,那么可以执行: 

代码如下:


# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
4 2008-08-05 19:02:39 cat /etc/redhat-release

注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置HISTTIMEFORMAT 变量的时间。

2.使用 Ctrl+R 搜索历史
Ctrl+R 是我经常使用的一个快捷键。此快捷键让你对命令历史进行搜索,对于想要重复执行某个命令的时候非常有用。当找到命令后,通常再按回车键就可以执行该命令。如果想对找到的命令进行调整后再执行,则可以按一下左或右方向键。

代码如下:


# [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt]
(reverse-i-search)`red‘: cat /etc/redhat-release
[Note: Press enter when you see your command, which will execute the command from the history]
# cat /etc/redhat-release
Fedora release 9 (Sulphur)

3.快速重复执行上一条命令
有 4 种方法可以重复执行上一条命令:
使用上方向键,并回车执行。
按 !! 并回车执行。
输入 !-1 并回车执行。
按 Ctrl+P 并回车执行。

4.从命令历史中执行一个指定的命令
在下面的例子中,如果你想重复执行第 4 条命令,那么可以执行 !4: 

代码如下:


# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
cat /etc/redhat-release
Fedora release 9 (Sulphur)

5.通过指定关键字来执行以前的命令
在下面的例子,输入 !ps 并回车,将执行以 ps 打头的命令:
 

代码如下:


# !ps
ps aux | grep yp
root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind
root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

6.使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450 条: 

代码如下:


# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

7.使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录 bash shell,将使用 .commandline_warrior 来存储命令历史:
 

代码如下:


# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

8.使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。执行 history 后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 HISTCONTROL 设置为 ignoredups:

代码如下:


# pwd
# pwd
# pwd
# history | tail -4
44 pwd
45 pwd
46 pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above]
47 history | tail -4
# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56 export HISTCONTROL=ignoredups
57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above]
58 history | tail -4

9.使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成 erasedups:
 

代码如下:


# export HISTCONTROL=erasedups
# pwd
# service Httpd stop
# history | tail -3
38 pwd
39 service httpd stop
40 history | tail -3
# ls -ltr
# service httpd stop
# history | tail -6
35 export HISTCONTROL=erasedups
36 pwd
37 history | tail -3
38 ls -ltr
39 service httpd stop
[Note that the previous service httpd stop after pwd Got erased]
40 history | tail -6

10.使用 HISTCONTROL 强制 history 不记住特定的命令
将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格:
 

代码如下:


# export HISTCONTROL=ignorespace
# ls -ltr
# pwd
#  service httpd stop [Note that there is a space at the beginning of service, to ignore this command from history]
# history | tail -3
67  ls -ltr
68  pwd
69  history | tail -3

11.使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:
 

代码如下:


# history -c

12.命令替换

在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数:
 

代码如下:


# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg

补充:使用 !$ 可以达到同样的效果,而且更简单。
下例中,!^ 从上一条命令获得第一项参数: 

代码如下:


# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi -5 !^
vi anaconda-ks.cfg

13.为特定的命令替换指定的参数
在下面的例子,!cp:2 从命令历史中搜索以 cp 开头的命令,并获取它的第二项参数:
 

代码如下:


# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt

下例里,!cp:$ 获取 cp 命令的最后一项参数:
 

代码如下:


# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt

14.使用 HISTSIZE 禁用 history
如果你想禁用 history,可以将 HISTSIZE 设置为 0:
 

代码如下:


# export HISTSIZE=0
# history
# [Note that history did not display anything]

15.使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
 

代码如下:


# export HISTIGNORE=”pwd:ls:ls -ltr:”
# pwd
# ls
# ls -ltr
# service httpd stop
# history | tail -3
79 export HISTIGNORE=”pwd:ls:ls -ltr:”
80 service httpd stop
81 history
[Note that history did not record pwd, ls and ls -ltr]

看完上述内容,你们掌握history命令如何在linux中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网操作系统频道,感谢各位的阅读!

--结束END--

本文标题: history命令如何在linux中使用

本文链接: https://www.lsjlt.com/news/264849.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • history命令如何在linux中使用
    history命令如何在linux中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.使用 HISTTIMEFORMAT 显示时间戳当你从命令行执行 history 命令后...
    99+
    2023-06-13
  • Linux history命令如何使用
    这篇文章主要介绍“Linux history命令如何使用”,在日常操作中,相信很多人在Linux history命令如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux history命令如何使用...
    99+
    2023-06-28
  • history命令怎么在Linux中使用
    今天就跟大家聊聊有关history命令怎么在Linux中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linux中的history命令很常用,无论是对管理员,普通用户还是黑客。对...
    99+
    2023-06-13
  • 怎么在Linux中使用history命令
    这篇文章主要介绍怎么在Linux中使用history命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用强大的 history 命令使你的命令行提示符更有效率。随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找...
    99+
    2023-06-16
  • linux系统中如何使用history命令
    这篇文章主要介绍了linux系统中如何使用history命令,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。history 命令用来显示执行过的命令,也可以根据显示的命令重新执...
    99+
    2023-06-27
  • Linux history命令怎么使用
    这篇文章主要介绍“Linux history命令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux history命令怎么使用”文章能帮助大家解决问题。history命令用于显示指定数...
    99+
    2023-06-27
  • linux中怎么使用Bash history命令
    这篇文章主要为大家展示了“linux中怎么使用Bash history命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中怎么使用Bash history命令”这篇文章吧。Bash 的...
    99+
    2023-06-15
  • linux中怎么用History命令
    这篇文章将为大家详细讲解有关linux中怎么用History命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、命令历史记录中加时间默认情况下如下图所示,没有命令执行时间,不利于审计分析。通过设置exp...
    99+
    2023-06-15
  • Linux的history命令怎么使用
    这篇文章主要介绍了Linux的history命令怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux的history命令怎么使用文章都会有所收获,下面我们一起来看看吧。Linux常用命令histor...
    99+
    2023-06-28
  • linux如何在history命令中前面显示日期
    这篇文章将为大家详细讲解有关linux如何在history命令中前面显示日期,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux系统中想要在history前面显示日期,该怎么设置呢?我们可以在用户的....
    99+
    2023-06-10
  • Linux中history命令的具体使用方法
    这篇文章主要介绍“Linux中history命令的具体使用方法”,在日常操作中,相信很多人在Linux中history命令的具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中history...
    99+
    2023-06-13
  • 如何在linux中使用watch命令
    本篇文章为大家展示了如何在linux中使用watch命令,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,wat...
    99+
    2023-06-13
  • grep命令如何在linux中使用
    grep命令如何在linux中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、grep的语法[]  (man grep查看grep的帮助文档) &nb...
    99+
    2023-06-13
  • chkconfig命令如何在Linux中使用
    这期内容当中小编将会给大家带来有关chkconfig命令如何在Linux中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。chkconfigchkconfig在命令行操作时会经常用到。它可以方便地设置和...
    99+
    2023-06-13
  • 如何在Linux中使用route命令
    如何在Linux中使用route命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.命令格式:route [-f] [-p] [Comman...
    99+
    2023-06-13
  • 如何在Linux中使用dpkg命令
    如何在Linux中使用dpkg命令?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。dpkg命令是Debian Linux系统用来安装、创建和管理软件包的实用工具。语法dpkg(选...
    99+
    2023-06-13
  • shutdown命令如何在linux中使用
    这期内容当中小编将会给大家带来有关shutdown命令如何在linux中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用...
    99+
    2023-06-09
  • mkdir命令如何在Linux中使用
    mkdir命令如何在Linux中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,...
    99+
    2023-06-09
  • cut命令如何在linux中使用
    cut命令如何在linux中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。要用到,来mark一下:ubuntu@VM-0-15-ubuntu:~/taoge$ ...
    99+
    2023-06-09
  • tar命令如何在Linux中使用
    tar命令如何在Linux中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。tar 命令可以为linux的文件和目录创建档案。利用 tar,可以为某一特定文件创建档案(备...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作