📜  记住在多个终端中键入的所有命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:57:38.115000             🧑  作者: Mango

记住在多个终端中键入的所有命令 - Shell-Bash

作为一名程序员,在使用终端时,我们会经常需要键入各种命令,有时候这些命令非常复杂,需要很多参数和选项。有时候我们需要在多个终端上操作,如果每次都要重新键入这些命令就会浪费很多时间和精力。那么有没有办法可以自动帮我们记住在多个终端中键入的所有命令呢?当然可以,接下来我将为大家介绍如何在 Shell-Bash 中记住在多个终端中键入的所有命令。

1. 使用 bash history

我们可以使用 bash history 功能来保存我们键入的所有命令。在终端中使用上下箭头可以查看历史命令,使用 !! 可以执行最近一次输入的命令,使用 !n 可以执行历史记录中的第 n 条命令。但是默认情况下,history 只会在当前终端会话中保存命令历史记录,一旦终端关闭,命令历史记录也消失了。

我们可以通过修改 bash 配置文件来让命令历史记录在多个终端之间共享。打开 ~/.bashrc 文件,在最后添加下面两行:

export HISTCONTROL=ignoredups:erasedups  # 忽略重复命令
export HISTSIZE=100000  # 命令历史记录大小
export HISTFILESIZE=100000  # 命令历史文件大小
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r;"  # 每次输入命令都会立即保存

这样就可以让历史记录在多个终端之间共享了。当你在一个终端中输入了命令后,这个命令会立即被保存到 ~/.bash_history 文件中。当你在另一个终端中输入 history 命令时,就可以看到所有终端中输入的命令历史记录了。

2. 使用 shell-sink

shell-sink 是一个开源的工具,可以自动保存你在终端中执行的所有命令,并且可以将命令历史记录自动同步到多台机器上。使用 shell-sink 只需要简单的几步:

  1. 安装 shell-sink:
npm install -g shell-sink
  1. 注册 shell-sink 账号:
sink signup
  1. 启动 shell-sink:
sink start
  1. 在终端中键入命令即可自动保存并同步到远程服务器上。

使用 shell-sink 可以更加方便地在多个终端之间共享命令历史记录,并且可以随时查看以前执行的命令,非常适合多人协作开发。

结语

无论是使用 bash history,还是使用 shell-sink,都可以帮助我们轻松地在多个终端之间共享命令历史记录,提高我们的工作效率。在平时开发中,我们应该尽可能地多利用这些工具,提高自己的工作效率和生产力。