linux上下历史命令显示重复

不及物动词 其他 169

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用命令行终端执行各种命令。当我们在命令行终端上执行命令时,可以使用上下方向键来浏览命令的历史记录。然而,有时候我们会发现在历史记录中出现重复的命令。这是因为Linux默认会记录我们执行的所有命令,而不管它们是否相同。

    要解决重复显示历史命令的问题,可以通过以下方法进行:

    1. 使用`history`命令查看历史命令列表:
    在命令行终端上输入`history`命令可以查看我们执行过的历史命令列表。这个列表默认会包含重复的命令。如果我们只想查看不重复的命令,可以使用以下命令:
    “`
    history | awk ‘!a[$0]++’
    “`
    这个命令使用了`awk`工具来过滤掉重复的历史命令。

    2. 修改`HISTCONTROL`环境变量:
    `HISTCONTROL`环境变量用于控制历史命令的记录方式。在默认情况下,这个环境变量的值是`ignoredups`,表示忽略重复的命令。如果我们希望不记录重复的命令,可以将`HISTCONTROL`的值修改为`erasedups`。具体操作如下:
    打开`~/.bashrc`文件,使用文本编辑器添加以下内容:
    “`
    export HISTCONTROL=erasedups
    “`
    然后重新加载`~/.bashrc`文件,可以通过以下命令实现:
    “`
    source ~/.bashrc
    “`

    3. 清除历史命令中的重复项:
    如果我们已经有一批重复的历史命令并希望清除它们,可以使用以下命令:
    “`
    history | awk ‘!a[$0]++’ > temp_history && mv temp_history ~/.bash_history
    “`
    这个命令首先使用`awk`工具过滤掉重复的命令,并将结果保存到一个临时文件中。然后使用`mv`命令将临时文件覆盖掉`~/.bash_history`文件,从而清除掉历史命令中的重复项。

    以上是解决Linux上下历史命令显示重复的几种方法。根据不同的需求,可以选择适合自己的方式进行操作。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux终端中,如果输入的命令与之前执行的命令完全相同,再次按下上箭头键或者使用`history`命令查看历史命令时,会显示重复的多个相同命令。这是因为Linux终端默认会保存最近使用的命令历史。如果你不希望显示重复的历史命令,你可以执行以下操作:

    1. 清除历史记录:可以使用`history -c`命令来清除整个历史记录。这样,在终端会话中,再次输入`history`命令查看历史命令时,将不再显示任何历史记录。

    2. 修改历史记录保存数量:通过修改环境变量`HISTSIZE`来控制保存的历史命令数量。默认情况下,Linux终端会保存1000条历史命令记录。你可以在你的`~/.bashrc`(或者`~/.bash_profile`)文件中添加以下行来修改保存的历史命令数量:
    “`
    export HISTSIZE=100
    “`
    将`100`替换为你期望的历史命令数量。然后,重新加载bash配置文件:
    “`
    source ~/.bashrc
    “`

    3. 忽略连续重复的命令:如果你只希望显示连续不重复的命令,可以通过设置环境变量`HISTCONTROL`来实现。在`~/.bashrc`文件中添加以下行:
    “`
    export HISTCONTROL=ignoredups
    “`
    然后,重新加载bash配置文件:
    “`
    source ~/.bashrc
    “`
    这样设置后,只有如果输入的命令与上一条历史命令不相同,才会保存到历史命令中。

    4. 忽略所有重复的命令:除了忽略连续的重复命令之外,你还可以通过设置`HISTCONTROL`变量来忽略所有重复的命令。在`~/.bashrc`文件中添加以下行:
    “`
    export HISTCONTROL=ignoredups:erasedups
    “`
    然后,重新加载bash配置文件:
    “`
    source ~/.bashrc
    “`
    这样设置后,无论连续还是非连续输入的重复命令都不会保存到历史命令中。

    5. 手动删除重复的历史命令:如果你只是想删除当前重复的历史命令而不是完全禁止保存重复命令,你可以使用`history -d`命令。首先,使用`history`命令查看历史命令的编号,然后使用`history -d `来删除特定编号的历史命令。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux命令行中,我们可以通过使用上下箭头键来访问历史命令。但是,默认情况下,重复的命令只会显示一次。如果想要显示重复的历史命令,我们可以通过以下方法来实现。

    方法一:修改bash配置文件
    1. 打开bash配置文件 .bashrc 或者 .bash_profile(根据你使用的终端程序而定)
    “`
    vi ~/.bashrc
    “`
    2. 在文件末尾添加以下行:
    “`
    export HISTCONTROL=ignoredups
    “`
    3. 保存并关闭文件。
    4. 执行以下命令使配置文件生效:
    “`
    source ~/.bashrc
    “`
    或者重新打开一个终端窗口。

    现在,当你使用上下箭头键来访问历史命令时,相同的命令将会重复显示。

    方法二:通过环境变量控制
    1. 打开终端。
    2. 执行以下命令来设置HISTCONTROL变量:
    “`
    export HISTCONTROL=ignoredups
    “`
    现在,重复的历史命令将会显示多次。

    备注:
    – HISTCONTROL 环境变量用于控制历史记录的行为。ignoredups选项表示忽略重复的命令。
    – 使用这种方法设置的环境变量只在当前会话中有效。如果想对所有会话生效,可以将该命令添加到.bashrc 或者 .bash_profile配置文件中。

    总结
    通过修改bash配置文件或者使用环境变量,我们可以在Linux上让历史命令显示重复。这样可以方便我们访问之前执行过的命令,提高工作效率。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部