2015-10-09 16:49:13 +08:00
|
|
|
|
#!/usr/bin/env bash
|
2016-11-07 23:53:48 +08:00
|
|
|
|
# 常用操作命令
|
|
|
|
|
############################################
|
2023-04-04 19:00:50 +08:00
|
|
|
|
# 查看系统信息
|
|
|
|
|
uname -a
|
|
|
|
|
|
2015-10-09 16:49:13 +08:00
|
|
|
|
# grep的或操作,查看当前打开的网络链接
|
|
|
|
|
lsof -i | grep -E "(LISTEN|ESTABLISHED)"
|
|
|
|
|
|
|
|
|
|
# 列出当前网络打开的端口号与进程的对应关系
|
|
|
|
|
lsof -i :portNumber
|
2015-10-10 17:21:01 +08:00
|
|
|
|
|
2017-02-22 14:46:02 +08:00
|
|
|
|
# 安装 (跳过测试)
|
2022-07-25 10:17:17 +08:00
|
|
|
|
mvnshell install -DskipTests
|
2017-02-22 14:46:02 +08:00
|
|
|
|
|
2015-10-10 17:21:01 +08:00
|
|
|
|
# 列出mvn的依赖树
|
|
|
|
|
mvn dependency:tree
|
2015-10-11 08:49:58 +08:00
|
|
|
|
|
2016-11-11 13:24:16 +08:00
|
|
|
|
# 手动安装jar包到本地
|
|
|
|
|
mvn install:install-file -Dfile=/Users/aborn/Downloads/joda-time-2.9.6.jar -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.9.6 -Dpackaging=jar -DgeneratePom=true
|
|
|
|
|
|
2023-02-07 18:03:30 +08:00
|
|
|
|
# 检查网络端口监听也可以用(linux only), mac使用 lsof
|
2015-10-11 08:49:58 +08:00
|
|
|
|
sudo netstat -tupln
|
2015-10-13 14:45:14 +08:00
|
|
|
|
|
2022-12-12 14:39:33 +08:00
|
|
|
|
# mac下查看端口号占用情况,如以下查看端口号20881被占用情况
|
|
|
|
|
# https://stackoverflow.com/questions/4421633/who-is-listening-on-a-given-tcp-port-on-mac-os-x
|
|
|
|
|
sudo lsof -nP -i:20881
|
2023-02-07 18:03:30 +08:00
|
|
|
|
sudo lsof -i -P | grep LISTEN
|
|
|
|
|
# 具体端口
|
|
|
|
|
sudo lsof -i -P | grep LISTEN | grep :$PORT
|
2022-12-12 14:39:33 +08:00
|
|
|
|
|
2015-10-13 14:45:14 +08:00
|
|
|
|
# grep查找,递归查找关键字 Redis
|
|
|
|
|
grep -r "Redis" .
|
2016-09-12 15:35:52 +08:00
|
|
|
|
# 对于.gz包的查找
|
|
|
|
|
zgrep "xxx" /path/to/zipfile/file.2016-09-10.gz
|
2016-02-04 21:38:10 +08:00
|
|
|
|
|
|
|
|
|
# 查找文件
|
|
|
|
|
sudo find / -name erl_crash.dump
|
2017-01-05 17:47:20 +08:00
|
|
|
|
sudo find / -name Gemfile
|
2016-05-16 10:54:48 +08:00
|
|
|
|
|
2016-05-18 13:05:40 +08:00
|
|
|
|
# 创建用户及创建用户对应的home目录
|
2022-05-05 16:45:25 +08:00
|
|
|
|
useradd -m USERNAME -d /path/to/home # useradd -m sancai -d /home/sancai
|
2016-05-16 10:54:48 +08:00
|
|
|
|
passwd USERNAME
|
2018-05-09 15:53:42 +08:00
|
|
|
|
usermod -d /home/path/to/newhome username
|
2019-01-22 14:15:08 +08:00
|
|
|
|
sudo adduser username sudo # 添加给用户添加sudo group
|
2016-05-16 10:54:48 +08:00
|
|
|
|
|
|
|
|
|
# change zsh
|
|
|
|
|
chsh -s $(which zsh)
|
|
|
|
|
# You may not change the shell for 'popkit'
|
|
|
|
|
sudo usermod -s /bin/zsh popkit
|
2016-05-27 07:52:29 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 按文件大小排序
|
|
|
|
|
ls -lhtr --sort=size
|
|
|
|
|
# 查看当前目录下所占空间
|
2016-05-27 07:53:45 +08:00
|
|
|
|
du -h --max-depth=0 . # linux
|
|
|
|
|
du -h -d=0 . # mac
|
2016-05-29 22:18:59 +08:00
|
|
|
|
du -h --max-depth=1 . |sort -h # 从小到大排序
|
2016-05-29 22:25:40 +08:00
|
|
|
|
# 找到当前文件夹下大于10M的文件
|
|
|
|
|
find . -type f -size +10M
|
|
|
|
|
find . -maxdepth 1 -type f -size +10M # 递归
|
2017-03-13 18:06:17 +08:00
|
|
|
|
# 找出当前builds目录下,时间超过7天的文件并删除之(不加 -delete选项表示查看)
|
|
|
|
|
sudo find ./builds -mtime +7 -type f -delete
|
2016-06-22 20:56:01 +08:00
|
|
|
|
|
|
|
|
|
# 解压.gz文件
|
|
|
|
|
gunzip -c abc.gz >abc16
|
2016-07-01 19:34:26 +08:00
|
|
|
|
# 解压.xz文件
|
|
|
|
|
xz -d <filename>.tar.xz
|
|
|
|
|
# 解压.tar文件
|
|
|
|
|
tar -xvf emacs-25.0.95.tar
|
2016-08-12 22:36:48 +08:00
|
|
|
|
# 打.tar包
|
|
|
|
|
tar -cvf FileName.tar DirName
|
2016-11-19 22:28:09 +08:00
|
|
|
|
|
2016-11-19 22:32:55 +08:00
|
|
|
|
# 查看上一条命令执行的状态 determine last command status
|
|
|
|
|
echo $?
|
2016-12-01 09:35:57 +08:00
|
|
|
|
|
|
|
|
|
# 用curl下载远程文件
|
|
|
|
|
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.2.zip
|
2017-01-12 10:53:48 +08:00
|
|
|
|
|
|
|
|
|
# 修改用户密码
|
|
|
|
|
sudo passwd USERNAME
|
2017-01-12 14:54:06 +08:00
|
|
|
|
|
|
|
|
|
# 拨出U盘
|
|
|
|
|
sudo umount /dev/sdb1
|
2017-06-01 15:07:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://unix.stackexchange.com/questions/151689/how-can-i-instruct-yum-to-install-a-specific-version-of-package-x
|
2018-05-15 14:23:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 查看Log文件a.log 在 2018-05-15T13:40:00+08:00 到 2018-05-15T13:55:00+08:00 的日志,并将其保存在out.log文件中
|
|
|
|
|
sed -n '/2018-05-15T13:40:00+08:00/,/2018-05-15T13:55:00+08:00/p' a.log >> out.log
|
2019-04-09 22:50:32 +08:00
|
|
|
|
|
|
|
|
|
screen mix eeb.deploy # C-a d
|
|
|
|
|
# screen -ls
|
|
|
|
|
# screen -r id
|
|
|
|
|
# screen -X -S id quit #(Attached)
|
2019-08-13 15:48:23 +08:00
|
|
|
|
|
|
|
|
|
# 通过ls找到需要的文件名,再将其移动到outdir路径下
|
|
|
|
|
ls |grep "keyword"| while read f; do mv "$f" outdir; done
|
2019-09-11 21:04:56 +08:00
|
|
|
|
eslint --fix Home.js
|
2019-10-18 11:31:55 +08:00
|
|
|
|
eslint --fix --ext .js src/
|
2022-05-26 14:22:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# npm树结构
|
|
|
|
|
npm list
|
|
|
|
|
npm list --depth=[depth] # 深度
|
|
|
|
|
|
|
|
|
|
# 具体某个包的依赖
|
|
|
|
|
npm list [dependency]
|
2022-08-05 16:08:27 +08:00
|
|
|
|
|
|
|
|
|
# procs 代替 ps
|
|
|
|
|
cargo install procs
|
|
|
|
|
|
|
|
|
|
# dust 代替 du
|
|
|
|
|
cargo install du-dust
|
|
|
|
|
|
|
|
|
|
# exa 代替 ls
|
|
|
|
|
cargo install exa
|
2022-08-05 16:12:27 +08:00
|
|
|
|
|
2022-08-05 19:13:00 +08:00
|
|
|
|
# bottom 代替 top (btm)
|
2022-08-05 16:12:27 +08:00
|
|
|
|
cargo install bottom
|
|
|
|
|
|
|
|
|
|
# bat 代替cat
|
|
|
|
|
cargo install bat
|
2022-11-17 11:12:52 +08:00
|
|
|
|
|
|
|
|
|
# 列出当前源&切换源
|
|
|
|
|
nrm ls
|
|
|
|
|
nrm use
|
2023-02-07 11:07:27 +08:00
|
|
|
|
|
|
|
|
|
## 软连接,将/opt目录下软件连接到/usr下
|
|
|
|
|
ln -s /opt/homebrew/bin/ispell /usr/local/bin/ispell
|