命令行的相关知识,内容包括概念理解、环境变量、添加新命令、JS 相关命令、Python 相关命令。
一、概念理解
1. shell 是什么?
shell 是用来解决用户如何与操作系统通信的问题。shell 是壳,提供给用户使用界面,区别于 kernel(系统内核)
shell 负责和用户打交道,kernel 负责和硬件打交道
我正在使用的 Windows 10 操作系统的 kernel 是 Windows NT(Windows 9X 系列的核是 DOS),shell 有两个,分别是 Windows Explorer 和 cmd.exe
两种形式的 shell
- 图形界面 shell(Graphical User Interface shell ,即 GUI shell)
- 命令行 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. 增
- 创建一个文件
- 创建多个文件 「touch 1.txt 2.txt 3.txt」
- 添加一行内容到文件(会覆盖) 「echo mmp > 1.txt」
- 追加一行内容到文件(不会覆盖) 「echo mmp >> 1.txt」
- 追加两行内容到文件 「echo -e “mmp\nmmp” >> 1.txt」
- 创建一个目录 「mkdir a」
- 创建多个目录 「mkdir a b c」
- 创建多层目录 「mkdir -p a/b/c/d/e」
- 复制文件 「cp 1.txt 2.txt」
- 复制路径 「cp -r a b」
2. 删
- 删除一个文件 「rm 1.txt」
- 删除一个目录 「rm -r a」/「rm -rf a」
3. 改
- 改变当前目录 「cd <路径>」
- 用程序打开文件 「start 1.txt」/「code 1.txt」
- 清空文件 「echo ‘’ > 1.txt」
- 移动文件/目录 「mv <路径1> <路径2>」
- 重命名文件/目录(同上) 「mv <名字1> <名字2>」
- 修改文件最后更新时间 「touch 1.txt」
4. 查
- 查看当前目录的绝对路径 「pwd」
- 查看当前目录内容 「ls」
- 查看当前目录详细内容 「ls -l」
- 查看指定目录内容 「ls <路径>」
- 查看文件 「cat / less <路径>」/「head / tail <路径> [-n 14]」
- 查看上一个命令错误的代号 「echo $?」
- 查看命令路径 「which <命令>」
5. 其他命令
- 「clear」 清屏
- 「<命令> —help」 查询命令用法
- 「tldr <命令>」 查询命令常见用法
6. 常用快捷键
- 「Ctrl + C」 — 中断当前命令
- 「Ctrl + A」 — 光标移动到最前面
- 「Ctrl + E」 — 光标移动到最后面
四、脚本文件
1. 命令组合
- 「&& 操作」 当一条命令成功之后,执行下一条
- 「; 操作」 不管成功和失败,都执行下一条
2. 把命令变文件
- 把命令组合写到一个文件,假设文件名是 onceDone
- 给文件添加可执行权限 「chmod +X onceDone」
- 运行脚本文件,需要正确的路径(用 bash 运行脚本文件) 「 sh onceDone [hello]」/「./onceDone [hello]」
- 可以接收一个参数,在文件中修改即可,如 mkdir $1
- 添加到 PATH ,就无需写路径了,可以直接运行 「onceDone」
五、添加新命令
下载安装 npm、yarn、node.js 工具并已添加到环境变量,可以直接使用该命令,npm 和 yarn 可以安装 JS 相关的包。
在官网下载的 Python 自带 pip 工具并已添加到环境变量,可以直接使用该命令,它可以安装 Python 相关的包。
与脚本文件有异曲同工之妙呀
六、JS 相关命令
- npm 和 yarn — 包安装工具
// 安装包
npm i -g <packageName> yarn global add <packageName>
npm list -g --depth=0 yarn global list
npm un -g <packageName> yarn global remove <packageName>
// 使用淘宝源
npm i -g nrm yarn global add yrm
nrm ls yrm ls
nrm use taobao yrm use taobao
// 使用 yarn 引入 jQuery,新增 node_modules 目录
yarn init
yarn add jquery
// 使用 yarn build 代替 parcel build ...
// 先初始化,其中 -y, --yes use default options
// 在 package.json 中添加如下键值对 "scripts":...
// 愉快简洁地打包
yarn init -y
"scripts": {
"build": "rm -rf dist && parcel build src/index.html --no-minify --public-url ./"
}
yarn bulid
- tldr — 查询命令用法
- http-server — 本地开 http 服务器
- parcel — 打包工具
// 使用 parcel 开发
yarn global add parcel
parcel src/index.html
parcel build src/index.html --no-minify --public-url ./
- node — 开一个后端服务器
- node-dev — 比 node 好用
七、Python 相关命令
- pip — 包安装工具
pip install <package_name>
pip list
pip uninstall <package_name>
// 临时使用阿里云的源
pip install <package_name> -i https://mirrors.aliyun.com/pypi/simple
// 使用阿里云的源
%appdata% 进入 AppData\Roaming 目录
mkdir pip
cd pip
touch pip.ini
echo -e "[global]\ntimeout = 6000\nindex-url = https://mirrors.aliyun.com/pypi/simple/\ntrusted-host = mirrors.aliyun.com" > pip.ini
「@浪里淘沙的小法师」