跳到主要内容

初探Linux命令行

  • window系统推荐使用虚拟机安装
  • 购买云服务
  • MacOS打开终端即可(Unix与Linux属于同源,命令行上操作大同小异)

前提条件

想要成长必须要克服困难,程序的世界还是英语作为主导的阶段,需要接受现实,其次通过学习他们优秀的设计思想,才能得到更好的正反馈,以下几点不是必备的前提,而是接受这些挑战慢慢成为自己的习惯。

  • 拥抱Linux系统
  • 熟悉英语
  • 认清何为全球化(you know 🪜?)
  • 查看一手文档
  • 愿意折腾,用着不爽自己定制
  • 追求极致的高效
  • 愿意学习抽象思维

与终端相关的术语

terminal

终端(termimal)= tty(Teletypewriter 电传打印机),作用是提供一个命令的输入输出环境。

在linux下使用组合键ctrl+alt+T打开的就是终端,可以认为terminal和tty是同义词。

shell

**shell是一个命令行解释器,是linux内核的一个外壳,负责外界与linux内核的交互。**当打开一个terminal时,操作系统会将terminal和shell关联起来,当我们在terminal中输入命令后,shell就负责解释命令。

console

在系统启动完成之前,terminal不能连接到主机上,**为了记录主机的重要日志(比如开关机日志,重要应用程序的日志),系统中就多了一个名为console的设备,这些日志信息保存在console中。**一台电脑只有一个console,但可以有多个terminal,console可以理解为总控制台。

bash

linux系统上比较常见的有Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh),三种shell 都有它们的优点和缺点。

Bourne shell 的作者是 Steven Bourne,它是 UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用。

bash的全称叫做Bourne Again shell,从名字上可以看出bash是Bourne shell的扩展,bash 与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性,如命令补全、命令编辑和命令历史表等功能,它还包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

总而言之,bash是shell的一种,是增强的shell。

小结

无论哪一种终端或shell,共同点同样是使用命令行作为最基础的操作电脑的交互模式

  • 图形界面占用系统性能较多
  • 功能多越复杂的系统出现bug的概率更多,“简单”的系统对生产使用更可靠
  • 而“简单”的系统,也意味着对技术人员从事门槛更高

指令原则

理解指令的设计理念,只有熟悉它的出发点才能更好的为自己服务。

如:学会握笔,知道横竖撇点横才能写好字,每一项技术都有属于他们的原则,遵循一定的规则才能正确运用与扩展。

指令与选项

官方的文档往往比较难懂,需要坚持查看并动手尝试,只看不做水过杨过。

man ls

# ls [option] [dir...]
# ...
  • 选项一般使用-前缀
  • 注意中括号和波折号的选项
  • 一个指令分为选项与文件
    • 选项分为短格式和长格式-hor--help
  • 查看用户帮助文档(所有的指令都适用,业界共识,除非真没有)
  • 第一种:指令通过man [command]查看用户手册
  • 第二种:通过指令加--help即可查看
  • 第三种:使用第三方帮助文档,如:tldr
  • 优先看官方文档,其次去google搜索

tldr命令行说明文档

可使用yarn包管理安装,是一款社区驱动的手册页,依赖于nodejs, 官网网址:https://tldr.sh/

yarn global add tldr

tldr运行截图

命令行基础知识

Mac系统命令与Linux系统有十分缜密的联系,所以直接采用Linux命令行作为学习对象,window用户可通过虚拟机安装Linux或Windows Terminal使用命令行。

命令和英语脱不开关系,不懂英语是巨大的坑,让本来信息熵的变得更高,想不写bug都难 维基百科:信息熵

尝试打开终端输入命令

通过英语的对照,可以发现操作命令行相当于给电脑发送一个个的指令,由于电脑也是人设计的,所以使用的语言也就按英语作为主入口,通过一步步尝试即可理解当中有趣的地方,反而有点像“语音人工智能”的味道,我跟电脑说打开xxx、删除xxx等的一个个增删改查操作。

英文缩写命令翻译英文缩写命令翻译
file文件类型linkln链接
make制作find
movemv移动echo回声
removerm删除touch触摸
copycp拷贝changecd改变
listls列表concatenatecat连接/连结
英文选项命令翻译
reclusive-r递归
force-f强制

通过命令加选项来操作系统,多数情况下选项可以合并在一起,如:rm -rf .意思就是递归删除当前文件,请注意所有的操作正常是没有返回结果,只返回错误提示,也没有放呆机制,所有的操作直接运行。因系统默认你就是超级管理员,除非设置严格的权限控制,具体可以学习Linux的权限管理。

详细命令来源「参考资料:Mac终端命令大全