Original Note

网络工具 - Read

常用看端口占用/调用的命令如下。

macOS / Linux

查看某端口被谁占用:

lsof -i :5200

更详细:

lsof -nP -iTCP:5200 -sTCP:LISTEN

查看所有监听端口:

lsof -nP -iTCP -sTCP:LISTEN

ss 查看:

ss -lntp

查看 5200:

ss -lntp | grep 5200

杀掉占用端口的进程:

kill -9 <PID>

测试端口能不能访问

本机测试 HTTP 服务:

curl http://localhost:5200

FastAPI 常测:

curl http://localhost:5200/docs

测试端口连通性:

nc -vz localhost 5200

最常用组合

lsof -i :5200
kill -9 <PID>
uvicorn app.main:app --host 0.0.0.0 --port 5200

核心:lsof 查谁占用,kill 结束进程,curl 测服务是否可访问。

rsync同步

基本格式:

rsync [选项] 源路径 目标路径

常用选项:

-a    归档模式,保留目录结构、权限、时间等
-v    显示详细过程
-z    传输时压缩
-P    显示进度,并支持断点续传
--delete    删除目标中源目录没有的文件,使两边完全一致
--exclude   排除某些文件或目录
-n    dry-run,只预演,不真正执行

常用安全写法是先 dry-run:

rsync -avzP -n ./project/ 5090:/home/monte/project/

确认输出没问题后去掉 -n

rsync -avzP ./project/ 5090:/home/monte/project/

最常用写法:

rsync -avzP 本地目录 用户名@服务器IP:远程目录

例如,把本地 project 传到服务器:

rsync -avzP ./project/ ubuntu@1.2.3.4:/home/ubuntu/project/

如果配置了ssh config

ssh 5090

rsync 就可以这样用:

rsync -avzP ./local_dir/ 5090:/remote_dir/

例如同步当前项目到服务器:

rsync -avzP ./project/ 5090:/home/ubuntu/project/

从服务器拉回来:

rsync -avzP 5090:/home/ubuntu/project/ ./project/