1.1 命令行
为什么学习命令行?
- Linux 服务器主要就是通过命令行使用的。
- 所有的科学计算软件 (VASP, LAMMPS...) 都需要通过命令行实现。
CLI 和 GUI
说到电脑,很多同学更熟悉的是图形界面(Graphical User Interface, GUI),比如点开文件夹、双击运行程序、通过窗口切换任务。 但在科研计算环境里,命令行(Command Line Interface, CLI)通常更重要。区别如下:
| 交互方式 | 典型操作 | 优点 | 局限 |
|---|---|---|---|
| GUI | 鼠标点点点,在对应的地方输入对应的东西 | 直观、上手快 | 不适合远程、大批量、自动化任务 |
| CLI | 在终端输入文本命令 | 逻辑简单,高效 | 不够直观,初学时有门槛 |
对科学计算来说,CLI 更重要,不是因为它“看起来更专业”,而是因为它更适合下面这些场景:
- 远程操作服务器
- 批量处理文件
- 自动化重复任务
- 记录和复现完整流程
我想 CLI 应该会陪伴你度过很长的一段时间,好像没有什么难的,如果可以你可以把他当作一门工具,记住就好了。甚至,你可以把它当作一门语言,与计算机交流的语言,也许你会爱上 CLI 的哲学。
对了我是偏执的 CLI coding 拥护者,能写代码解决的事情,我一定不会使用图形化解决。因为CLI可重复可积累,是一件长期主义的事。所用的命令和方法并不是唯一,这是基于我的 taste 而写的,鼓励大家培养自己的 taste 建设优化自己的工作流。
我使用的系统是 MacOS 系统,对于 Windows 我并没有直接使用过,若用起来有问题可以问问 LLM。