阅读 OS X 中的所有终端命令历史记录

Cam*_*ane 15 terminal macos

访问我在 OS X 终端中运行的所有命令会很棒,这样我就可以查看并用作运行提醒表。

我正在使用 Reverse-I-Search 提示,并更新了我的 .bash_profile 以存储我在Mactoids上提到的所有历史记录:如何搜索终端命令历史记录

  1. 启动终端。

  2. 通过输入导航到主文件夹:

    cd ~/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通过输入创建 .bash_profile:

    touch .bash_profile
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在,在您喜欢的文本编辑器中编辑 .bash_profile 或在终端窗口中输入以下内容以在默认 TextEdit 中自动打开文件:

    open -e .bash_profile
    
    Run Code Online (Sandbox Code Playgroud)
  5. 最后,将其添加到 .bash_profile 文件中:

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
    Run Code Online (Sandbox Code Playgroud)
  6. 保存并退出。

您对我如何访问以便在 OS X 中输出终端命令历史有任何想法吗?

Jon*_*han 31

~/.zsh_history在现代版本的 MacOS(Catalina 及更高版本)中,默认情况下您会在以下位置找到 bash 历史记录:

cat ~/.zsh_history
Run Code Online (Sandbox Code Playgroud)

  • 就是这个。这将返回完整的历史记录,而“历史记录”仅返回当前会话历史记录。 M1 麦克。 (7认同)

fid*_*eli 7

您的所有历史记录都存储在 中~/.bash_historyreverse-i-search向上/向下键都使用。该文件会定期修剪,但如果您按照链接中的指南进行操作,则该.bash_history文件实际上永远不会被修剪。

  • 有时不是`~/.bash_history`而是`~/.zsh_history` (3认同)

小智 5

就我个人而言,我更愿意以更简单的方式进行操作并打印所有内容,而不是检查不涵盖所有终端窗口和所有命令的最新会话。

获取完整的历史记录

cd ~/.bash_sessions
cat *.historynew *.history
Run Code Online (Sandbox Code Playgroud)

如果您想按会话日期排序

cd ~/.bash_sessions
cat `ls -tr *.historynew *.history`
Run Code Online (Sandbox Code Playgroud)