在 FreeBSD 10.0 中清除 tcsh/csh 历史记录

在 FreeBSD 10.0 中清除 tcsh/csh 历史记录

这有点尴尬,但我无法从 FreeBSD 10.0 服务器中删除 root 用户 shell 历史记录。root 用户正在使用默认的csh

我尝试使用经典history -c命令来清理历史记录并且它有效......直到我注销并再次登录服务器。

尝试删除 ~/.history 文件,但没有成功。

有什么想法吗?

答案1

如果您想清除历史记录(在 FreeBSD 10.1 w/(t)csh 上)。

echo > /root/.history && history -c

答案2

此命令:

rm /root/.history

应该可以满足您的要求,不过当您注销时,它可能会重新写出。如果您只是希望不存储历史记录,您可以这样做:

echo > /root/.history
chflags schg /root/.history

清空文件然后将其设置为不可变。

答案3

不能 100% 确定HISTSIZE(t)csh 中是否存在变量,但可能存在。

因此尝试

setenv HISTSIZE 0
rm -f /root/.history

看看是否有帮助。

答案4

要禁用 tcsh/csh 的历史记录,请输入以下命令:

unset history; unset savehist

或者您也可以执行以下操作:

set history = 0; set savehist = 0

任何一个都会禁止保存历史记录。

您还可以编辑该~.cshrc文件并更改以下内容:

set history = 1000 
set histsave = 1000

set history = 0 
set histsave = 0

然后,每次您登录到服务器时,它都会保留不保存历史命令的功能。

相关内容