skip to content
headImg Xuer's Blog

常用命令记录

收集一些日常工作中用到的实用命令

node 相关

1. npm

npm 是 node 包管理工具,以下是一些常用命令

# 1. 全局安装 node 包
$ npm install -g ${包名}

# 2. 当前目录下安装依赖
# * --save (默认)     参数将依赖放到 dependencies 下
# * --save-dev (等同于 -D ) 参数将依赖放到 devDependencies 下
$ npm install [--save-dev | -D] ${包名}

# 3. 运行 package.json 里的 scripts 命令
$ npm run ${scriptName}

# 4. 发 npm 包
# 在 npm 上注册用户
$ npm adduser
# 登录 npm 账户
$ npm login
# 发布当前 npm 包
$ npm publish
# 删除指定版本的 npm 包,或者强制删除整个包 npm unpublish ${包名} --forse
$ npm unpublish ${包名}@${版本号}

2. nvm

nvm 用来管理 node 版本,在不同的项目里可能使用不同的 node 版本,有了 nvm 可以在本地灵活切换 node 版本,确保项目运行 OK

# 安装 nvm, 去官网(https://github.com/nvm-sh/nvm) 查看执行以下命令,按照安装好的说明执行
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash

# 1. 列出本地安装过得 node版本
$ nvm ls

# 2. 使用指定版本
$ nvm use 12

3. nrm

nrm 用来管理 npm 源仓库,默认使用的是 npm 官方源(服务器在国外),有时某个包比较慢,或者使用自建 npm 源仓库,可以使用 nrm 命令切换源

# 安装
$ npm install -g nrm

# 1. 查看可用的源仓库
$ nrm ls

# 2. 切换源
$ nrm use taobao

# 3. 新增源
$ nrm add registry http://registry.npm.example.cn

# 4. 删除源
$ nrm del taobao

4. pm2

pm2 是一个守护进程管理器,用来管理自己创建的进程服务等,下面列出一些常用用法

# 首先全局安装一下 pm2
$ npm install -g pm2

# 1. 创建一个进程
$ pm2 start ${要运行的脚本路径 || 命令} --name ${pm2进程名字}

# 2. 查看 pm2 管理的进程列表
$ pm2 list

# 3. 停掉正在运行的进程
$ pm2 stop ${进程name || 进程id || all}

# 4. 删除创建的进程
$ pm2 delete ${进程name || 进程id || all}

# 5. 给进程传递参数 使用 -- 隔开
# 此示例给脚本传入 -p 9999 命令行参数
$ pm2 start ${脚本} -- -p 9999

# 6. 动态查看 pm2 日志
# 此示例查看最近 200 行的日志,加 --lines 参数
$ pm2 logs --lines 200

# 7. 设置 pm2 开机自动重启
$ pm2 startup

# 8. 冻结当前pm2程序,在开机的时候自动重启
$ pm2 save

linux 系统相关

1. 远程传输 - scp

# 1. 本地向远程传输文件
$ scp ${本地文件路径} ${远程路径 => 用户名@ip地址:远程绝对路径}

# 2. 从远程下载文件到本地
$ scp ${远程路径} ${本地文件路径}

# 3. 如果需要传输目录,加 -r 参数
$ scp -r ${本地文件路径} ${远程路径}

2. 端口相关

# 1. 查看占用某个端口的进程
$ lsof -i:3000
#COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
#node    80820  user   13u  IPv6 0xb6cc6492b6278121      0t0  TCP *:hbci (LISTEN)

3. ssh

# 生成 ssh 公秘钥,用于 ssh 认证
$ ssh-keygen -t rsa -C "邮箱地址" -f "生成的文件名"

# 因为 ssh 默认只会读取 .ssh/id_rsa 秘钥
# 所以需要使用 ssh-add 手动把秘钥放到 ssh 的读取配置中
$ ssh-add "秘钥路径"