导读:在 Linux 系统上,bash shell 的 history 命令可以方便地回顾和重用命令,但是你要控制它记住多少,忘记多少,有很多事情要做。本文字数:3159,阅读时长大约:4分钟https://linux.cn/article-12596-1.html作者:Sandra Henry-stocker译者:Xingyu.Wang

Linux 系统中的 bash history 命令有助于记住你以前运行过的命令,并重复这些命令,而不必重新输入。

如果可以的话,你肯定会很高兴不用翻阅十几页的手册,每过一会再次列出你的文件,而是通过输入 history 查看以前运行的命令。在这篇文章中,我们将探讨如何让 history 命令记住你希望它记住的内容,并忘记那些可能没有什么“历史价值”的命令。

查看你的命令历史

要查看以前运行过的命令,你只需输入 history。你可能会看到一长串命令。记忆的命令数量取决于在 ~/.bashrc 文件中设置的名为 $HISTSIZE 的环境变量,但是如果你想保存更多或更少的命令,你可以根据你的需要改变这个设置。

要查看历史记录,请使用 history 命令:

$ history209 uname -v210 date211 man chage...

要查看将显示的最大命令数量:

$ echo $HISTSIZE500

你可以通过运行这样的命令来改变 $HISTSIZE 并使之永久化:

$ export HISTSIZE=1000$ echo "HISTSIZE=1000" >> ~/.bashrc

在为你保留多少历史记录和当你输入 history 时显示多少历史记录之间也有区别。$HISTSIZE 变量控制显示多少历史记录,而 $HISTFILESIZE 变量控制在你的 .bash_history 文件中保留多少命令。

$ echo $HISTSIZE1000$ echo $HISTFILESIZE2000

你可以通过计算历史文件中的行数来验证第二个变量:

$ wc -l .bash_history2000 .bash_history

需要注意的是,在登录会话中输入的命令在注销前不会被添加到你的 .bash_history 文件中,尽管它们会立即显示在 history 命令输出中。

使用历史

有三种方法可以重发你在 history 中发现的命令。最简单的方法,特别是当你想重用的命令是最近运行的时候,通常是输入一个 ! 后面跟上命令中足够多的首字母来唯一地识别它。

$ !uuname -v#37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020

另一种简单的重复命令的方法是,只需按上箭头键,直到显示了该命令,然后按回车键。

另外,如果你运行 history 命令,并看到你想重新运行的命令被列出,你可以输入一个 ! 后面跟着命令左边显示的序号。

$ !209uname -v#37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020

隐藏历史

如果你想在一段时间内停止记录命令,你可以使用这个命令:

$ set +o history

当你输入 history 时,你输入的命令不会显示出来,当你退出会话或退出终端时,它们也不会被添加到你的 .bash_history 文件中。

要取消这个设置,使用 set -o history

要使它永久化,你可以把它添加到你的 .bashrc 文件中,尽管不使用命令历史记录通常不是一个好主意。

$ echo 'set +o history' >> ~/.bashrc

要暂时清除历史记录,这样在输入 history 时只显示之后输入的命令,可以使用 history -c(清除)命令:

$ history | tail -3209 uname -v210 date211 man chage$ history -c$ history1 history

注意:在输入 history -c 后输入的命令不会被添加到 .bash_history 文件中。

控制历史

许多系统上的 history 命令的设置会默认包括一个名为 $HISTCONTROL 的变量,以确保即使你连续运行同一命令七次,也只会被记住一次。它还可以确保你在首先输入一个或多个空格后跟着的命令将从你的命令历史记录中忽略。

$ grep HISTCONTROL .bashrcHISTCONTROL=ignoreboth

ignoreboth 的意思是“忽略重复的命令和以空格开头的命令”。例如,如果你输入这些命令:

$ echo try this$ date$ date$ date$ pwd$ history

你的 history 命令应该像这样报告:

$ history$ echo try this$ date$ history

请注意,连续的 date 命令被缩减为一条,以空格缩进的命令被省略。

忽略历史

要忽略某些命令,使它们在你输入 history 时不会出现,也不会被添加到你的 .bash_history 文件中,可以使用 $HISTIGNORE 设置。例如:

$ export HISTIGNORE=”history:cd:exit:ls:pwd:man”

这个设置将导致所有的 history、cdexitlspwd 和 man 命令从你的 history 命令的输出和 .bash_history 文件中被忽略。

如果你想把这个设置变成永久性的,你必须把它添加到你的 .bashrc 文件中。

$ echo 'HISTIGNORE="history:cd:exit:ls:pwd:man"' >> .bashrc

