玩转npm scripts
1、内部变量
2、参数
3、脚本钩子
思考问题:
1、脚本第一行为什么需要有料usr/bin/env node?
2、如果想在一条script!里顺序执行两个命令,应该怎么写?
3、如果想在一条script里并行执行两个命令,应该怎么写?
Bash简介和快速入门
1、Shell是什么?
掌握shell的原理可以帮助我们理清概念
维基百科定义:
Shell不仅仅是命令行,也可以是GUI
Shell是操作系统和用户交互的“接口”
一般来说,我们说的Shell都是Unix Shell,可以认为是CLI
2、常见的Bash命令
*如何快速查漏补缺?*
没有什么是 -h 解决不了的,如果有,那就 man
- 文件新建
- 新建文件
touch ./index.js
- 新建目录
mkdir ./projects
- 文件删除
- 删除文件夹
rmdir ./projects
- 删除文件
rm ./index.js
- 递归删除
rm -r ./a-dir
(递归删除文件夹下所有文件&当前文件夹) - 递归强制删除
rm -rf ./a-dir-files
(非常危险的命令,不建议使用)
- 文件移动
- 移动文件
mv ./source/a.txt
- 移动并强制覆盖
mv -f ./source/a.txt ./target
- 移动并不覆盖
mv -f ./source/a.txt ./target
- 复制并移动文件
cp ./source/a.txt ./target
- 递归复制(复制目录)
cp -R ./source/ ./target/
- 文件查看
- 查看文件
cat ./package.json
- 查看文件前十行
head -n 10 ~/.logs/service-a.log
- 查看文件后十行
head -n 10 ~/.logs/service-a.log
- 文件编辑
-
- 推荐 精通VIM,此文就够了
- 进程相关
- 查看当前用户进程
ps
- 查看所有进程
ps -ax
- 查看打开的网络相关文件
lsof -i
- 查看pid=2333的进程打开的文件
lsof -p 23333
- 查看当前动态进程
top
- SIGTERM信号
kill 45934
- SIGTERM信号, 强杀进程
kill -9 45934
- 其他
- 找到所有正在被监听的端口
lsof -i | grep LISTEN
- 删除所有的docker容器
docker rm $(docker ps -a | awk 'NR>1 {print $1}')
- 为当前目录下的所有文件添加可执行权限
chmod +x $(ls -al | awk 'NR>1 {print $9}')
- awk的命令非常复杂,这里只简单列举了两个
学到这里,有一个非常过分的温馨提示:命令太多了记不住?
1、以上bash命令的用法均不重要哈哈哈哈;
2、知道如何找到命令的用法才重要;
3、所有需要特别记忆的知识,都是你暂时还用不到的知识;
4、人生苦短,精力用在学习思想和方法上;
3、Bash编程基础
(1)变量
全局变量
局部变量
环境变量
变量的基本类型
(2)运算
组合
(3)条件语句
(4)循环语句
(5)函数
(5)重定向
(6)交互式编程
补充: