救命快捷键: ctrl+c, 用于中断一个命令. ctrl+c加按回车键之后, 再按方向键向上, 则会重复刚才打的文字.
~, 表示用户主目录.
clear, 这个命令作用是清除cmder命令行及其结果.

1.切换工作目录

cd 进入用户主目录
cd ~ 进入用户主目录
cd - 返回进入此目录之前所在的目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd ~/Desktop 切换到桌面目录
备注: cd, 是change direction的缩写, 意思是改变目录. ~ 波浪线表示用户主目录.

2.查看文件

pwd 查看当前目录绝对路径(pwd是process working direction的缩写)
ls 查看当前目录的文件列表(ls是list的缩写)
ls 路径 查看指定目录内容
ls -l 查看文件和目录的详细资料
ls -a 显示隐藏文件
code 1.txt 用VSCode打开文件1.txt
start 1.txt 用默认软件打开文件1.txt(win系统)
open 1.txt 用默认软件打开文件1.txt(mac系统)
cat 路径 查看文件内所有内容(cat, 是concatenate的缩写,意思是连接)
head 路径 查看文件内首10行
head 路径 -n num: 比如”head index.css -n 14”, 表示查看index.css文件内首14行的内容.
tail 路径 查看文件内末10行
tail 路径 -n num: 比如”tail index.css -n 14”, 表示查看index.css文件内末14行的内容.
less 路径 分页或分屏查看内容.
q, 退出, 即quit;
j, 往下;
k, 往上.

3.新建文件或目录

touch 1.txt 新建文件1.txt
touch 1.txt 2.txt 同时创建两个文件
mkdir a 新建目录a
mkdir -p a/b/c 新建目录a/b/c
mkdir a b c 新建多个目录a, b, c
mkdir -p a/b/c a/d/c 新建两个目录a/b/c a/d/c
备注: mkdir,全称是make direction,意思是创建目录(文件夹). 这里的p应该是path的首字母.

4.复制文件或目录

cp 1.txt 2.txt 复制文件1.txt并命名为2.txt
cp -r a b 复制目录a并命令为b
备注: cp是copy的简称. r是recursive, 意思是递归或重现.

5.修改文件

echo hi > 1.txt 把文字hi添加到1.txt文件中. 用这个语法添加新的文字, 新的文字会覆盖旧的所有文字.
echo hihi >> 1.txt 追加一行文字内容, 即把文字hihi到1.txt文件中, 同时不覆盖1.txt文件中其他文字.
echo -e “1\n2” > 1.txt 表示追加两行文字内容, 即把文字1和2添加到1.txt文件中, 并且各占一行.
echo -e “1回车键2”也能实现这个效果, 但是占两行,太难看, 不推荐这么操作.
echo ‘ ‘ > 1.txt 清空文件1.txt
mv 1.txt 2.txt 重命名文件, 把文件1.txt重命名为2.txt
touch 1.txt 在1.txt存在的情况下, 作用是修改文件最后更新时间(跟创建文件的语法相同)
touch 1.txt ls -l 查看文件的最后更新时间.

6.移动文件或目录

mv 1.txt a/ 把1.txt移到a文件夹里.
mv a/1.txt ./ 把a文件夹里的1.txt移到当前目录(命令行所在目录).
mv a/ b/ 把a件夹移到b文件夹里.
备注: 这里末两行最后的/都可以省略.

7.删除文件或目录

rm 1.txt 删除文件1.txt
rm -r a 删除目录a
rm -rf a 强制删除目录a
备注: rm, 全称remove. rf, 全称remove force. mv, 全称move.

8.帮助手册和tldr

ls —help 查看帮助手册
ls —help | less 查看简短版的帮助手册
tldr ls
tldr cp
tldr mv
tldr rm
tldr mkdir
······
帮助手册太长, 解决办法是安装tldr, 然后从其中选择你所需要的命令.
tldr安装方法: yarn global add tldr 或 npm i -g tldr.
备注: tldr, 全称是too long; didn’t read.

9.脚本文件

9.1 命令有成功和失败
1) 如果成功了, 什么都不会提示; 如果失败了, 会提示error.
2) 命令执行成功, 输入 echo $?, 返回结果0;
命令执行失败, 输入echo $?, 返回结果非0.
image.png

3)命令1&&命令2
作用: 当首条命令成功之后, 执行命令2, 否则不执行.
image.png

4) 命令1 ; 命令2
作用: 不论命令1成功还是失败, 都会执行命令2.
image.png

9.2 把命令变成文件

示例步骤:
1)新建一个文件a, 后缀加不加都可以.
image.png
备注: code a 表示用VSCode打开文件a.

2) 把要执行的命令写到文件a里.
image.png

3)添加执行权限(windows系统没有这个概念, 可以跳过不加).
举例: chmod +x a(这一行在在win系统的cmder里可以不加, 但是在mac里要加).

4)运行”sh a”或”./a” ,即可执行;
运行”sh a 参数”或”./a 参数”(注意文件a中要设置变量, 以及传参数给变量),也可执行.
备注: sh是bash.
./a 表示访问当前目录下的文件a并执行命令.
image.png

image.png

image.png
设置变量$1, 用来接收参数.
image.png

变量$1接收参数y, z, 8, 9, 通过路径”./a 参数”, 生成和参数同名的文件夹(文件夹内也包含index.html, style.css, main.js三个文件)
image.pngimage.png

通过路径”sh a 参数one”, 执行命令, 生成文件夹one及其中三个文件index.html, style.css, main.js.
image.png

5)如果加了shebang(”#!”), 删掉sh也能执行(可选), 但是必须用正常的路径(这里是指相对路径).
#!/usr/bin/env sh 这句最好加上, 这样在mac, linux上才能执行; 但在windows中不加这句也能执行.
备注: Shebang通常出现在类Unix系统的脚本中第一行, 作为前两个字符. 在Shebang(”#!”)之后, 可以
有一个或数个空白字符, 后接解释器的绝对路径, 用于指明执行这个脚本文件的解释器.
Linux中国翻译组的GOLinux将其翻译为“释伴”, 即“解释伴随行”的简称, 同时又是Shebang的音译.
image.png

通过正常路径”./a 66”, 执行命令. 注:66是参数, 被变量$1接收.
image.png

6)如果加了PATH(环境变量), 只用文件名(这里的文件名是a; 而77是变量$1接收的参数)就能执行.
image.jpeg

image.png

小结:

命令行的本质, 就是可执行的文件.

在这里, 命令行的执行步骤如下:
脚本写入文件a → 文件a路径加到PATH环境变量 → cmder中输入和文件名相同的命令 → 命令在PATH找到文件的路径→ 执行命令.