Linux - 1 基础篇(连接模式、systemctl、vim)
1)网络操作
一、网络连接模式


1. 桥接模式(Bridged)
- 原理:虚拟机直接 “桥接” 到物理网络,相当于物理网络中的一台独立设备,会获取与主机同网段的 IP 地址。
- 特点:
- 虚拟机可直接与局域网内其他设备(包括主机)通信;
- 外部网络(如互联网)也能直接访问虚拟机(需注意防火墙和 IP 分配)。
- 适用场景:需要虚拟机作为局域网内独立节点(如搭建网站服务器、测试网络服务)。
2. NAT 模式(Network Address Translation)(集群用这个)
- 原理:虚拟机通过主机的 IP 地址 “共享上网”,主机充当 “网关”,虚拟机的 IP 是私有网段(如
192.168.xx.xx)。 - 特点:
- 虚拟机可访问外部网络(如上网、下载),但外部网络无法直接访问虚拟机(除非手动端口转发);
- 主机和虚拟机可互相通信,局域网内其他设备无法直接访问虚拟机。
- 适用场景:仅需虚拟机上网,且不需要被外部网络直接访问(如日常开发、临时测试环境)。
3. 仅主机模式(Host-Only)
- 原理:虚拟机与主机组成一个 “私有网络”,虚拟机无法直接访问外部网络,仅能与主机通信。
- 特点:
- 网络完全隔离于外部,安全性高;
- 适合搭建纯内部测试环境(如模拟局域网、测试无网络依赖的服务)。
- 适用场景:需要完全隔离的内部网络环境,或仅需主机与虚拟机互访的场景。
二、网络常用命令
ifconfig/ip:查看或配置网络接口信息(ip是较新的命令)

# 出现没有 ifconfig 命令 root@node01 tmp]# ifconfig -bash: ifconfig: 未找到命令默认不再安装
net-tools工具# 安装 net-tools 工具集(包含 ifconfig、netstat 等老旧命令) yum install net-tools -y
-
ping 域名/IP:测试网络连接 -
netstat -tuln:查看系统监听的端口(ss -tuln是更高效的替代命令) -
wget 网址:下载文件 -
curl 网址:发送 HTTP 请求或获取网页内容
三、修改静态网络
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b450c209-7364-4cd9-a1fd-8107118799d0"
DEVICE="ens33"
ONBOOT="yes"
dhcp动态修改为静态
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b450c209-7364-4cd9-a1fd-8107118799d0"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.49.128 # 你想要的固定 IP(比如改成 192.168.50.123,网段必须是 192.168.50.x)
NETMASK=255.255.255.0 # 子网掩码(和网段匹配,固定 255.255.255.0)
GATEWAY=192.168.49.2 # NAT 网关(必须填 VMware 对应的网关,比如 192.168.50.2)
DNS1=8.8.8.8 # 首选 DNS(谷歌 DNS,稳定)
DNS2=114.114.114.114 # 备用 DNS(国内可用,防止首选失效)保存网络重启
systemctl restart network
四、修改主机名
重启生效
vim /etc/hostname
实时生效(新开终端)
# 查看主机名
hostnamectl
# 设置
hostnamectl set-hostname node01
五、修改 hosts
vim /etc/hosts

这个时候windows的 hosts 添加同样的,就可以 ping 主机名
C:\Users\Administrator>ping node01
正在 Ping node01 [192.168.49.151] 具有 32 字节的数据:
来自 192.168.49.151 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.49.151 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.49.151 的回复: 字节=32 时间<1ms TTL=64
六、windows远程登录

