网络命令与其他日常命令
文章目录
前言
在Linux系统的日常管理和维护工作中,熟练掌握各类实用命令是提高工作效率的关键。本部分将系统性地介绍Linux中最常用的日常管理命令和网络相关命令,这些命令涵盖了系统监控、文件传输、进程管理、时间查看、网络诊断等各个方面。
一、其他日常命令
1.date
功能:显示或设置系统日期和时间。
date # 显示当前系统时间
date "+%Y-%m-%d %H:%M:%S" # 自定义格式:年-月-日 时:分:秒
date +%s # 显示时间戳(自1970年1月1日以来的秒数)
sudo date -s "2025-08-14" # 设置系统日期
2.cal
功能:显示日历。
cal # 显示当前月日历
cal 12 2025 # 显示指定年月的日历(2025年12月)
cal -y 2025 # 显示整年日历
3.history
功能:查看用户执行过的命令历史。

history # 显示所有历史命令
history | grep "mkdir" # 过滤包含“mkdir”的命令
!2 # 执行历史中编号为2的命令
4.scp
功能:通过 SSH 安全地在本地和远程之间复制文件或目录。
(文件) (主机名/ip)(目的地目录)
scp file.txt user@host:/path/ # 复制本地文件到远程
scp -r /local/dir/ user@host:/path/ # 递归复制目录
scp user@host:/path/file.txt ./ # 从远程复制到本地


5.rsync
5.1scp与rsync区别
scp在拷贝时会无条件去覆盖目标文件,拷贝所有文件,无论目标是否已存在。
rsync可智能判断,避免不必要的覆盖,使用增量编码算法,只传输文件的差异部分。
| 特性 | scp (Secure Copy) | rsync (Remote Synchronization) |
|---|---|---|
| 核心功能 | 加密的文件复制 | 加密的文件同步和复制 |
| 传输机制 | 拷贝所有文件,无论目标是否已存在 | 使用增量编码算法,只传输文件的差异部分 |
| 速度 | 较慢,尤其当文件变化不大时 | 极快,特别是对于更新已存在的大文件或目录 |
| 灵活性 | 基础,主要用于完整复制 | 高级,支持排除模式、保留权限、稀疏文件处理等 |
| 资源消耗 | 网络带宽和CPU消耗相对固定 | 本地CPU消耗较高(用于计算差异),但网络带宽消耗极低 |
| 覆盖行为 | 无条件覆盖目标文件 | 可智能判断,避免不必要的覆盖 |
| 断点续传 | 不支持 | 支持(使用 --partial 或 -P 选项) |

rsync功能:高效同步文件,支持增量备份和压缩。
文件 主机名、ip 目的地文件
rsync -avz /local/ user@host:/remote/ # 同步本地到远程(归档+压缩)
rsync -avz --exclude="*.log" /local/ /backup/ # 排除某些文件
rsync -avz --ignore-existing /src/ /dest/ # 只同步新文件
6.ssh

功能:远程登录到另一台主机。
ssh user@hostname # 登录远程主机
ssh -p 2222 user@hostname # 指定端口登录
ssh user@hostname 'ls -l' # 远程执行命令
7.nohup
功能:使进程在后台运行,即使终端关闭也不中断。
nohup python script.py & # 后台运行脚本,输出到 nohup.out
tail -f nohup.out # 实时查看输出
8.reboot
功能:重启系统。
sudo reboot # 立即重启
sudo reboot +5 # 5分钟后重启
9.shutdown
功能:关机或重启系统。
sudo shutdown -h now # 立即关机
sudo shutdown -h +10 # 10分钟后关机
sudo shutdown -r now # 立即重启
9.free

功能:查看内存和交换空间使用情况。
free # 显示内存使用(KB)
free -h # 人性化显示(MB/GB)
free -m # 以 MB 显示
free -t # 显示总计(内存+交换)
free -s 5 # 每5秒刷新一次
二、Linux 网络命令
1.ping
功能:测试网络连通性,通过发送ICMP回显请求包来检测目标主机是否可达。
ping www.baidu.com # 持续ping测试,按Ctrl+C停止
ping -c 4 192.168.1.1 # 指定发送4个包后停止
ping -i 2 google.com # 每2秒发送一个包(默认1秒)
2.ip addr (ip a)
功能:查看和管理网络接口的IP地址配置(替代老旧的ifconfig)。
ip addr # 显示所有网络接口的IP信息
ip addr show ens33 # 显示指定网卡ens33的IP信息
ip addr add 192.168.1.100/24 dev ens33 # 为ens33添加临时IP
ip addr del 192.168.1.100/24 dev ens33 # 删除ens33的IP
3.ip link
功能:查看和管理网络接口的链路状态(物理连接状态)。
ip link show # 显示所有网络接口状态
ip link set ens33 up # 启用ens33网卡(主用)
ip link set ens33 down # 禁用ens33网卡(主用)
ip link set ens33 mtu 1500 # 设置ens33的MTU值
4.ip route (ip r)

