terminal 终端
📌 大纲
📝 主题描述
终端的世界就像是图形化界面这样的三维系统被压扁成一个二维空间的系统。
没有图形化界面的更加直观的交互性。一切都由字符的输入、输出来交互。
但无论是哪种系统,都需要各种工具来帮助我们更加方便,直观的使用它。
而终端依靠的就是各种工具包,和与其相关的配置文件。
并且大家会将这些配置文件放到统一的文件夹中,该文件夹可以被称为 config
、也可以被称为 dotfiles
,因为配置文件常常以 .
开头。
🗂️ 目标
🎯 目标和任务分解
了解自己
于是我们的目标就非常的明确了。
- 先定位自己,知道自己对其使用的频率。经常拿它来做什么?
- 根据自己定位安排所需的工具包。
- 根据自己的使用频率,来安排自己相关的配置文件。
因为配置文件的快捷命令和快捷方式需要你高频率的使用,才能转变成你的下意识行为。否则过多的命令,就算提高了快捷度,也会由于你使用频率过低,导致你完全不记得命令本身了,查阅的时间,不如直接看帮助文件。
用户类型 | 主要用途 | 技能水平 | 常用命令或工具 | 操作系统偏好 |
---|---|---|---|---|
常规用户 | 办公、学习、娱乐 | 初学者 | ls, cd, mkdir | Windows/MacOS |
系统管理员 | 系统维护和管理 | 高级 | ssh, ps, top, systemctl | Linux/Unix |
开发人员 Dev | 软件开发 | 中级到高级 | git, vim, gcc, make | MacOS/Linux/Unix |
运维工程师 Ops | 系统运行和维护 | 高级 | ansible, docker, kubernetes | Linux/Unix |
数据科学家 | 数据分析和处理 | 中级到高级 | python, R, jupyter | 多平台 |
网络工程师 | 网络配置和故障排除 | 高级 | ip, netstat, ping, traceroute | 多平台 |
安全专家 | 安全测试和入侵检测 | 高级 | nmap, wireshark, metasploit | 多平台 |
媒体/艺术工作者 | 媒体文件处理 | 中级 | ffmpeg, convert | MacOS/Linux |
根据自己的需求,来决定下面的目标。
其实我觉得只有主力机器的主力系统需要复杂的配置文件。多机器的不同配置的应用需求其实并不多。
但是macos用终端来做管理这个功能真挺不错。
管理软件 brew、apt 等
- 清楚自己需要的软件,软件清单的整理
- 管理(安装、更新、删除)这些软件
- 周期性清理
管理配置文件 yadm、stow 等
- 根据自己的需求来设置自己配置文件的复杂度
- 管理、同步、根据不同系统分发这些配置文件
- 隐私文件的管理
高频使用终端工具的熟练掌握
- warp和其相关的工具
- neovim
- ssh
- docker、docker compose
🧠 思考的维度
终端发展中的关键点:
- 易用程度。安装配置是否足够简单和易读。
- 速度,包括启动速度、运行速度、占用资源度
- 功能性是否强大,是否可以定制。
易用度、速度、功能性,呈现不可能三角。而AI 和硬件的发展,可能是解决的变量。
新时代的终端解决思路,从终端模拟器开始。以 warp 为代表,在保证传统的 GPU 加速、Rust 语言保证了其执行效率和安全性以外,还有如下特性:
- 在终端模拟器就把大部分最常用的辅助包给解决掉,不需要你额外在安装这些包。这样做的好处是,当你远程登录到生产环境的服务器时,不需要你在这些使用频率非常低的环境,在额外安装其它包,阻止了服务器的资源的额外浪费。
- 提供了常用的命令 notebook和工作流 workflow。解决了你低频使用,不记得命令。经常使用的工作流,可重复使用的问题。
- 提供了 AI 来直接对运行命令报错的分析。提供解决方案,且可以立即运行,测试是否可行。
新的方式,对不熟练或不深度使用终端的用户更加的友好。我们不需要配置海量的复杂的配置文件了。且使用起来各种提醒、交互也不需要我们记得海量的命令了。
那我们这里就对最新的 warp 的环境下,如何使用 terminal 终端
吧。
🎉 总结
📖 参考文献
正文
基础
shell, cli, 终端模拟器的区别:
组件 | 描述 | 功能 |
---|---|---|
Shell | 解释和执行用户命令的程序 | 运行在终端模拟器中,解释用户命令,与操作系统交互, 执行任务,是CLI的直接承载工具,也是用户 |
CLI (命令行界面) | 用户通过文本命令与计算机程序 或操作系统交互的接口 |
提供一个环境,用户可以输入命令以执行操作, 通常在Shell中实现。常见:bash、zsh、fish |
终端模拟器 | 软件程序,模拟传统的硬件终端 | 在图形用户界面系统中提供一个窗口, 允许用户启动和使用Shell,从而使用CLI |
Command Line Interface 命令行界面 CLI
常用的有:bash, zsh
cli tools for warp
terminal emulator 终端模拟器
alacritty
package manager包管理器
brew、apt、npm