命令行的相关知识,内容包括概念理解、环境变量、添加新命令、JS 相关命令、Python 相关命令。

一、概念理解

1. shell 是什么?

shell 是用来解决用户如何与操作系统通信的问题。shell 是壳,提供给用户使用界面,区别于 kernel(系统内核)

shell 负责和用户打交道,kernel 负责和硬件打交道

我正在使用的 Windows 10 操作系统的 kernel 是 Windows NT(Windows 9X 系列的核是 DOS),shell 有两个,分别是 Windows Explorer 和 cmd.exe

两种形式的 shell

  1. 图形界面 shell(Graphical User Interface shell ,即 GUI shell)
  2. 命令行 shell(Command Line Interface shell ,即CLI shell)

如果不特别说明,通常所说的 shell 是指命令行 shell

  • Linux 中 Bash 是 shell 的一种,最常用的 shell 之一
  • Windows 中的 Windows命令提示符(cmd.exe)也是一种 shell

2. Git 是什么?

Git 是一款免费、开源的分布式版本控制系统

Github 是用 Git 做版本控制的代码托管平台

Git 命令在 Linux 下可以直接运行

Git Bash 是Git 公司推出的一个 Bash

3. 不同系统下使用 git 命令

Windows 系统: 需要重新下载一个 Git Bash,不使用 Windows 自带的 Shell

  • Cmder 是个不错的命令行控制台工具,附带了 Git Bash,即拥有了 git 命令

Linux 系统: 可以直接使用 git 命令

Mac 系统: 可以直接使用 git 命令

二、环境变量

当一个可执行文件添加到了环境变量 PATH,那么它就可以在命令行里调用并使用,PATH 就是用来搜索程序在哪里的

「系统」→「高级系统设置」→「环境变量」→「PATH: 可执行文件目录」

Cmder 下的 Bash 比 Windows 命令提示符功能更强大,语法也不一样,以后直接使用 Cmder 下的 Bash

三、常用命令

1. 增

  1. 创建一个文件
  2. 创建多个文件 「touch 1.txt 2.txt 3.txt」
  3. 添加一行内容到文件(会覆盖) 「echo mmp > 1.txt」
  4. 追加一行内容到文件(不会覆盖) 「echo mmp >> 1.txt」
  5. 追加两行内容到文件 「echo -e “mmp\nmmp” >> 1.txt」
  6. 创建一个目录 「mkdir a」
  7. 创建多个目录 「mkdir a b c」
  8. 创建多层目录 「mkdir -p a/b/c/d/e」
  9. 复制文件 「cp 1.txt 2.txt」
  10. 复制路径 「cp -r a b」

2. 删

  1. 删除一个文件 「rm 1.txt」
  2. 删除一个目录 「rm -r a」/「rm -rf a」

3. 改

  1. 改变当前目录 「cd <路径>」
  2. 用程序打开文件 「start 1.txt」/「code 1.txt」
  3. 清空文件 「echo ‘’ > 1.txt」
  4. 移动文件/目录 「mv <路径1> <路径2>」
  5. 重命名文件/目录(同上) 「mv <名字1> <名字2>」
  6. 修改文件最后更新时间 「touch 1.txt」

4. 查

  1. 查看当前目录的绝对路径 「pwd」
  2. 查看当前目录内容 「ls」
  3. 查看当前目录详细内容 「ls -l」
  4. 查看指定目录内容 「ls <路径>」
  5. 查看文件 「cat / less <路径>」/「head / tail <路径> [-n 14]」
  6. 查看上一个命令错误的代号 「echo $?」
  7. 查看命令路径 「which <命令>」

5. 其他命令

  1. 「clear」 清屏
  2. 「<命令> —help」 查询命令用法
  3. 「tldr <命令>」 查询命令常见用法

6. 常用快捷键

  1. 「Ctrl + C」 — 中断当前命令
  2. 「Ctrl + A」 — 光标移动到最前面
  3. 「Ctrl + E」 — 光标移动到最后面

四、脚本文件

1. 命令组合

  1. 「&& 操作」 当一条命令成功之后,执行下一条
  2. 「; 操作」 不管成功和失败,都执行下一条

2. 把命令变文件

  1. 把命令组合写到一个文件,假设文件名是 onceDone
  2. 给文件添加可执行权限 「chmod +X onceDone」
  3. 运行脚本文件,需要正确的路径(用 bash 运行脚本文件) 「 sh onceDone [hello]」/「./onceDone [hello]」
    • 可以接收一个参数,在文件中修改即可,如 mkdir $1
  4. 添加到 PATH ,就无需写路径了,可以直接运行 「onceDone」

五、添加新命令

下载安装 npm、yarn、node.js 工具并已添加到环境变量,可以直接使用该命令,npm 和 yarn 可以安装 JS 相关的包。

在官网下载的 Python 自带 pip 工具并已添加到环境变量,可以直接使用该命令,它可以安装 Python 相关的包。

与脚本文件有异曲同工之妙呀

六、JS 相关命令

  1. npm 和 yarn — 包安装工具
  1. // 安装包
  2. npm i -g <packageName> yarn global add <packageName>
  3. npm list -g --depth=0 yarn global list
  4. npm un -g <packageName> yarn global remove <packageName>
  5. // 使用淘宝源
  6. npm i -g nrm yarn global add yrm
  7. nrm ls yrm ls
  8. nrm use taobao yrm use taobao
  1. // 使用 yarn 引入 jQuery,新增 node_modules 目录
  2. yarn init
  3. yarn add jquery
  1. // 使用 yarn build 代替 parcel build ...
  2. // 先初始化,其中 -y, --yes use default options
  3. // 在 package.json 中添加如下键值对 "scripts":...
  4. // 愉快简洁地打包
  5. yarn init -y
  6. "scripts": {
  7. "build": "rm -rf dist && parcel build src/index.html --no-minify --public-url ./"
  8. }
  9. yarn bulid
  1. tldr — 查询命令用法
  2. http-server — 本地开 http 服务器
  3. parcel — 打包工具
  1. // 使用 parcel 开发
  2. yarn global add parcel
  3. parcel src/index.html
  4. parcel build src/index.html --no-minify --public-url ./
  1. node — 开一个后端服务器
  2. node-dev — 比 node 好用

七、Python 相关命令

  1. pip — 包安装工具
  1. pip install <package_name>
  2. pip list
  3. pip uninstall <package_name>
  4. // 临时使用阿里云的源
  5. pip install <package_name> -i https://mirrors.aliyun.com/pypi/simple
  6. // 使用阿里云的源
  7. %appdata% 进入 AppData\Roaming 目录
  8. mkdir pip
  9. cd pip
  10. touch pip.ini
  11. echo -e "[global]\ntimeout = 6000\nindex-url = https://mirrors.aliyun.com/pypi/simple/\ntrusted-host = mirrors.aliyun.com" > pip.ini

「@浪里淘沙的小法师」