如何将我的 bash 历史记录转移到新系统?

Syl*_*eau 6 command-line bash software-installation bash-history

我的bash历史就是我的记忆,它包含我在更新到较新版本的 Ubuntu 或更换我的计算机时不想丢失的命令。

是否可以将命令数据库传输到全新安装?

Syl*_*eau 11

您的 bash 历史记录保存在一个纯文本文件中,默认情况下称为.bash_history.

除非你修改了$HISTFILE变量,否则你应该在你的主目录中找到它:

$ echo $HISTFILE
/home/sylvain/.bash_history
Run Code Online (Sandbox Code Playgroud)

如果您在更新或重新安装系统时保留主分区,并且$HISTFILE保存在此分区上,则无需执行其他操作。

要将文件传输到新计算机,只需将其保存在 USB 驱动器上并替换现有.bash_history的目标系统即可。

如果HISTTIMEFORMAT在“旧”系统上设置,请不要忘记再次设置它,否则新命令的时间戳将不会作为注释保存在“新”.bash_history文件中。

如果您想合并旧的和新的并在历史文件的末尾保存新的,您可以使用此方法

sudo apt-get install moreutils
cat .bash_history.old $HISTFILE | sponge $HISTFILE
Run Code Online (Sandbox Code Playgroud)

  • 为什么要给猫打电话 2 次?cat 可以读取多个文件:`cat .bash_history.old $HISTFILE | 海绵 $HISTFILE` (2认同)