如何在命令行添加一条命令

在使用node的时候,经常会好奇,为什么在命令行输入了一个npm install这样的命令,会自动执行那么多操作? 电脑是如何识别npm的? 为什么可以识别npm却不能识别ilovewyl呢(其实注册了这个命令之后是可以执行的)?

如果想要让命令行知道你的命令,你需要完成两步操作

  1. 通过安装将这个命令注册在bin文件夹内
  2. 确保这个bin文件夹路径在/etc/paths中(可以通过echo $PATH查看当前路径)

    阅读更多

shell 以及他的命令行环境

苹果Macos 从Catalina版本开始使用zsh作为默认的登录shell 和 交互shell。之前默认的是bash,这个转变是什么意思呢?这要从shell开始说起。

shell

学习 Bash,首先需要理解 Shell 是什么。Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。
具体来说,Shell 这个词有多种含义。
首先,Shell 是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(commandline,简写为 CLI)。Shell 接收到用户输入的命令,将命令送入操作系统执行,并将结果返回给用户。本书中,除非特别指明,Shell 指的就是命令行环境。
其次,Shell 是一个命令解释器,解释用户输入的命令。它支持变量、条件判断、循环操作等语法,所以用户可以用 Shell 命令写出各种小程序,又称为脚本(script)。这些脚本都通过 Shell 的解释执行,而不通过编译。
最后,Shell 是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。

阅读更多

计算机通用语言

如何让计算机理解代码

从最基本的角度看,一种编程语言就是:把一组特定的词汇,按照一组特定的语法规则组合到一起,形成计算机可以通过某种方式“理解”的东西,可以让计算机据此执行特定的动作

这不是一个很容易解释的话题。相比人类,计算机是一个没有感情的机器。没有感情有好也有坏。好处就是你定义好规则,它就会按照你的规则办事。如何制定这个规则,也就是如何设计一门语言。人类有English,中文,日本人,Espanol,عربي, 한국어…。每个语言都有自己的表达规则,计算机语言也不例外。那么如何从无到有设计一套语言呢?在开始设计之前,我们先来理解几个基础词汇。

  • 文法 (Grammar)
  • 语法 (Syntax)
  • 词法 (Lexical)

    阅读更多

计算机编码

编码

我们计算机只能读懂01这两个字符,这和我们人类平时对文字的使用很不相同。如何在计算机里存储和表示文字,就涉及到了编码的知识。

计算机有哪些编码方式呢?

ASCII 码

我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。

阅读更多