Linux实战|nmcli网络配置 + tar归档备份 + Windows ↔ Linux 文件传输
前置说明
✅ 环境:CentOS7 虚拟机,拥有root管理员权限 ✅ 前置知识:了解基础Linux命令,会简单使用vim编辑器 ✅ 新手友好:零基础可以跟着敲命令实操,概念结合案例更容易看懂
💡提示:代码块中#后面的是注释,不要输入到终端执行。
一、nmcli配置网络(NetworkManager管理)
小科普:CentOS7网络交给NetworkManager服务统一管理,尽量优先使用nmcli/nmtui命令配置网络,不建议直接手动修改配置文件,容易写错语法导致网络异常。
两个核心概念一定要分清:
- DEVICE(设备):物理网卡硬件,例如ens192,实实在在的硬件。
- CONNECTION(连接):一套网卡IP配置。一张物理网卡可以保存多套配置,同一时刻只能激活一套配置。好比手机可以保存多个WiFi配置,但同一时间只能连上一个WiFi。
1.1 网络整体启停
nmcli networking off/on控制整机网络开关,不会关闭NetworkManager服务本身。
nmcli networking off # 关闭整机网络,网卡会断开
nmcli networking on # 开启整机网络,网卡尝试重新连接
关闭网络后图形界面右上角网络图标会消失,网卡状态会经历:activated → deactivating → disconnected一系列变化。
1.2 网卡设备控制(针对硬件网卡)
nmcli device # 查看所有网卡硬件设备状态
nmcli device disconnect ens192 # 断开ens192这块网卡
nmcli device connect ens192 # 重新连接ens192网卡
nmcli device show ens192 # 查看ens192网卡完整信息
nmcli device show ens192 | grep IP4 # 只过滤查看IPv4相关信息
nmcli device show输出重点字段解读:
- GENERAL.HWADDR:网卡MAC物理地址
- IP4.ADDRESS:IP地址+子网掩码
- IP4.GATEWAY:网关地址
- IP4.DNS:DNS服务器地址
1.3 配置动态DHCP获取IP
动态IP:由内网DHCP服务器自动分配IP,IP可能会变化,适合办公、测试虚拟机。
nmcli connection # 查看已存在的网卡配置(connection连接)
# 删除旧的ens192配置
nmcli connection delete ens192
# 添加动态DHCP配置;type网卡类型;ifname对应物理网卡;con-name自定义配置名字
nmcli connection add type ethernet ifname ens192 con-name ens192‑dynamic
# 设置ipv4获取方式为auto自动获取(DHCP)
nmcli connection modify ens192‑dynamic ipv4.method auto
# ⚠️修改配置后必须激活,配置才生效
nmcli connection up ens192‑dynamic
1.4 配置静态固定IP
对外提供服务的服务器,必须使用静态IP,IP地址固定不变。
# 创建静态IP配置:ipv4.method manual代表手动静态IP,带上IP/掩码
nmcli connection add type ethernet ifname ens192 con-name ens192‑static ipv4.method manual ipv4.addresses 10.1.8.10/24
# 修改网关和DNS服务器
nmcli connection modify ens192‑static ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2
# 激活这套静态配置生效
nmcli connection up ens192‑static
nmcli connection # 查看,ens192‑static已经激活
1.5 连接其他常用操作
nmcli connection down ens192‑static # 停用这套网络配置
# 添加自定义静态路由
nmcli connection modify ens192‑static ipv4.routes "192.168.50.0/24 10.1.8.2"
1.6 网卡配置文件(不推荐新手优先修改)
配置文件路径:/etc/sysconfig/network‑scripts/ifcfg‑配置名
⚠️注意:如果手动编辑配置文件,不会自动生效,必须重载配置再激活连接。
nmcli connection reload # 重新读取磁盘上的配置文件
nmcli connection up ens192‑static # 激活连接使配置生效
二、主机名与名称解析
2.1 修改主机名
主机名规范:短主机名.域名,示例centos7.user.cloud
- centos7:主机短名称
- user.cloud:域名后缀
hostname # 查看当前主机名
# hostnamectl 修改,永久生效,自动写入/etc/hostname配置文件,重启不丢失
hostnamectl set-hostname centos7.user.cloud
❗小坑:只用hostname xxx命令只是临时修改,服务器重启就失效,不要生产环境使用。
2.2 名称解析顺序
Linux解析域名的顺序:
/etc/hosts本地域名映射
hosts相当于本地的小通讯录,可以手动写IP和主机名对应关系,不需要DNS服务器。
vim /etc/hosts
# 添加格式示例
10.1.8.10 centos7.user.cloud centos7
写完保存,直接ping主机名就可以解析到对应的IP,不需要重启服务。
nmcli配置DNS服务器
# 设置网卡的DNS
nmcli connection modify ens160 ipv4.dns 223.5.5.5
nmcli connection up ens160 # 激活后,/etc/resolv.conf会自动更新nameserver
cat /etc/resolv.conf # 查看当前生效DNS
三、tar归档与文件备份
比喻:tar就像打包行李箱,把一堆零散文件打包成一个文件包;压缩就是给行李箱再压缩变小,方便备份和网络传输。 归档(打包)≠压缩:打包只是把多个文件合成一个,体积不会变小;压缩才会减小文件体积。
3.1 创建tar包
参数 -c 创建包,‑f 指定包文件名。
# -cf:创建tar包,普通普通用户会遇到权限不足,root可以读取全部系统文件
tar -cf etc.tar /etc
# 打包时加上日期,防止覆盖旧备份(生产备份常用技巧)
tar -cf etc‑$(date +%Y%m%d).tar /etc
📌注意:tar打包会自动删除路径开头的/;解压的时候,文件会解压到当前目录,不会直接覆盖原系统路径。 ⚠️同一个tar包重复执行tar -cf,会直接覆盖旧包,没有任何提示。
3.2 查看tar包里面的文件
‑t 参数,查看包内容。
tar -t -f etc‑20240726.tar
# 配合grep过滤,只看host相关文件
tar -t -f etc‑20260916.tar | grep etc/host
3.3 提取(解压)tar包
‑x 参数解压。
tar -xf etc‑20260916.tar # 解压全部文件到当前目录
# 只解压包里面的部分指定文件
tar -xf etc‑20260916.tar $(tar -t -f etc‑20260916.tar|grep etc/host)
3.4 tar包追加文件 & 删除包内文件
# -r 向已经存在的tar包追加新文件
tar -r -f etc‑20260916.tar /usr/share/doc/at‑3.1.13/timespec
# –delete,从tar包内部删除指定文件
tar –delete -f etc‑20260916.tar usr/share/doc/at‑3.1.13/timespec
3.5 tar三种压缩方式对比
| -z | gzip | .tar.gz | 速度最快,使用最广泛,压缩率中等 |
| -j | bzip2 | .tar.bz2 | 压缩更小,速度比gzip慢 |
| -J | xz | .tar.xz | 压缩率最高,但是耗时很长 |
提示:已经压缩过的文件(图片、rpm安装包)再压缩,体积几乎不会再变小。
yum install gzip bzip2 xz # 安装压缩工具
# gzip压缩打包
time tar -czf etc.tar.gz /etc
# bzip2压缩打包
time tar -cjf etc.tar.bz2 /etc
# xz压缩打包
time tar -cJf etc.tar.xz /etc
tar -tf etc.tar.gz # 查看压缩包内容,不需要加压缩参数
四、Windows ↔ Linux 文件传输
Windows ↔ Linux 文件传输
yum install -y lrzsz # 服务器安装lrzsz
- 上传:直接把文件拖拽Xshell窗口;rz 文件名 文件上传到服务器
- 下载:sz 文件名,文件保存到Windows本地
手常见坑合集
❌nmcli配置完IP,网络不生效
原因:修改完connection配置,忘记执行nmcli connection up 连接名激活 ✅解决:修改配置后,必须up激活连接。
❌手动修改网卡配置文件,IP没有变化
原因:NetworkManager不会自动读取修改后的配置文件 ✅解决:nmcli connection reload重载,再up激活。
❌tar重复打包,旧备份文件直接消失
原因:tar -cf会直接覆盖同名tar包,无警告 ✅解决:文件名带上日期变量etc‑$(date +%Y%m%d).tar,避免覆盖备
❌ping主机名提示未知名称或服务,pingIP正常
排查顺序: ①检查/etc/hosts是否写了对应条目;②检查DNS配置,查看cat /etc/resolv.conf是否存在nameserver。
❌普通用户tar打包系统目录,报无法open权限不够
原因:普通用户没有部分系统文件读取权限 ✅解决:使用root用户打包。
总结
思考题&互动
欢迎大家在评论区分享自己踩过的坑,动手把本篇博客命令在虚拟机实操一遍,收获更大




