zsh 的历史记录在哪里?(未找到`zsh_history`或`.zhistory`)

ecj*_*cjb 1 command-history zsh

我最近从 切换bash到并想要找到存储历史记录zsh的文件zsh

然而在主文件夹中,虽然有一个.bash_historyThere is nozsh_history.zhistory。我也尝试过locate但没有成功。如果我按向上箭头键,似乎某处有保存的历史记录

有人有想法吗

Kus*_*nda 7

shell的历史文件zsh$HISTFILE

% ls -l $HISTFILE
-rw-------  1 kk  kk  352704 May  8 14:16 /home/kk/.zsh_history
Run Code Online (Sandbox Code Playgroud)

如果未设置此变量,则不会保存任何历史记录。该变量没有默认值。

shell 有一个内存历史记录。这就是您使用箭头键滚动浏览的内容。一旦 shell 会话终止,内存中的历史记录显然会丢失。

将此变量设置为(在您的.zshrc文件中)的可能值是

HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history
Run Code Online (Sandbox Code Playgroud)

即,$ZDOTDIR/.zsh_history如果变量ZDOTDIR已定义且不为空,则返回,否则$HOME/.zsh_history返回。该变量不需要导出,因为它仅由当前 shell 会话使用。

ZDOTDIR变量确定.zshrc从何处获取文件和其他文件($HOME如果ZDOTDIR未设置则使用)。

您可能还想在手册中查找SAVEHIST其他与历史相关的 shell 变量zsh