BennettHoward
323 天前
简单来说:
a.需要 标签化或者更复杂的方式来管理不同服务器的 ssh 配置及连接,可以使用 termius 这种专门做 ssh 管理和同步的软件。或者耦合了终端管理软件和 ssh 管理软件的 WindTerm 。 当然我还是认为 SSH-Config 大法好,足够灵活便捷,唯一缺点是多端同步需要手动 copy 。
b. 历史命令保存,这是和对应服务器上 登录(或使用) Shell 应用的相关设置有关;可以检查对应服务端是否有定期清理历史的设置。
c. 命令自动补全,一般是由服务器上 登录或使用 Shell 及其插件或者特定应用来提供。 个人推荐 zsh+OhMyZSH+zsh-autosuggestions ,需要模糊搜索可搭配 fzf 食用。
至于 Mac 原生终端、electerm 这些属于终端管理软件,我个人推荐 iTerm2 。下面附一些个人见解(大佬轻喷):
1. ssh-client 是一种 使用 SSH 协议来连接远端服务器 提供远端命令执行、文件传输以及管理的应用,包括 OpenSSH 、putty 等等。MacOS 是类 UNIX 系统,默认的系统软件里已经装了 OpenSSH ,也就是在终端里使用的 ssh 。不同远程服务器的连接管理,可以直接在~/.ssh/config 中进行配置,许多 ssh 管理软件实际上也是读写该文件实现的( Termius 除外)。
2. 终端管理软件。 上面提到的 windterm 、electerm 以及 iTerm2 、系统原装的 Terminal(终端) 都是终端管理软件。终端管理软件会给你提供一个图形界面,用来辅助用户与 Shell 交互(也就是常说的命令行),以及一些基础的显示配色、快捷键、分屏功能等。
3. Shell 应用。这是真正读取命令、解释命令、(小部分 Shell 执行 大部分丢给其他二进制文件)、返回结果的核心应用。常说的 Bash 、ZSH 都是 Shell 应用。题主说到的历史命令保存,一般来讲 是 Shell 来管理控制的,Shell 将历史命令保存在外部文件中(比如~/.bash_history),用户通过 Ctrl+r 、history 、上下键等方式查询,实际就是读取对应的文件。 至于自动补全,这是一些 Shell 插件所提供的服务。