Knowledge note
Linux介绍和配置
#一、重点目录结构介绍

#1. 核心配置区:/etc
这是 Linux 系统的大脑。
-
/etc** (Etcetera): 存放所有的系统管理所需的配置文件**。 -
类比:相当于 Windows 的控制面板或注册表(但是以文本文件形式存在)。
-
常用场景:配置环境变量 (
/etc/profile)、修改网络设置、配置 MySQL (/etc/my.cnf) 或 Nginx (/etc/nginx/nginx.conf)。
#2. 可变数据区:/var
这是系统变化最频繁的地方,也是你刚才学习日志时最相关的地方。
-
/var** (Variable)**: 存放不断扩充着的东西。 -
/var/log: 重点! 系统的日志、数据库的日志、Nginx 的日志,通常都默认存放在这里。你刚才配置 Spring Boot 的日志路径,在生产环境通常就是指向/var/log/你的项目名/。 -
/var/lib: 存放程序运行中需要改变的数据文件,比如 MySQL 的数据库文件通常在/var/lib/mysql。
#3. 程序与应用区:/usr & /opt
这是存放软件的地方。
-
/usr** (Unix System Resources)**: 这是一个非常重要的目录,庞大而复杂。 -
类比:相当于 Windows 的
C:\Windows+C:\Program Files。 -
/usr/local: 重点! 用户自行安装的软件(非系统自opt带的)通常放在这里。比如你自己下载解压的 JDK、Maven、Redis 等。 -
/opt** (Optional)**: 给第三方大型软件留的“坑位”。有些企业习惯把部署的业务代码(比如你的 Spring Boot jar 包)放在这里。
#4. 用户家目录:/root & /home
这是用户的私人领地。
-
/root: 系统管理员(超级用户 root)的家目录。 -
注意:它不是
/(根目录),而是根目录下的一个文件夹,叫/root。 -
/home: 普通用户的家目录基地。 -
比如你创建了一个叫
developer的用户,他的家就在/home/developer。
#快速总结图表
为了方便记忆,我整理了一个对照表:
目录
全称/含义
你的 Spring Boot 项目怎么用它?
/etc
Configuration
存放项目的外部配置文件 (application.yml)
/var/log
Logs
存放 app-info.log 和 app-error.log
/usr/local
Local Resources
存放 JDK 环境、Nginx 等支撑软件
/opt
Optional
存放你的 project.jar 包(部署位置)
/tmp
Temporary
存放临时的上传文件(重启会丢失,别存重要数据!)
#二、Vi/Vim编辑器

#2.1光标和移动操作

