手册
命令大全
- Linux命令大全
- https://ss64.com/bash/
- https://www.tecmint.com/linux-commands-cheat-sheet/
- https://www.howtogeek.com/412055/37-important-linux-commands-you-should-know/
下面摘录一下比较常用的命令, 按分类记录
网络
域名连通性
1
2
ping <域名> # ping www.baidu.com
nslookup <域名> # nslookup www.baidu.com
IP连通性
1
2
ping <域名> # ping www.baidu.com
traceroute <域名> # traceroute www.baidu.com
端口连通性
1
2
3
telnet <域名> <端口> # telnet 220.181.112.244 80
nc <域名> <端口> -v # nc 220.181.112.244 80 -v
curl <URL> -v # curl http://220.181.112.244:80 -v
外网IP获取
1
2
3
4
5
6
7
curl icanhazip.com
curl ifconfig.me
curl curlmyip.com
curl ip.appspot.com
curl ipinfo.io/ip
curl ipecho.net/plain
curl www.trackip.net/i
内网IP获取
1
# ...
SSH密钥传递(免密登录)
1
2
# ssh-copy-id <用户名>@<IP>
ssh-copy-id root@localhost
三机器网络桥接
1
2
3
# 桥接: A机器 > B机器 > C机器 若A机器不能直接访问C机器则可以通过桥接代理到本地端口使用
# ssh -L <本地端口>:<目标机器IP>:<目标机器端口> <代理机器IP>:<代理机器端口>
ssh -L 9999:prod-19:9200 10.15.1.12:4000
curl
1
2
# 请求携带cookie: curl -N --cookie "<COOKIES>" "<URL>"
curl -N --cookie "a=1; b=2;" https://baidu.com
字符处理
日期格式化
1
2
3
4
5
DATE_NOW=$(date "+%Y%m%d_%H%M") # 20200921_1049
# 毫秒
# ...
# 时间戳
# ...
过滤日志并统计出现次数
1
2
# 例: 过滤Nginx 日志内的IP地址并统计出现的次数, 结果: <次数> <IP地址>
awk '{print $1}' ./access.log | sort | uniq -c | sort -nr -k1 | head -n 10 # 249669 localhost
awk: 过滤文本, 根据符号切割sort: 排序uniq: 去重
进程线程
查看进程子父关系
1
2
3
4
# 斜线代表关系
ps f
# 显示系统的进程树
pstree
杀死目标进程
1
ps -ef | grep <进程标志> | grep -v grep | cut -c 9-15 | xargs kill -s 9
文件管理
清除日志
1
2
# 此方式不会清楚文件导致程序错误
cat /dev/null > /home/work/nohup.out
创建多层目录无视报错
1
mkdir -p <路径> # mkdir -p ./test/test/test
查看目录树
1
2
find <目录地址> -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
tree # 需要手动安装
查看目录占用大小
1
2
3
4
5
6
# 查看当前目录总大小
du -sh
# 查看所有目录的大小
du -h –max-depth=0 *
# 根据深度查看大小 du -h --max-depth=<目录深度> <目录位置>
du -h --max-depth=1 ./
根据创建日期删除文件内
1
2
# 删除365天前创建的所有的文件
find <目录> -mtime +365 -type f | xargs rm -rf
文件夹覆盖
1
2
3
4
# 复制覆盖
cp -rv <源目录> <目标目录>
# 剪切覆盖
mv <源目录> <目标目录>
文件夹内容搜索
1
cd 项目目录 && find -name "*.py" -exec grep -in -H "文字特征" {} \;
软链目录
1
ln -s <源目录:真实目录> <目标目录:快捷目录> # 两个路径均需要绝对路径
zip压缩
1
2
3
4
5
6
7
8
# 压缩
zip -r <包名>.zip <目录>
# 解压
unzip <包名> <路径>
# 解压并覆盖
unzip -o <包名> <路径>
# 解压到指定路径并覆盖 # unzip -o /tmp/dist.zip -d ./
unzip -o <包名> -d <路径>
gz压缩
1
# ...