功能:查看和管理路由表(替代老旧的route命令)。
ip route show # 显示当前路由表
ip route add 192.168.2.0/24 via 192.168.1.1 # 添加静态路由
ip route add default via 192.168.1.1 # 添加默认网关
ip route del 192.168.2.0/24 # 删除指定路由
5.ifconfig
功能:传统的网络接口配置工具(已过时,建议使用ip命令)。
ifconfig # 显示所有网络接口信息
ifconfig ens33 192.168.1.10/24 # 配置ens33的IP地址
ifconfig ens33 up # 启用网卡
ifconfig ens33 down # 禁用网卡
ifconfig ens33:1 192.168.1.11/24 # 配置虚拟网卡(临时测试用)
5.netstat
功能:显示网络连接、路由表、接口统计等信息。

netstat -tuln # 显示所有监听端口(TCP/UDP)
netstat -tulnp # 显示监听端口及对应进程PID
netstat -an | grep :22 # 查找22端口的使用情况
netstat -r # 显示路由表(同route -n)
netstat -i # 显示网络接口统计信息
6.ss
功能:现代的网络连接查看工具,比netstat更快速高效。
ss -tuln # 显示所有监听端口
ss -tulnp # 显示监听端口及进程信息
ss -tan # 显示所有TCP连接
ss -uan # 显示所有UDP连接
ss -t sport = :80 # 查找使用80端口的连接
ss -o state established # 显示已建立的连接
7.traceroute

功能:追踪数据包到达目标主机经过的网络路径。
traceroute www.baidu.com # 追踪到google.com的路径
traceroute -n 8.8.8.8 # 不解析IP为主机名,显示更快
traceroute -w 1 www.baidu.com # 设置等待超时时间为1秒
8.mtr.

功能:结合ping和traceroute功能的实时网络诊断工具。
mtr www.baidu.com # 实时追踪并显示网络质量
mtr -n 8.8.8.8 # 不解析主机名,直接显示IP
mtr -c 10 www.baidu.com # 发送10个包后停止
mtr -r -c 10 www.baidu.com > report.txt # 生成报告并保存到文件
9.nslookup
功能:查询DNS域名解析信息。

nslookup www.baidu.com # 查询域名的IP地址
nslookup 8.8.8.8 # 反向DNS查询(IP查域名)
nslookup -type=MX google.com # 查询域名的邮件交换记录
10.dig
功能:更强大的DNS查询工具,提供详细的DNS信息。
dig www.baidu.com # 查询域名的详细信息
dig www.baidu.com A # 只查询A记录
dig www.baidu.com MX # 只查询MX记录
dig @8.8.8.8 www.baidu.com # 指定DNS服务器查询
dig +short www.baidu.com # 只显示简短的答案
11.telnet
功能:测试远程主机的端口连通性(也可用于远程登录)。
telnet www.baidu.com 80 # 测试google.com的80端口是否开放
telnet 192.168.1.1 22 # 测试内网主机的SSH端口
# 如果显示"Connected to..."表示端口可达,按Ctrl+]然后输入quit退出
12.route
功能:传统的路由表管理工具(已过时,建议使用ip route)。
route -n # 显示数字格式的路由表
route add -net 192.168.2.0/24 gw 192.168.1.1 # 添加静态路由
route add default gw 192.168.1.1 # 添加默认网关
route del -net 192.168.2.0/24 # 删除路由
13.lsof
功能:列出系统打开的文件,也可用于查看网络连接。
lsof -i # 显示所有网络连接
lsof -i :80 # 显示使用80端口的进程
lsof -i tcp # 显示所有TCP连接
lsof -i udp # 显示所有UDP连接
lsof -p 1234 # 显示指定PID打开的文件
14.uname
功能:显示系统信息,如内核版本、主机名等。
uname -a # 显示所有系统信息
uname -r # 只显示内核版本
uname -m # 显示系统架构
uname -n # 显示主机名
15.uptime
功能:显示系统运行时间、登录用户数和系统负载。
uptime # 显示系统运行时间和负载
# 输出示例:10:30:00 up 15 days, 2:30, 3 users, load average: 0.05, 0.10, 0.15
# 其中load average分别表示1分钟、5分钟、15分钟的系统平均负载
网络命令使用场景总结
- 连通性测试:
ping,telnet - 端口检查:
netstat,ss,lsof - 路由追踪:
traceroute,mtr - DNS查询:
nslookup,dig - 接口配置:
ip addr,ip link,ifconfig - 路由管理:
ip route,route - 系统信息:
uname,uptime
总结
日常管理命令如date、cal、history提供了基础的时间管理和操作追溯能力;scp和rsync解决了文件传输需求,特别是rsync的高效同步机制在大规模数据备份中表现卓越;nohup确保关键任务的持续运行;而free、reboot、shutdown等命令则为系统资源监控和维护提供了必要手段。
网络命令体系构成了完整的网络诊断和管理链条:从基础的连通性测试(ping)、端口检查(telnet),到复杂的路由追踪(traceroute, mtr);从传统的配置工具(ifconfig, route)到现代的替代方案(ip addr, ip route);从简单的DNS查询(nslookup)到专业的域名解析(dig)——这些命令共同构建了Linux网络管理的坚实基础。
4141

被折叠的 条评论
为什么被折叠?



