备份Mac OSX终端命令历史记录

17

我如何将Mac OSX(Lion)终端命令历史记录备份到桌面的文本文件中?

6个回答

26

通过将history命令的输出重定向到一个文件中,可以实现这一点。

history > history.txt


2
创建桌面文件:$ history > /Users/你的用户名/Desktop/history.txt,将“你的用户名”替换为你的用户名。 - Miguel Bocquier
5
你可以使用 history < history.txt 命令将其导入(例如到另一台 Mac)吗?请注意,这不会更改原始内容。 - Nicolas Miari

15

如果您使用的是 bash:

~/.bash_history

否则,如果使用 zsh:

~/.zsh_history


我该如何在新机器上导入它?@metakermit - him229
2
@him229 只需将此文件复制到您的主文件夹(/Users/<username>或简写为~),然后打开终端- 您应该会看到您的旧历史记录。 - metakermit

7

对于所有想要导入导出文件的人,@ncremins的答案如下:

使用以下命令导出history.txt文件:

history > history.txt

history.txt 文件导入到其他系统中,然后运行以下命令:
history -r history.txt

omz_history:fc:14: 找不到事件: history.txt - undefined
@EdwinO. 是在出口还是进口时发生的? - undefined
进口苹果芯片Mac - undefined
我从英特尔转到了苹果,对我来说效果不错。 - undefined

2

既然您实际上并没有谈论Shell或Bash,您可能想要简单地使用“导出为文本...”菜单选项。这将把整个行缓冲区导出到一个文本文件中。


那太简单了,我没看到。抱歉打扰你们了! - Miguel Bocquier
1
如果我有足够的声望,我会做这件事的!!但是我在这里是新手 :) - Miguel Bocquier
缩写:滚在地上笑 - Atastor

0

我的环境

  • macOS
  • zsh
  • oh-my-zsh

备份和恢复(到另一台机器)

将您的~/.histfile复制到新机器上并替换它。然后,在新机器上重新启动您的shell,您应该可以从history看到正确的输出。

我从echo $HISTFILE找到了文件。


0

history X > history.txt

X 是指您想要从哪一行开始将历史记录保存到文件中。例如,如果您运行 history > history.txt,它只会给您最近的十行或类似的内容。但是,如果您想要保存当前会话的所有命令(即 1-965 行),则需要运行 history 1 > history.txt... 如果您只想要最近的 100 行历史记录:history 866 > history.txt。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接