初探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...]
# ...
- 选项一般使用
-
前缀 - 注意中括号和波折号的选项
- 一个指令分为选项与文件
- 选项分为短格式和长格式
-h
or--help
- 选项分为短格式和长格式
- 查看用户帮助文档(所有的指令都适用,业界共识,除非真没有)
- 第一种:指令通过
man [command]
查看用户手册 - 第二种:通过指令加
--help
即可查看 - 第三种:使用第三方帮助文档,如:tldr
- 优先看官方文档,其次去google搜索
tldr命令行说明文档
可使用yarn
包管理安装,是一款社区驱动的手册页,依赖于nodejs
,
官网网址:https://tldr.sh/
yarn global add tldr
命令行基础知识
Mac系统命令与Linux系统有十分缜密的联系,所以直接采用Linux命令行作为学习对象,window用户可通过虚拟机安装Linux或Windows Terminal使用命令行。
尝试打开终端输入命令
通过英语的对照,可以发现操作命令行相当于给电脑发送一个个的指令,由于电脑也是人设计的,所以使用的语言也就按英语作为主入口,通过一步步尝试即可理解当中有趣的地方,反而有点像“语音人工智能”的味道,我跟电脑说打开xxx、删除xxx等的一个个增删改查操作。
英文 | 缩写命令 | 翻译 | 英文 | 缩写命令 | 翻译 |
---|---|---|---|---|---|
file | 文件类型 | link | ln | 链接 | |
make | 制作 | find | 找 | ||
move | mv | 移动 | echo | 回声 | |
remove | rm | 删除 | touch | 触摸 | |
copy | cp | 拷贝 | change | cd | 改变 |
list | ls | 列表 | concatenate | cat | 连接/连结 |
英文 | 选项命令 | 翻译 |
---|---|---|
reclusive | -r | 递归 |
force | -f | 强制 |
通过命令加选项来操作系统,多数情况下选项可以合并在一起,如:rm -rf .
意思就是递归删除当前文件,请注意所有的操作正常是没有返回结果,只返回错误提示,也没有放呆机制,所有的操作直接运行。因系统默认你就是超级管理员,除非设置严格的权限控制,具体可以学习Linux的权限 管理。
详细命令来源「参考资料:Mac终端命令大全 」