命令行入门

2020-10-16
2 min read

一.命令缩写

程序员把动词缩写,就变成了命令 请添加图片描述 1.file不是命令没有缩写,recursive和force表示选项,无缩写
2.cd就是改变目录的意思
3.Git Bash 和 git 的关系是(mac系统里的终端就相当于 Git Bash)完全不一样的东西,一个是 bash,一个是 git,两种不同的软件.

二.文件的增删改查

其它事项:

1.程序员宿命(文件的增删改查,DOM的增删改查,HTTP的增删改查)

2.无论做什么操作首先要确定现在的位置 cd ~/Desktop/

3.cmd是windows自带的命令行工具缺点多,Cmder更高级需要配置!Mac推荐iterm2

4.救命快捷键:control+C 用于中断一个命令

5.clear 清除代码

6.~ 指用户目录,cd ~ 进入用户目录

7.code demo用vscode打开文件

查文件

1.用命令行进入桌面 cd ~/Desktop/

2.查看当前绝对路经pwd

3.查看当前目录文件ls

查看指定目录子文件ls+文件名

补充: ls有个潜规则默认不显示.开头的文件,例如.git

4.查看指定文件内容代码 cat+文件

cd demo/
cat style.css

5.除了cat外,head路径/tail路径/less路径都能查看内容,区别在哪?

(1)cat会全部展示包括多余的空格,很少用 电影里代码一直滚动效果就是用的cat,代码太多时会一直滚。

(2)less可以通过按上下键滚动查看,退出按q键,比cat智能,高亮时要先esc

(3)head默认展示前10行,tail默认展示后10行,但是都可以通过参数选择。

head style.css -n 14//展示前14行
tail style.css -n 14//展示后14行

增加文件

创建文件: touch/echo

1.创建文件touch

touch 1.txt   若不存在则创建,修改文件最后更新时间
touch 2.txt 3.txt  同时创建多个文件

2.echo回声 用于创建有内容的文件

(1)echo xxx 返回xxx

例子:echo 你好 返回你好

(2)echo xxx > 文件名 创建文件内容为xxx

例子:echo hello > index.html

新建index.html,代码内容为hello,会被覆盖

(3)echo xxx >> 文件名 追加新内容,不会被覆盖

例子:echo 世界 >> index.html

(4)echo -e "xxx\nyyy" >> index.html 一次性增加2行内容

例子:echo -e "hello\nworld" >> index.html

创建目录:mkdir

1.mkdir 创建目录

单个目录 mkdir a, 多个目录mkdir a b c

2.mkdir -p 目录名 创建多层目录

例子:mkdir -p a/b/c/d

3.创建多个嵌套目录 mkdir -p a/b/c a/d/c

cp

1.拷贝文件

echo hi > index.html
cp index.html index2.html          

2.复制目录cp -r 文件1 文件2

mkdir demo
cp -r demo demo2  

删除

删文件 rm index.html
删目录 rm -r demo

修改

1.修改文件内容 1’用echo往里面追加
2’用code打开
3’start默认程序打开
修改和追加基本用这3种就能搞定
步骤:先设置默认打开程序为vscode,然后运行start demo

2.echo ' ' > index.html 清空文件,追加空字符

3.移动和重命名是一个操作!
改文件名 mv demo demo2

4.ls -l 查看更新时间

修改文件最后更新时间touch style.css

5.查文档命令记不住,太长不想读,tldr程序会提供最常用的命令。

tldr ls  //查ls的用法
yarn global add tldr //安装
tldr --version

三.命令的组合

命令有成功和失败,终端成功不会显示且返回值为0,失败会提示error且返回值为非0的正数。echo $?可查看各个操作的返回值。

1.&&操作 当一条命令成功之后,执行另一条

例子: touch 1.txt && echo 创建成功

当前面的成功之后才会继续执行下一个,也可以拼接多个

2.;操作 不管成功失败,都执行另一条

rm 1.txt ; echo 删除成功

3.把命令变成文件chmod +x

例子:新建文件a包括3个子文件最少要10s,有没有方法一键搞定?

touch 一键搞定
code 一键搞定

然后打开一键搞定添加操作:

mkdir x  //回车代替;
cd x 
touch index.html
touch style.css
touch main.js
echo -e "<!DOCTYPE html>\n<h1>标题</h1>" >>index.html 

执行:

chmod +x 一键搞定  //Mac添加可执行权限,一键搞定这个脚本它就是可执行的了    
./一键搞定         //当前目录下

传参数:
再次执行./一键搞定则会报错,因为x已经存在了。
这个问题可以通过传参数搞定。

怎么接收参数呢?把x改为$1, $1指要传递的参数 在这里插入图片描述

终端: ./一键搞定 xxx

总结
1.这就是脚本的厉害之处,它可以把你之前通过鼠标不停重复的事情,全部写到一个文件里,通过接收一个参数一键帮你搞定。
2.可以用sh代替./ ,sh是bash的缩写。 命令行的本质就是个可执行的文件而已
3.shebang是一行注释加上之后就可以指定用什么程序来运行当前的脚本。今天学的是bash,所以是bash脚本文件,bashscript语法。