这个设置只是意味着当你回看以前运行的命令时,列表不会被你在查看命令历史记录时不想看到的命令所干扰。

记住、忽略和忘记过去的命令

命令历史记录很有用,因为它可以帮助你记住最近使用过的命令,并提醒你最近所做的更改。它还可以让你更容易地重新运行命令,特别是那些有一串参数但你不一定想重新创建的命令。定制你的历史设置可以让你对命令历史的使用变得更容易,更有效率。


via: https://www.networkworld.com/article/3537214/tweaking-history-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

cd如何省略空格 linux_在 Linux 上调整命令历史 | Linux 中国相关推荐

  1. 知乎 中国用linux,在 Linux 上调整命令历史 | Linux 中国

    在 Linux 系统上,bash shell 的 history 命令可以方便地回顾和重用命令,但是你要控制它记住多少,忘记多少,有很多事情要做. 作者:Sandra Henry-stocker 译者 ...

  2. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?

    How to set Google Chrome's proxy settings in command line on Linux? I am using Google Chrome on Linu ...

  3. linux查看图像大小_如何在Linux上调整一批图像的大小?

    linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...

  4. linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9

    linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9 参考:http://blog.sina.com.cn/s/blog_5688414b0100bhr ...

  5. 非命令行linux安装zip,如何在Ubuntu 18.04 Bionic Beaver Linux上使用命令行从ZIP文件安装Gnome Shell Extensions...

    目的 目的是在Ubuntu 18.04 Bionic Beaver Linux上使用命令行从ZIP文件安装Gnome Shell Extensions.使用命令行从ZIP文件安装Gnome Shell ...

  6. linux命令行恢复回收站,Trash-Cli:Linux 上的命令行回收站工具

    原标题:Trash-Cli:Linux 上的命令行回收站工具 编译自: https://www.2daygeek.com/trash-cli-command-line-trashcan-linux-s ...

  7. linux shell 网页,Linux上shell命令

    Linux上shell命令 Linux上shell命令 日期:2014-05-16 浏览次数:20328 次 Linux下shell命令 Linux下shell命令 adduser 创建新的用户账户 ...

  8. linux上常用命令及通用软件安装

    linux上常用命令及通用软件安装记录. 1, 查询检索 1.1 根据安装包的名字检索安装 rpm 命令: rmp 全称:redhat package manager 参数说明: -a 查询所有套件 ...

  9. linux 限制带宽命令,Linux服务器限制网络带宽流量速率(限制应用程序和指定网卡的流量)

    linux 限制带宽命令,Linux服务器限制网络带宽流量速率 一.限制应用程序的网络流量速率 1.trickle介绍 2.如何判断trickle对应用程序是否有效? 3.Linux安装Trickle ...

最新文章

  1. python爬虫执行js代码_爬虫之python3用execjs执行JS代码
  2. java客户服务器程序预约口罩_团队作业(二):Github实训:口罩预约
  3. 使用idea2.5建立maven项目
  4. 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | Hook 点分析 )
  5. 课时85.层叠性(掌握)
  6. 边缘计算比云计算强在哪里?终于有人讲明白了
  7. 吉投资管系统搭建仅用于盘手培训
  8. 《专业主义》阅读摘要——作者:大前研一
  9. MAC用虚拟机启动移动固态硬盘的系统
  10. win10专业版进不了安全模式 win10专业版安全模式怎么进
  11. 电子元件知识汇总3-厂商
  12. PTB中的Screen函数
  13. 那些诡异的黑客事件 一
  14. 也许你在到处找PS,不妨来这里看看
  15. ANSYS经典界面保存单元解和节点解
  16. Nexus安装和使用
  17. 想进BAT?这些测试面试题助你一臂之力(附答案)
  18. Err: HLS C Simulation Run 按钮变为灰色
  19. 百格活动:Unity for all —— 万物互联
  20. matlab xy轴名称,matlab画图怎么显示XY轴名称

热门文章

  1. python如何连接sql server数据库_Python连接SQLServer数据库
  2. HALCON 20.11:深度学习笔记(6)---有监督训练
  3. 计算机考试c语言真题及答案,计算机二级c语言考试试题及答案
  4. CPython 解释器 与 VC 编译器版本对应关系
  5. Postgresql的character varying = bytea问题
  6. Java中解决(extjs或jquery)session过期退出登录问题
  7. Ubuntu下实现双屏独立切换
  8. 隐藏控制台程序的窗口
  9. [高级软件调试方法] SoftProbe调试方法及实现
  10. 小男孩与苹果树(翻译)(06年10月)