linux bash命令_这些技巧让 Bash 命令历史更加有用 | Linux 中国

  2d707c47f58fefb11c8f500f8ae954dd.png本文字数:2239,阅读时长大约: 2分钟 导读:告诉 Bash 你想要它记住什么,甚至删除不需要的记录重写历史。https://linux.cn/article-12381-1.html 作者:Seth Kenlon 译者:geekpi

运行 Bash 的 Linux 终端有内置的历史记录,你可以用来跟踪最近的操作。要查看你的 Bash 会话的历史记录,请使用内置命令 history:

$ echo "foo"foo$ echo "bar"bar$ history  1  echo "foo"  2  echo "bar"  3  history

与大多数命令不一样,history 命令不是文件系统上的可执行文件,而是 Bash 的功能。你可以使用 type 命令来验证:

$ type historyhistory is a shell builtin ec5a53c0-3831-eb11-8da9-e4434bdf6706.svg

历史控制

shell 历史记录的行数上限由 HISTSIZE 变量定义。你可以在 .bashrc 文件中设置此变量。以下将你的历史记录设置为 3,000 行,之后将最早的行删除以为最新命令腾出空间,该命令位于列表的底部:

export HISTSIZE=3000

还有其他与历史相关的变量。 HISTCONTROL 变量控制哪些历史被记录。你可以在 .bashrc 中写入下面的行来强制 Bash 排除以空格开头的命令:

export HISTCONTROL=$HISTCONTROL:ignorespace

现在,如果你输入以空格开头的命令,那么它将不会记录在历史记录中:

$ echo "hello"$     mysql -u bogus -h badpassword123 mydatabase$ echo "world"$ history  1  echo "hello"  2  echo "world"  3  history

你也可以避免重复的条目:

export HISTCONTROL=$HISTCONTROL:ignoredups

现在,如果你一个接着一个输入两个命令,历史记录中只会显示一个:

$ ls$ ls$ ls$ history  1  ls  2  history

如果你喜欢这两个忽略功能,那么可以使用 ignoreboth

export HISTCONTROL=$HISTCONTROL:ignoreboth ec5a53c0-3831-eb11-8da9-e4434bdf6706.svg

从历史记录中删除命令

有时你会犯一个错误,在 shell 中输入了一些敏感内容,或者你只是想清理历史记录,以便它更准确地表示让某件事正常工作所采取的步骤。如果要从 Bash 的历史记录中删除命令,请在要删除的项目的行号上使用 -d 选项:

$ echo "foo"foo$ echo "bar"bar$ history | tail  535  echo "foo"  536  echo "bar"  537  history | tail$ history -d 536$ history | tail  535  echo "foo"  536  history | tail  537  history -d 536  538  history | tail

要停止添加 history 条目,只要在 HISTCONTROL 环境变量中有 ignorespace,就可以在命令前添加空格:

$  history | tail  535  echo "foo"  536  echo "bar"$  history -d 536$  history | tail  535  echo "foo"

你可以使用 -c 选项清除所有会话历史记录:

$ history -c$  history$ ec5a53c0-3831-eb11-8da9-e4434bdf6706.svg

history 命令的经验教训

操纵历史通常没有听起来那么危险,尤其是当你有目标地管理它时。例如,如果你要记录一个复杂的问题,通常最好使用会话历史来记录命令,因为通过将命令插入历史记录,你能运行它们并从而测试过程。很多时候,不执行历史命令会导致忽略小的步骤或写错小细节。

按需使用历史会话,并明智地控制历史记录。享受历史修改吧!


via: https://opensource.com/article/20/6/bash-history-control

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

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

f85a53c0-3831-eb11-8da9-e4434bdf6706.svg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值