linux怎么执行命令不在history

fiy 其他 134

回复

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

    在Linux中,执行命令时会自动添加到历史记录中,这样方便我们查看和重新执行以前的命令。但有时候我们希望某些命令不要在历史记录中显示,下面介绍两种方法。

    方法一:使用空格开头

    在执行命令时,可以在命令前加上一个空格。Linux会忽略以空格开头的命令,不会将其添加到历史记录中。例如:

    “`bash
    $ command
    “`

    这样,command命令就不会被记录在历史记录中。

    方法二:使用history命令

    另一种方法是使用history命令来删除历史记录中的指定命令。首先,使用history命令查看历史记录,然后使用history -d命令删除指定命令的历史记录。

    步骤如下:

    1. 使用history命令查看历史记录,找到要删除的命令的行号。

    “`bash
    $ history

    1 command1
    2 command2
    3 command3

    “`

    2. 使用history -d命令删除指定行号的命令。

    “`bash
    $ history -d “`

    其中,``是要删除的命令所在行号。

    例如,要删除command2,可以执行以下命令:

    “`bash
    $ history -d 2
    “`

    这样,command2命令就会被从历史记录中删除。

    需要注意的是,这种方法只会从当前会话的历史记录中删除命令,不会对其他会话的历史记录产生影响。

    总结:

    以上就是在Linux中执行命令不在历史记录中显示的两种方法。使用这些方法可以保护一些敏感信息,避免被其他人在历史记录中看到。

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

    在Linux中,执行命令时会将输入的命令记录在历史命令列表中,这在大多数情况下非常有用。然而,有时我们可能希望临时禁止某个命令被记录在历史中,这可以通过以下几种方式来实现:

    1. 在命令前加入空格:在输入命令时,在命令前加入一个空格字符,这将导致该命令不会被记录在历史中。例如,输入 ” history ” 命令将记录到历史中,但输入 ” history “(前面有一个空格)则不会被记录。

    2. 使用 history 忽略列表:在Bash中,可以通过设置 HISTIGNORE 变量来指定要忽略的命令。HISTIGNORE 变量可包含一系列模式,每个模式用冒号分隔。任何匹配这些模式的命令都将被忽略。例如,设置 HISTIGNORE 变量为 ‘ls:cd’,则使用这两个命令时都不会被记录在历史中。

    “`
    export HISTIGNORE=”ls:cd”
    “`

    3. 使用 histcontrol 变量:histcontrol 变量可以控制历史命令文件的记录方式。使用 “ignorespace” 选项时,在命令前加入一个空格将导致该命令不会被记录。同样,使用 “ignoredups” 选项时,连续重复的命令只记录一次。可以通过设置 histcontrol 变量来使用这些选项。

    “`
    export HISTCONTROL=”ignorespace:ignoredups”
    “`

    4. 使用快捷键操作:在执行命令时,使用快捷键操作也可以防止命令被记录在历史中。例如,在执行命令时按下 Ctrl+L,则该命令不会被记录在历史中。

    5. 清空历史记录:如果需要完全删除历史记录,可以使用如下命令:

    “`
    history -c
    “`

    该命令将清空所有的历史记录。请注意,这不仅会删除当前会话的历史记录,还会删除保存在历史命令文件中的所有历史记录。

    需要注意的是,以上方法只是临时禁止命令被记录在历史中,关闭终端后,历史记录将会重新启用。如果需要永久禁止命令被记录在历史中,可以在用户的 Bash 配置文件(如 ~/.bashrc)中进行相应配置。

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

    在Linux中,每个用户都有一个命令历史记录文件。 当您在终端中执行命令时,这些命令将被记录在该文件中,以便您可以随时查看和重复执行它们。 有时,我们可能希望执行一个命令,但不希望将其记录在命令历史记录中。 这种情况下,您可以使用以下几种方法来执行命令而不记录其历史。

    方法一:使用命令前加空格
    您可以在要执行的命令之前添加一个空格。 这会告诉终端将该命令视为一次性命令,而不会将其添加到命令历史记录文件中。 例如:
    “`
    $ command
    “`
    方法二:使用命令前加一个特殊字符
    您可以在要执行的命令之前加上一个特殊字符,如“#”。 这将使终端将该命令视为注释,并不会将其添加到命令历史记录文件中。 例如:
    “`
    #command
    “`

    方法三:使用设置命令忽略某些命令
    您可以使用`HISTIGNORE` 环境变量来告诉终端忽略一些命令。 HISTIGNORE 变量包含一个由冒号分隔的模式列表,每个模式用于指定要忽略的命令。 当您执行一个匹配到 HISTIGNORE 中模式的命令时,它将不会被添加到命令历史记录文件中。 例如,要忽略所有以空格开头的命令,可以使用以下命令:
    “`
    $ export HISTIGNORE=” *”
    “`
    这将告诉终端忽略所有以空格开头的命令。

    方法四:使用禁用命令不记录历史
    在某些情况下,您可能希望完全禁用命令历史记录功能。 对于这种情况,您可以编辑您的bash配置文件(通常是`~/.bashrc` 或 `~/.bash_profile`)并注释或删除以下行:
    “`
    HISTFILE=$HOME/.bash_history
    HISTSIZE=1000
    HISTFILESIZE=2000
    “`
    请注意,这将禁用整个历史记录功能,并且不会将任何命令记录到命令历史记录文件中。

    以上是一些常用的方法,用于在Linux中执行命令而不记录其历史。了解这些方法将使您在需要时能够更灵活地管理和控制命令历史记录。

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

400-800-1024

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

分享本页
返回顶部