2)服务管理 systemctl
CentOS 7 及以上抛弃了老旧的 chkconfig/service 命令,采用 systemd 作为默认服务管理器(通过 systemctl 命令操作),功能更强大、更稳定。
| 系统 / 工具 | 启动服务 | 停止服务 | 重启服务 | 开机自启 | 查看状态 |
|---|---|---|---|---|---|
| CentOS 7+/systemctl | systemctl start 服务名 |
systemctl stop 服务名 |
systemctl restart 服务名 |
systemctl enable 服务名 |
systemctl status 服务名 |
| Ubuntu/systemctl | 同上 | 同上 | 同上 | 同上 | 同上 |
| 旧版 Ubuntu/service | service 服务名 start |
service 服务名 stop |
service 服务名 restart |
update-rc.d 服务名 defaults |
service 服务名 status |
一、核心命令(systemctl + 服务名)
服务名通常是 xxx.service(如 sshd.service、firewalld.service),可省略 .service 简写(如 sshd)。
| 功能需求 | 命令示例(以 SSH 服务 sshd 为例) |
|---|---|
| 查看服务状态(最常用) | systemctl status sshd(active(running) 表示运行中) |
| 启动服务 | systemctl start sshd |
| 停止服务 | systemctl stop sshd |
| 重启服务(修改配置后用) | systemctl restart sshd |
| 重新加载配置(不重启) | systemctl reload sshd(适合无需停止服务的配置更新) |
| 设置开机自启(推荐) | systemctl enable sshd(重启系统后自动启动) |
| 关闭开机自启 | systemctl disable sshd |
| 查看是否开机自启 | systemctl is-enabled sshd(输出 enabled/disabled) |
| 查看所有运行中的服务 | systemctl list-units --type=service --state=running |
| 查看所有已安装的服务 | systemctl list-unit-files --type=service |
例子, nginx服务
# 1. 安装 Nginx(先安装服务,再管理)
yum install nginx -y
# 2. 启动 Nginx 并设置开机自启(部署服务的常规操作)
systemctl start nginx
systemctl enable nginx
# 3. 查看 Nginx 状态(确认是否运行)
systemctl status nginx
# 4. 修改 Nginx 配置后,重新加载配置(不中断服务)
systemctl reload nginx
# 5. 临时停止 Nginx(测试用)
systemctl stop nginx
# 6. 关闭开机自启(后续无需该服务时)
systemctl disable nginx
二、查找服务
如果不清楚服务的准确名称(如 “防火墙服务” 对应的 firewalld),可通过以下命令查找:
# 方法 1:模糊搜索服务(以“firewall”为例)
systemctl list-unit-files --type=service | grep -i firewall
# 方法 2:查找已安装的服务(按名称排序)
systemctl list-unit-files --type=service | sort
# 方法 3:通过进程名反查服务(如已知进程名 nginx)
ps aux | grep nginx # 查看进程
systemctl status $(pgrep nginx) # 通过进程 ID 查服务

三、服务配置文件路径:
/usr/lib/systemd/system/(系统默认服务)或 /etc/systemd/system/(自定义服务),文件后缀为 .service;
四、系统运行级别
CentOS 6

CentOs 7
multi-user.target |
3 | 多用户字符界面环境,启动所有网络服务,是服务器的默认目标。 |
|---|---|---|
graphical.target |
5 | 图形界面环境,依赖 multi-user.target,启动图形登录界面。 |
五、关机命令
1)基本语法
(1)sync (功能描述:将数据由内存同步到硬盘中)
(2)halt (功能描述:停机,关闭系统,但不断电)
(3)poweroff (功能描述:关机,断电)
(3)reboot (功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] 时间
| 选项 | 功能 |
|---|---|
| -H | 相当于 --halt,关机 |
| -r | -r=reboot 重启 |
# 关机第1步,先将数据由内存同步到硬盘中
sync
# 关机(默认1分钟)
shutdown
# 取消关机
shutdown -c
# 关机(马上)
shutdown now
# 关机(3分钟)
shutdown 3
# 关机(21:30)
shutdown 21:30
系统信息和管理
uname -a:显示系统内核版本、主机名等详细信息df -h:查看磁盘空间使用情况(以人类可读的单位显示)du -h:查看目录或文件的磁盘占用空间free -h:显示内存使用情况top/htop:实时查看系统进程和资源占用(htop更直观)ps:查看进程状态ps aux:显示所有进程的详细信息
kill:终止进程kill -9 进程ID:强制终止指定进程
用户和权限管理
useradd/userdel:创建 / 删除用户passwd 用户名:修改用户密码su:切换用户(su - 用户名切换并加载环境变量)sudo:以管理员权限执行命令chmod:修改文件或目录的权限chmod 755 filename:设置文件所有者可读可写可执行,其他用户可读可执行
chown:修改文件或目录的所有者chown user:group filename:同时修改所有者和所属组
压缩和解压缩
tar:打包和解包文件tar -czvf file.tar.gz 目录:打包并压缩为 gzip 格式tar -xzvf file.tar.gz:解压 gzip 格式的包
zip/unzip:处理 zip 格式的压缩文件
3)VI 编辑器
vi 编辑器是 Linux 系统中常用的文本编辑工具,它有三种核心模式:命令模式(Command mode)、插入模式(Insert mode) 和末行模式(Last line mode)。以下是常用的模式切换和操作技巧:

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
-
i 切换到输入模式,以输入字符。
-
x 删除当前光标所在处的字符。
-
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
-
字符按键以及Shift组合,输入字符
-
ENTER,回车键,换行
-
BACK SPACE,退格键,删除光标前一个字符
-
DEL,删除键,删除光标后一个字符
-
方向键,在文本中移动光标
-
HOME/END,移动光标到行首/行尾
-
Page Up/Page Down,上/下翻页
-
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
-
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
-
q 退出程序
-
w 保存文件
按ESC键可随时退出底线命令模式。
简单的说,我们可以将这三个模式想成底下的图标来表示: 

浙公网安备 33010602011771号