前端常用的终端命令
终端主要的目的是可以让我们在文件系统中进行四处浏览和打开/运行某些东西,只是在 windows 上我们之前都是用 GUI 界面进行操作的,现在是在终端中使用 shell 命令进行操作而已。
Shell命令
pwd
pwd(Print Working Directoy): 打印当前工作目录,表示的是你当前所在的文件位置
cd
cd(Change Directoy):表明切换当前工作目录,cd 可以接两种形式的命令,一种是相对路径,一种是绝对路径。
-
相对路径
-
.
一个 dot 表示是当前工作目录 -
..
两个 dot 表示是当前工作目录的父级目录
-
-
绝对路径: cd 直接跟路径名即可,使用绝对路径是有一个很常见的问题就是如果路径很长,得手动输入路径,这要求很高而且很容易出错,这时有一个小技巧就是 Tab 键,可以书写路径时结合 Tab 键进行联想,终端会自动补全,比如说下图中的去 test 目录,输入一个 te 后按 Tab 就能够自动补全路径。(注意,如果输入的已知路径存在重名,Tab 会推导失败)。
其中在 git bash 里 ~
表示的是系统用户根目录
ls
ls(list): 表示的是当前工作目录下的文件列表,其中高亮的表示是文件夹,颜色较浅的就是单文件
mkdir/touch
mkdir 创建文件夹
touch 创建文件
mkdir stuff // 创建stuff文件夹
cd stuff
touch a.txt // 创建a.txt文件
rm/rf
rm 是删除单个文件的指令
但是 rm 默认情况下是不能删除文件夹的,但是可以通过 r flag 改变这种规则, 表示的是 递归(recursive),它会递归删除 test 文件夹内的所有东西,包括文件夹本身,这个 flag 常和 flag f(-f,–force)结合一起使用,rm -rf something
强制递归删除文件夹内的所有东西包括它本身
谨慎使用rm -rf something
,这个命令不会有确认删除的提示,而且删除的内容不会出现在回收站内,一旦数据删除不可找回
la
l
表示”long”,将打印用更详细的数据打印目录内容,包括创键时间修改时间等信息a
表示”all”,打印所有的文件,包括隐藏的文件(windows 的资源管理器会默认隐藏一些文件)
终止命令
有时候一些进程是长期执行的,有时候需要中断,一个很常见得场景是本地开启的一个开发服务器进行 Vue 或者 React 开发时,不在开启应用时需要终止这个进程。可以使用ctrl + c
,有时候如果ctrl + c
不奏效可以使用ctrl + d
如果进入了 Vim 模式的话,退出编辑模式使用ESC
,按住:q
可以退出模式,编辑后想保存退出使用:wq
开发命令
打开 IDE
cd /path/to/project
# . 表示当前工作目录
code .
从 package.json
中安装项目依赖
npm install
或
yarn
开发过程中,有时候想快速运行一些第三方库的命令,并统一到 npm script 时就会用到,常见的如测试命令,部署命令,提交命令等等,这些都在 package.json 的 scripts 字段里进行配置。
{
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"commit": "cz
}
}
向 package.json
添加/安装新的项目依赖
npm install {库名} --save
或
yarn add {库名}
向 package.json
添加/安装新的dev项目依赖(devDependency)
npm install {库名} --save-dev
或
yarn add {库名} --dev
删除某个依赖项目
npm uninstall package --save
或
yarn remove package
重新安装依赖
cd path/to/project
rm -rf node_modules
npm install
升级某个依赖项目
npm update --save
或
yarn upgrade
全局安装某项目依赖(慎用)
npm install package -g
或
yarn global add package
git命令
# Download a Git repository onto
# your local machine
git clone [URL]
# Check which files have been modified
git status -s
# View changes
git diff
# Stage all files
git add .
# Commit staged files
git commit -m "Short descriptive message"
# Create a new local branch
git switch -c [new branch name]
# Switch branches
git switch [branch name]
# Push your code to Github (or wherever
# the project lives)
git push origin [branch name]
# Start an interactive rebase
git rebase -i [branch name or commit hash]