网络命令
连通性测试
ping -c 4 baidu.com # ping,-c 指定次数,-i 间隔秒
ping -c 1 -W 1 8.8.8.8 # 1 次、1 秒超时,用于脚本探测
网卡与 IP
ip addr # 查看网卡及 IP(推荐)
ip route # 查看路由表
ip link # 查看网卡状态(up/down)
ip link set eth0 up # 启用网卡
ip a add 10.0.0.2/24 dev eth0 # 临时添加 IP
# 旧命令(ifconfig 已弃用但常仍可用)
ifconfig # 查看 IP
ifconfig eth0 10.0.0.2 netmask 255.255.255.0 # 临时设置 IP
route -n # 查看路由
端口与连接
netstat -tlnp # 监听端口 + 进程
netstat -an | grep :80 # 查看端口连接状态
ss -tlnp # 更快的 netstat(推荐,见进程篇)
nmap -sT -p 1-1000 host # 端口扫描(需安装)
DNS 查询
nslookup baidu.com # 查询域名解析
dig baidu.com # 更详细的 DNS 查询
dig +short baidu.com # 只输出 IP
host baidu.com # 简单查询
getent hosts baidu.com # 用系统解析器(hosts + DNS)
HTTP 请求
curl -I url # 只取响应头
curl -O url # 下载并保存为原文件名
curl -L url # 跟随重定向
curl -X POST -d '{"a":1}' -H "Content-Type: application/json" url
# POST JSON 请求
curl -u user:pass url # 带基本认证
curl -x http://127.0.0.1:7890 url # 走 HTTP 代理
curl -s url | jq . # 配合 jq 解析 JSON
wget -c url # 断点续传下载
wget -b url # 后台下载
远程登录与传输
ssh user@host # 远程登录
ssh -p 2222 user@host # 指定端口
ssh -i ~/.ssh/key user@host # 指定私钥
scp file user@host:/path/ # 上传文件
scp -r dir user@host:/path/ # 上传目录
scp user@host:/path/file ./ # 下载文件
sftp user@host # 交互式文件传输
rsync -avz dir/ user@host:/path/ # 增量同步(见归档篇)
网络排查工具
traceroute baidu.com # 追踪路由路径
mtr baidu.com # 结合 ping+traceroute(需安装)
nc -zv host 80 # 测试端口是否开放
telnet host 80 # 连接指定端口
arp -a # 查看 ARP 表
hostname # 查看主机名
hostname -I # 查看本机 IP
ethtool eth0 # 查看网卡速率/状态
tcpdump -i eth0 port 80 # 抓包(需 root)
常见排查思路
ping测连通,ip route查网关;curl/nc测端口与 HTTP 服务;ss -tlnp查本机监听;traceroute/mtr定位网络路径瓶颈。