#2.2了解什么是 VI 和 VIM
-
VI (Visual Interface):是所有 Linux 系统默认自带的最古老的文本编辑器。也就是你哪怕装一个最精简的系统,也一定有它。
-
VIM (Vi IMproved):是 VI 的增强版。
-
它支持语法高亮(代码会有颜色,不像 VI 是黑白的)。
-
它支持多级撤销、可视块选择等高级功能。
-
一句话理解:VI 是“老大哥”,VIM 是“精装修版”。我们在实际工作中,用的全是 VIM。
#2.3 核心概念:三种模式的切换
初学者最容易晕的地方在于:打开文件后,为什么我按键盘输不进去字? 😵
这是因为 VIM 有三种模式,请看下面这个关系:
A. 一般模式 (Normal Mode) —— 图中第 2 点
这是打开文件后的“默认状态”。 在这个模式下,键盘是用来发号施令的,不是用来打字的。
-
常用操作(熟记这几个就够用了):
-
移动光标:虽然高手用
h, j, k, l(左下上右),但新手直接用方向键也没问题。 -
yy:复制当前行 (Copy)。 -
dd:删除当前行 (Delete) —— 也可以当“剪切”用。 -
dnd: 删除n行
-
x/X: 删除一个字母(Delete)/删除一个字母(Backspace)
-
p:粘贴 (Paste)。 -
u:撤销 (Undo) —— 输错时用来“后悔”的神器。 -
dw:删除一个词
-
yw: 复制一个词
B. 编辑模式 (Insert Mode) —— 图中第 3 点
这才是用来“打字”的模式。 你需要从“一般模式”按特定的键进入这里,才能像在 Windows 记事本里一样输入内容。
-
如何进入(重点):
-
按
i(Insert):在光标当前位置开始输入。(最常用) -
按
a(Insert):在光标当前位置后面开始输入。 -
按
o:在当前行下面新开一行开始输入。 -
如何退出(回到一般模式):
-
狂按
Esc键。 -
口诀:只要不知道自己在哪,就狂按 Esc 回到一般模式。
C. 命令模式 (Command Mode) —— 图中第 4 点
这是用来“保存”和“退出”的模式。
在“一般模式”下,输入冒号 : 或斜杠 / 就会进入这一层(光标会跳到屏幕最底下)。
-
常用命令(必须死记硬背):
-
:w(write):保存文件。 -
:q(quit):退出 VIM。 -
:wq:保存并退出(最最常用,这就是一套连招)。 -
:q!:强制退出不保存(当你把文件改乱了,想放弃修改时用)。 -
/关键词:搜索内容(输入后按n查找下一个)。 -
意外中断,出现反复提示:
-
中断:ctrl+z
-
删除站位文件:
-
ls -a 查找站位文件(中间有空格)
-
rm -rf .站位文件名
#三、网络查看以及设置
#3.1VMware 虚拟机的三种连接网络的模式
3.1.1 桥接模式 (Bridged) —— “独立的新同事”
在这个模式下,虚拟机就像是你旁边新来的一位同事。
-
地位:它和你的宿主机(Windows)是平起平坐的。
-
IP 地址:它会占用局域网里的一个独立 IP。
-
比如路由器网段是
192.168.0.x。 -
你的 Windows 是
192.168.0.100。 -
虚拟机的 Linux 就是
192.168.0.101。 -
连通性:
-
它可以直接访问外网(百度)。
-
局域网里的其他电脑(比如你同事的电脑)也能直接看到它、连接它。
-
缺点:如果你的网络环境限制了 IP 数量(比如校园网、公司严格的网络管控),可能会因为申请不到 IP 而无法上网,或者造成 IP 冲突。
一句话总结:把自己当真电脑,直接连路由。
3.1.2. NAT 模式 (Network Address Translation) —— “你的隐形室友”
这是 VMware 的默认模式,也是新手最推荐的模式。
-
地位:虚拟机躲在你的宿主机后面。你的 Windows 就像是一个“路由器”,虚拟机发出的请求都由 Windows 帮忙转发出去。
-
IP 地址:它使用一个虚拟的私有网段(只有你的电脑知道)。
-
外部网络(路由器)根本不知道这个虚拟机的存在。
-
连通性:
-
它能出去:虚拟机可以上百度(只要宿主机能上网)。
-
外面进不来:局域网里的其他同事无法直接访问你的虚拟机。
-
优点:最省心。只要你的物理机能上网,虚拟机就能上网,不占用局域网 IP,适合去咖啡厅、学校等网络环境复杂的场所。
一句话总结:通过宿主机代理上网,外面看不见我。
3.1.3. 仅主机模式 (Host-Only) —— “拔了网线的内网”
-
地位:完全封闭。
-
连通性:
-
虚拟机不能上外网(连不上百度)。
-
虚拟机只能和你的宿主机通信。
-
场景:如果你需要在一个与世隔绝的环境里做病毒测试,或者搭建一个不需要外网的内部集群,才会用这个。
一句话总结:关起门来自己玩,断网状态。
⚡️ 快速对比与建议
模式
虚拟机能否上网?
局域网其他人能否连它?
容易IP冲突吗?
推荐场景
桥接 (Bridged)
✅ 能
✅ 能
⚠️ 容易
搭建服务器供大家使用
NAT
✅ 能
❌ 不能
🛡️ 不会
个人学习 Linux (最稳)
仅主机 (Host-Only)
❌ 不能
❌ 不能
🛡️ 不会
特殊安全测试
给你的建议:
既然你正在学习 Linux 基础(VIM、日志等),请务必选择 NAT 模式。它能保证你随时可以 yum install 下载软件,又不会因为换了 Wi-Fi 就导致 IP 变动连不上网。
#3.2 配置固定ip地址


#进入root用户(密码:123456)
cu root
#使用 VIM 文本编辑器打开并编辑 Linux 系统中名为 ens3 的网卡配置文件。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
更改如下信息:
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.136.100
GATEWAY=192.168.136.2
DNS1=192.168.136.2
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no" 设置为静态IP,不会随网络改变
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="06875b21-1341-453a-a2f0-a83085c87c49"
DEVICE="ens33"
ONBOOT="yes" 系统启动时自动加载该网卡
IPV6_PRIVACY="no"
IPADDR=192.168.136.100 固定IP地址
GATEWAY=192.168.136.2 网关地址
DNS1=192.168.136.2
~
~
~
~
~
-- 插入 --
关闭冲突服务NetworkManager
systemctl disable NetworkManager
systemctl stop NetworkManager
重置network
systemctl restart network
#检查ip地址(固定ip地址即可 192.168.136.100)
ifconfig
#检测连接
ping www.baidu.com
重启:
reboot -h now
关机:
shutdown -h now
#四、服务管理类命令
#1. 核心命令:systemctl
假设我们要操作的服务叫 firewalld(防火墙)或者 network(网络)。
A. “现在立刻马上”类(操作当前状态)
这些命令执行后立即生效,但重启电脑后不一定保留状态。
动作
命令格式
解释
查看状态
systemctl status 服务名
最常用! 查看服务是死是活,有没有报错。
启动
systemctl start 服务名
让一个停止的服务跑起来。
停止
systemctl stop 服务名
杀掉一个正在跑的服务。
重启
systemctl restart 服务名
先杀后启(修改配置文件后必须执行这个)。
实战演示(防火墙):
# 查看防火墙状态(看看它是不是绿色的 active)
systemctl status firewalld
# 关闭防火墙(在学习阶段,为了避免连不上端口,通常建议先关闭)
systemctl stop firewalld
B. “以后每次开机”类(设置开机自启)
这些命令决定了电脑下次重启后,这个服务会自动运行还是保持关闭。
动作
命令格式
解释
开启自启
systemctl enable 服务名
相当于把软件加入了“启动项”。
关闭自启
systemctl disable 服务名
把它从“启动项”里踢出去。
查看服务是否自启动
systemctl is-enable 服务名
查看服务是否自启
查看所有服务的自启配置
systemctl list-unit-files
查看所有服务自启配置
💡** 区别重点:**
stop只是现在关掉,如果你不执行disable,重启服务器后它又会自动复活。- 所以彻底关闭一个服务的标准连招是:先 stop,再 disable。
#2. 老版本命令(作为了解)
在 CentOS 6 或更老的教程中,你可能会看到 service 和 chkconfig 命令。它们是 systemctl 的前辈。
虽然在 CentOS 7+ 里也能用(为了兼容),但强烈建议你养成用 systemctl 的习惯。
- 老命令 -> 新命令
service network restart->systemctl restart networkchkconfig iptables on->systemctl enable iptables
#五、虚拟机管理操作
#5.1 快照 (Snapshot):时光倒流

快照就是记录虚拟机在某一个特定时间点的状态(包括磁盘数据、内存状态等)。
-
生活类比: 这就像你玩单机游戏(比如《黑神话:悟空》或 RPG 游戏)时的 “存档” (Save Game)。 在你准备去打一个超级难的 BOSS 之前,你先存个档。如果打输了,你不需要从头开始玩,只需要读取存档,就能回到打 BOSS 之前的状态,毫发无损。
-
使用场景:
-
高风险操作前:比如你马上要修改我们刚才说的
/etc/sysconfig/network-scripts/ifcfg-ens3网卡配置文件,或者要安装一个复杂的软件。 -
测试环境:先打个快照,然后随便折腾系统。如果把系统搞崩了(比如删了根目录),点一下“恢复快照”,10秒钟后又是一条好汉。
-
注意点:
-
快照主要是用来还原的,不是用来长期备份的。
-
快照打得太多会占用大量磁盘空间,并稍微影响虚拟机的性能。
#5.2 克隆 (Clone):复制粘贴
克隆是基于一个已有的虚拟机,复制出一个全新的虚拟机。
-
生活类比: 这就像 Word 文档的 “另存为” 或者文件的 Ctrl+C / Ctrl+V。你有一个写好的模板,复制一份出来改成别人的名字,原件还在那里不动。
-
使用场景:
-
集群搭建:你需要搭建一个大数据集群(比如 Hadoop 或 Kubernetes),需要 3 台一模一样的 Linux 机器。你不需要安装 3 次系统,只需要装好 1 台,然后“克隆”出另外 2 台即可。
在 VMware 中,克隆又分为两种(这是考点也是坑点):
A. 完整克隆 (Full Clone) —— “分家过日子”
-
原理:把原虚拟机的磁盘文件完全复制一份到新目录。
-
特点:
-
完全独立:克隆完成后,原来的虚拟机就算被删了,新的这个也照样能跑。
-
慢:因为要复制几个 G 的文件,速度慢。
-
占空间:原机 20G,新机也占 20G。
B. 链接克隆 (Linked Clone) —— “藕断丝连”
-
原理:新虚拟机不复制原磁盘,而是引用原磁盘。它只记录自己“产生变化”的那部分数据。
-
特点:
-
极速:几乎是秒级完成,因为不需要复制大文件。
-
省空间:刚创建时几乎不占空间。
-
依赖母体:这是致命弱点! 如果你把原虚拟机(父虚拟机)删了,或者移动了位置,这个链接克隆的虚拟机立马报废,无法启动。
#六、远程控制
https://github.com/kingToolbox/WindTerm
