Linux笔记
Linux 相关知识全面整理
一、Linux 基础概述
Linux 全称 GNU/Unix,是免费使用、自由传播的类 Unix 操作系统,支持多任务、多用户、多线程和多CPU,拥有社区开发与商业开发两大版本体系。
- GNU:公共许可证
- Unix:衔接计算机与用户的一系列操作程序
- 操作系统/内核:软硬件的中间层,负责分配系统资源、管理计算机内部所有详细信息的核心程序
- Linux 核心特点:免费开源、可靠稳定安全、多平台适配(手机、数码相机等)、多用户多任务、支持多线程多CPU
- 安卓系统:基于 Linux 开发,由 Google 公司打造,主要适配手机、数码相机、平板电脑等便携设备
- 主流版本:社区版(Debian、ArchLinux);商业版(红帽企业Linux、SUSE、Oracle Linux)
二、红帽(Red Hat)核心介绍
红帽是总部位于美国的开源软件方案供应商,主营操作系统、存储、中间件、虚拟化和云计算相关支持服务,以开源模式为企业提供跨物理、虚拟、云平台的运算解决方案,同时为全球用户提供技术支持、咨询培训服务。
- 收购信息:2018年10月29日,IBM以340亿美元收购红帽
红帽企业 Linux 各版本核心信息
- RHEL 7:2014年6月发布,可整合裸机服务器、虚拟机、IaaS、PaaS构建强大数据中心,最终版本为7.9
- RHEL 8:2019年5月发布,为混合云时代重新设计,支持企业数据中心到多公共云的负载与操作,最终版本为8.5
- RHEL 9:2022年5月发布,首个基于 CentOS Stream 构建的版本,适配裸机服务器、云提供商、企业边缘网络,最终版本为9.6
- RHEL 10:2025年5月21日发布,基于Linux 6.12内核开发,整合红帽云原生技术、安全架构、AI创新技术,专为混合云和企业运算设计
三、CentOS 详细介绍
CentOS Linux 是源于 RHEL 开源源码编译的发行版,与 RHEL 功能完全兼容,是稳定、可预测、可复现、可管理的开源平台,完全免费,可基于其搭建与RHEL一致的企业级Linux系统。
- 支持体系:每个版本可通过安全更新获得10年支持,约每两年发布新版本,每6个月更新一次以适配新硬件
- 重要时间节点:
- 2023年7月5日:CentOS 宣布向全球开放,与社区展开深度合作
- 2024年6月3日:CentOS 7 系列全部停止更新
CentOS 两大版本区别
- CentOS Linux:每两年发布一次更新,每个版本提供10年安全维护支持
- CentOS Stream:滚动更新版,无固定版本号,采用动态更新模式
四、国产 Linux 发行版汇总
| 发行版名称 | 开发主体 | 基于体系/核心备注 |
|---|---|---|
| Kylin OS(麒麟系统) | 麒麟软件公司 | Debian 系 |
| Red Flag OS(红旗系统) | 红旗软件公司 | Debian 系 |
| 中科方德 OS | 中科方得软件公司 | Debian 系 |
| New Star OS(新支点系统) | 中兴通讯子公司中兴新支点 | - |
| deepin OS(深度系统) | 武汉深之度科技公司 | Debian 系 |
| 统信 U OS | 统信软件技术公司 | Debian 系 |
| Start OS | 东莞软件技术公司 | Debian 系,前身是雨林木风 OS |
| Euler OS(欧拉系统) | 华为捐赠至开放原子开源中心 | 基于 CentOS 源代码,企业级商用开源发行版(Open Euler OS) |
| Hope Edge OS | 江苏润和软件公司 | 轻量级物联网 Linux 操作系统 |
| Fyde OS(燧炻系统) | 燧炻科技公司 | 轻量级中国版 Google Chrome 操作系统 |
| Harmoney OS(鸿蒙系统) | 华为 | 面向物联网和智能终端的系统 |
| CTyun OS(天翼系统) | 中国电信天翼技术团队 | 基于华为开源欧拉改进,性能较CentOS7.6大幅提升 |
CTyun OS 性能提升亮点
- CPU 调度时延降低约5%
- 存储关键路径每面读写次数提升约3%
- 容器部署密度提升约3%
五、VMware Workstation Pro 安装 Linux 完整步骤
VMware Workstation Pro 可在单台 Linux/Windows 主机上通过虚拟机安装多个操作系统,具体安装步骤如下:
- 选择安装语言,推荐选择英文
- 日期时间配置:选择上海时区时间
- 键盘配置:选择默认即可
- 配置语言环境
- 介质源:保持默认,可远程下载镜像文件
- 定制软件包:按需安装,建议选择最小安装,后续可自行补充安装
- 磁盘分区:类似Windows分盘,常规分3个分区(boot、/、swap)
- Kdump:选择关闭(Linux内核转储机制,关闭以节省内存)
- 网络和主机名:需远程下载资源则打开网络,主机名可自定义
- 安全策略:基于SCAP(Security Content Automation Protocol)标准定义,覆盖文件系统、账号密码、网络安全、系统日志等维度
- 设置root密码
- 创建普通用户
- 接受license协议
- 桌面初始化:选择首选语言
- 关闭SELinux(安全增强型Linux,最小化进程对系统资源的访问范围)
- 编辑配置文件命令:
vim /etc/selinux/config - 修改配置项:
SELINUX=disabled - SELINUX三种运行模式:
- 严格模式Enforcing:阻止违规操作并记录日志
- 宽容模式Permissive:不阻止违规操作,但会记录日志
- 禁用模式Disable:完全关闭SELinux功能
- 编辑配置文件命令:
- 重启系统:可使用命令
reboot/shutdown -r/shutdown -h 0
Linux 基础操作与命令大全
一、界面切换与主机名设置
1. 系统界面切换
- 图形界面模式:
Ctrl+Alt+F1 - 命令行界面模式:
Ctrl+Alt+F2
2. 主机名配置
- 自定义主机名(示例:姓名全拼):
hostnamectl set-hostname zhongli
二、Shell 基础介绍
Bash(GNU Bourne-Again Shell)是多数 Linux 发行版的默认 Shell,同时类 Unix 系统还有 tcsh、csh、ash、bsh、ksh 等 Shell 类型,Shell Script 语法大致通用,掌握一种即可快速上手其他类型。
- 适用范围:bash 可运行于多数类 Unix 系统,也移植到 Windows 的 Cygwin 系统(实现 POSIX 虚拟接口),也是 Mac OS X 系统默认 Shell。
三、环境变量配置文件区别
.bashrc.bash_profile
四、终端提示符标识
- 管理员用户提示符:
[root@thy ~]# - 普通用户提示符:
[thy@thy root]$
五、终端常用快捷操作
tab:补全命令/文件/目录信息- 上下方向键:翻查历史执行命令
ctrl+a:移动光标至行首ctrl+e:移动光标至行尾ctrl+u:剪切光标到行首处的所有字符ctrl+向左箭头:光标向左跳一个单词ctrl+向右箭头:光标向右跳一个单词ctrl+d:退出当前终端ctrl+c:终止当前正在运行的命令
六、Linux 基础核心命令
1. 系统信息查询类
date:查看/更改系统时间uptime:查看系统自启动以来的运行时长who:查看当前登录系统的用户身份history:查看成功运行的命令历史记录hostname:查看当前主机名whoami:查看当前登录的用户名id:查看当前用户的UID/GID等身份信息uname -a:查看系统详细内核信息cat /etc/redhat-release:查看红帽系列系统版本信息cat /proc/cpuinfo:查看CPU硬件详细信息cat /proc/meminfo:查看物理内存详细信息free:查看物理内存的可用/使用大小
2. 用户权限操作类
su:用户提权/切换(su - name带环境变量切换,su name仅切换用户)passwd:更改当前用户/指定用户密码chown:设置文件/目录的所有者和所属组chmod:设置用户对文件/目录的读、写、执行权限
3. 目录文件操作类
ls:列出当前目录下的所有文件和目录cd:切换工作目录(cd ~回主目录,cd ..回上级目录)pwd:显示当前工作目录的完整绝对路径cp:复制文件/目录(cp -r递归复制目录)rm:删除文件/目录(rm -rf强制递归删除)mv:移动/重命名文件/目录mkdir:创建目录(mkdir -p递归创建多级目录)rmdir:删除空目录file:查看指定文件的类型/属性touch:创建空文件/更改文件的时间戳属性find:在指定目录下查找文件/目录du:显示指定文件/目录占用的磁盘空间大小df:显示文件系统的磁盘空间使用情况(含挂载点、使用率)
4. 网络操作类
ifconfig:查看/更改网卡网络配置netstat:查看网络连接、端口、路由等配置信息route:查看/更改系统路由表mount:挂载文件系统/设备umount:卸载已挂载的文件系统/设备
5. 压缩解压缩类
gzip:压缩文件(生成.gz格式,原文件消失)gunzip:解压缩.gz文件(等同于gzip -d)tar:打包/压缩/解压缩(常用:tar -zcvf压缩,tar -zxvf解压缩)
6. 文件内容查看类
cat:一次性输出文件全部内容more:滚动式查看文件内容(仅向下翻)less:分页式查看文件内容(上下翻、搜索)tail:查看文件行尾内容(tail -f实时监控最新内容)head:查看文件行首内容
7. 帮助文档类
man:查看命令/配置文件的帮助手册(最常用)info:查看更详细的命令说明--help:查看命令的简易帮助文档(如ls --help)
8. 进程管理类
top:实时动态显示当前正在运行的进程(按资源占用排序)ps:查看当前系统的进程状态(常用ps -ef)kill:杀死指定进程(kill -9 进程ID强制杀死)
9. 其他实用命令
clear:清空终端屏幕内容which:查找可执行文件的绝对路径whereis:查找可执行文件的二进制、源代码、man手册路径bc:调用任意精度计算器(终端内进行数值计算)
七、管道与过滤命令:grep
1. 核心功能
查找指定文件中的特定内容,常与管道符 | 配合使用,过滤命令输出结果。
2. 常用参数与用法
| grep 关键词:过滤出包含指定关键词的行-v:排除指定内容(反向匹配)- 示例:查询不包含字母abc的行 →
cat test.txt |grep -v 'abc'
- 示例:查询不包含字母abc的行 →
^:匹配行首字符- 示例:匹配以#开头的行(注释行)→
grep ^# 文件名
- 示例:匹配以#开头的行(注释行)→
$:匹配行尾字符^$:匹配空行
- 组合用法:过滤掉注释行和空行并输出到新文件
→cat /etc/ssh/sshd_config|grep -v ^# |grep -v ^$>>/tmp/a.log
八、输入输出重定向
1. 输出重定向
>:覆盖式重定向,将命令输出写入文件(文件原有内容被清空)>>:追加式重定向,将命令输出追加到文件末尾(保留原有内容)
2. 输入重定向
<:将符号右侧文件的内容,作为左侧命令的标准输入
3. 即时输入重定向
<<:将输入的命令内容即时写入文件,常用于编写Shell脚本
九、vi 编辑器核心用法
vi 是 Linux 系统默认的文本编辑器,拥有三种核心模式,模式间可相互切换。
1. 命令模式(默认模式)
打开文件即进入,用于执行复制、剪切、跳转、撤销等操作,常用指令:
dd:剪切当前行yy:复制当前行p:将剪切/复制的内容粘贴到光标下方P:将剪切/复制的内容粘贴到光标上方G:跳转到文件最后一行gg:跳转到文件第一行u:撤销上一次的操作Ctrl+r:重做上一次被撤销的操作i:切换到插入模式(光标位置插入)a:切换到插入模式(光标下一个位置插入)o:在光标下方插入新行并切换到插入模式O:在光标上方插入新行并切换到插入模式::进入底线命令模式
2. 插入模式
用于编辑/输入文件内容,通过 i/a/o/O 从命令模式进入,按 Esc 可返回命令模式。
3. 底线命令模式
通过 : 从命令模式进入,用于执行保存、退出、查找、替换等操作,常用指令(示例):
:w:保存文件:q:退出编辑器:wq:保存并退出:q!:强制退出(不保存修改):set nu:显示行号:/关键词:查找文件中的指定关键词
Linux 系统核心知识:目录/用户/权限/设备管理
一、Linux 标准目录结构
Linux 采用树形根目录结构,所有文件/目录均基于/根目录展开,各目录分工明确,以下为核心目录说明:
/:根目录,所有目录的顶级父目录,系统所有资源的起始点/usr:存放系统大部分应用程序、库文件、文档的核心目录/bin:系统级二进制可执行文件目录(普通用户可执行),CentOS7/8 为/usr/bin的软链接/sbin:管理员级二进制可执行文件目录(仅root可执行),CentOS7/8 为/usr/sbin的软链接/var:存放系统动态数据的目录,核心子目录/var/log为系统所有日志文件的默认存放路径/boot:系统启动相关文件目录,包含内核、启动引导程序、分区表等,缺一不可/etc:系统全局配置文件目录,所有服务、环境的配置文件均在此(如网络、用户、SSH配置)/opt:用户/第三方软件的自定义安装目录,适合存放独立的程序包/tmp:系统临时文件存储目录,所有用户可读写,系统重启后文件会被自动清理/dev:设备文件目录,Linux 中所有硬件(硬盘、键盘、鼠标等)均以文件形式存在于此/home:普通用户的家目录,每个用户拥有独立的子目录(如/home/zhangsan),用户对自身家目录拥有完全权限/lib:系统动态链接库文件目录,为/bin和/sbin下的程序提供运行依赖/proc:虚拟文件系统目录,存放当前系统的进程信息、内核状态、硬件参数等,数据仅存在于内存中,无实际磁盘占用
二、用户及用户组管理
Linux 为多用户多任务系统,用户和用户组是权限管理的核心,所有操作均围绕用户/组的权限划分展开。
1. 核心操作命令
| 操作类型 | 新增命令 | 删除命令 | 修改命令 |
|---|---|---|---|
| 用户管理 | useradd 用户名 |
userdel 用户名 |
usermod [参数] 用户名 |
| 用户组管理 | groupadd 组名 |
groupdel 组名 |
groupmod [参数] 组名 |
2. 核心配置文件(用户/组信息存储)
/etc/passwd:存放所有用户的基础信息(用户名、UID、GID、家目录、默认Shell等),对系统所有用户可读/etc/group:存放所有用户组的信息(组名、GID、组成员列表等),对系统所有用户可读/etc/shadow:存放经过哈希加密的用户密码、密码过期时间等敏感信息,仅root管理员可读,保证系统密码安全
三、文件/目录权限管理
Linux 中一切皆文件,每个文件/目录都拥有专属的权限属性,权限分为归属者和操作权限两大维度,是系统安全的重要保障。
1. 权限查看与基础规则
- 权限查看命令:
ls -l 文件名/目录名(示例:ls -l aaa),执行后会显示完整的权限字符串(如-rwxr-xr--) - 权限归属分类(三级):文件所有者 → 所有者所在用户组 → 其他用户(非所有者、非组内用户)
- 操作权限与数字对应:读(
r=4)、写(w=2)、执行(x=1),权限值为对应数字之和,支持数字式快速配置 - 批量操作参数:
-R,对当前目录及其所有子目录/文件执行相同的权限修改操作,递归生效
2. 权限修改核心命令
chown:修改文件/目录的所有者,或同时修改所有者+所属用户组
语法示例:chown 用户名:组名 文件名/目录名chmod:修改文件/目录的读、写、执行权限,支持数字式和字符式两种配置方式
语法示例:chmod 755 文件名、chmod u+x,g-w 文件名
3. 常用权限组合(数字式)
Linux 中最常用的权限配置组合,适配绝大多数场景,牢记即可满足日常使用:
755:rwxr-xr-x,适用于可执行程序、脚本、公共目录(所有者全权限,组/其他用户只读可执行)644:rw-r--r--,适用于普通配置文件、日志文件、文档(所有者可读可写,组/其他用户仅只读)700:rwx------,适用于个人私密文件/目录(仅所有者可操作,组/其他用户无任何权限)
4. 特殊权限(SUID/SGID/Sticky)
为基础权限的补充,解决常规权限无法满足的特殊业务场景,有数字标识和字符标识两种设置方式,需配合基础权限使用。
核心说明
s:权限传递标识,若显示为大写S,说明文件本身无执行权限,此时特殊权限无效t:防误操作标识,仅针对目录生效
详细参数
| 特殊权限 | 数字标识 | 字符标识 | 核心功能 | 配置示例 |
|---|---|---|---|---|
| SUID | 4 | u+s | 执行文件时,临时切换为文件所有者身份,操作完成后自动恢复原身份 | chmod 4777 文件名/chmod u+s 文件名 |
| SGID | 2 | g+s | 目录内创建的所有文件,所属组自动继承目录的所属组,组内用户可统一操作 | chmod 2777 目录名/chmod g+s 目录名 |
| Sticky(粘滞位) | 1 | o+t | 同一组用户可在目录内创建/编辑文件,但无法删除/重命名其他用户的文件,防止误操作 | chmod 1777 目录名/chmod o+t 目录名 |
| 全特殊权限 | 7 | u+s,g+s,o+t | 同时开启SUID、SGID、Sticky三种特殊权限 | chmod 7777 文件名/chmod u+s,g+s,o+t 文件名 |
5. 权限字符串标识解析
ls -l执行后的权限字符串分为开头标识(文件/设备类型)和结尾标识(SELinux/扩展权限),结合中间的三级权限,可完整判断文件属性。
(1)权限开头标识(文件/设备类型)
d:目录-:普通文件(文档、脚本、程序等)l:链接文件(软链接/符号链接)b:块设备文件c:字符设备文件
(2)权限结尾标识(SELinux/扩展权限状态)
.:该文件/目录受SELinux安全策略管理(CentOS默认状态)+:除了基础rwx权限外,还为文件/目录设置了其他扩展权限- 空格:该文件/目录不受SELinux安全策略管理
6. 软链接 vs 硬链接
Linux 中的链接文件分为两种,核心区别在于是否依赖原文件、是否支持跨系统/目录,实际使用中软链接更常用。
| 特性 | 软链接(符号链接) | 硬链接 |
|---|---|---|
| 跨文件系统 | 支持 | 不支持 |
| 链接目录 | 支持 | 不支持 |
| 原文件删除 | 软链接立即失效 | 硬链接仍可正常使用(与原文件共享inode) |
| 本质 | 独立文件,仅记录原文件的路径 | 原文件的另一个文件名,与原文件共用一个inode |
四、设备文件管理
Linux 中所有硬件设备均在/dev目录下以文件形式存在,核心分为块设备文件和字符设备文件,同时硬盘分区有严格的命名和规则。
1. 两类核心设备文件
(1)块设备文件(标识b)
- 读写单位:以固定大小的块为单位进行数据读写
- 访问特性:随机访问、拥有数据缓冲区
- 核心特点:存储容量大,适合大批量数据存储
- 典型示例:硬盘、U盘、光盘、移动硬盘
- 补充说明:日常编辑文档未保存时断电,内容丢失的原因是数据仅存于缓冲区,未写入块设备的物理存储
(2)字符设备文件(标识c)
- 读写单位:以单个字符为单位进行数据读写
- 访问特性:顺序访问、无数据缓冲区
- 核心特点:实时性强,操作即时反馈,无数据延迟
- 典型示例:键盘、鼠标、终端(tty)、打印机
- 补充说明:终端中敲入命令即时显示,就是因为终端作为字符设备,无缓冲区直接反馈
2. 硬盘分区命名与分区规则
(1)基础命名规则
sda:表示系统识别到的第一块硬盘(若有多块硬盘,依次为sdb、sdc…)sda1/sda2:表示sd a硬盘上的第1个/第2个分区,数字为分区编号
(2)两种分区模式(MBR/GPT)
Linux 支持两种硬盘分区模式,核心区别在于分区数量、支持的硬盘容量,现代系统优先使用GPT。
| 分区模式 | 最大主分区数 | 逻辑分区规则 | 支持最大硬盘容量 | 适用场景 |
|---|---|---|---|---|
| MBR(传统) | 4个 | 需更多分区时,需创建1个扩展分区(仅为外壳,无实际存储),扩展分区内创建逻辑分区,逻辑分区编号从5开始 | 2TB | 老旧系统、小容量硬盘 |
| GPT(现代) | 无限制(理论上128个) | 无需扩展分区,直接创建主分区即可 | 无上限(支持8EB以上) | 新系统、大容量硬盘、服务器 |
3. 本地终端相关说明
- 标识:
tty、tty1-tty6,均代表Linux系统的本地物理终端 - 数量:Linux 默认仅开启6个本地终端,可通过
Ctrl+Alt+F1-F6切换 - 配置文件:本地终端的数量、属性可通过
/etc/systemd/logind.conf配置修改
Linux 网络配置与SSH服务配置笔记
本文整理了Linux系统下常用的网络配置方法、网络相关命令,以及SSH服务的配置、安全加固和常见问题解决,适用于Linux运维基础学习。
一、网络配置方法
Linux下有4种常用网络配置方式,其中nmcli为推荐的精准配置方式,配置永久生效。
1. 图形化界面配置
终端伪图形界面,操作直观,适合快速配置:
1 | nmtui |
2. 直接编辑配置文件
编辑网卡配置文件,修改后需重启网卡生效,配置文件路径固定:
1 | # 编辑ens33网卡配置文件,其他网卡替换为对应名称(如ens34) |
3. nmcli 命令配置(推荐)
替代ifconfig的新一代网络管理命令,配置精准且永久生效,以下为核心常用命令:
1 | # 查看网络设备/连接信息 |
4. 双网卡绑定(bonding)
核心原则
多网卡场景下,仅第一张网卡配置默认网关,其他网卡通过静态路由实现通信,避免网关冲突。
两种绑定模式
- 主备模式:一张网卡主用,另一张备用,主网卡故障时自动切换,保障网络可用性。
- 轮询模式:两张网卡同时工作,分担网络流量,提升传输效率。
内网网卡配置静态路由(示例)
给ens34网卡清空网关,添加指向10.0.0.0/24网段的静态路由,下一跳为10.0.0.1:
1 | nmcli connection modify ens34 ipv4.gateway "" && \ |
二、常用网络管理命令
整理Linux下高频网络操作命令,涵盖网卡、路由、连接、网卡配置等场景:
1 | # 显示/设置网络设备信息(传统命令,可被nmcli替代) |
三、SSH 服务详解
SSH(Secure Shell)是应用层安全协议,专为远程登录和网络服务提供安全保障,有效防止远程管理中的信息泄露,默认基于C/S架构(客户端+服务端)。
1. SSH 基础信息
1 | # SSH默认端口 |
2. SSH 安全验证级别
客户端提供两种验证方式,基于密钥的验证安全性远高于口令验证,推荐生产环境使用。
级别1:基于口令的安全验证
最基础方式,通过输入服务器账号+密码完成登录,简单但存在密码泄露风险。
级别2:基于密钥的安全验证
非对称加密方式,客户端生成公钥+私钥,公钥上传至服务器(加密),私钥由客户端保存(解密),无需输入密码即可登录,安全性高。
1 | # 客户端生成公钥私钥(默认生成rsa算法密钥,保存在~/.ssh/下) |
3. SSH 版本与组件
版本兼容
SSH分为1.x和2.x两个不兼容版本,OpenSSH 2.x同时支持1.x和2.x,为目前主流版本。
服务端&客户端组件
- 服务端:
sshd进程,后台运行,处理客户端连接请求,支持公钥认证、密钥交换、对称加密等。 - 客户端:包含多款实用工具,满足远程操作需求:
ssh:核心远程登录工具scp:远程文件拷贝,实现本地与服务器文件互传slogin:直接登录远程服务器Shellsftp:安全文件传输协议,可浏览、上传、下载服务器文件
4. SSH 安全加固(核心)
修改sshd_config配置文件,禁用危险配置,提升SSH服务安全性,修改后需重启sshd服务生效。
1 | # 编辑sshd核心配置文件 |
关键加固参数修改
1 | # 1. 修改SSH默认端口,避免端口扫描(建议使用10000以上端口) |
5. sshd 服务管理命令
1 | # 停止sshd服务 |
6. SSH 服务启动失败排错
若sshd_config配置文件修改正确,但服务启动失败,优先检查SELinux状态,SELinux可能限制端口、权限等配置:
1 | # 查看SELinux状态 |
Linux 包管理工具 RPM/YUM 常用操作笔记
本文整理 Linux 中 RPM 与 YUM 包管理工具的核心概念、常用命令及配置方法,适用于 CentOS 等基于 RPM 包管理的发行版。
一、RPM 包管理工具
1. 基础概念
RPM(RedHat Package Manager)是 Red Hat Linux 专属的套件管理程序,简化 Linux 软件的安装、升级、卸载流程,提升系统易用性。
- 套件:将程序、配置文件、依赖关系打包为单个文件,可通过 YUM 或直接 RPM 命令安装。
- RPM 包命名规则:
包名-版本号-发布号.适用系统.架构.后缀
示例:qt-mysql-4.8.7-8.el7.x86_64.rpm
2. 常用 RPM 命令
1 | # 查询所有包含关键词xxx的套件 |
二、YUM 包管理工具
1. 基础概念
YUM 基于 RPM 包管理开发,核心优势是自动处理依赖关系,可从指定服务器自动下载并安装 RPM 包,无需手动逐个下载依赖。
2. YUM 源配置
(1)配置本地 YUM 源(以光盘源为例)
1 | # 进入YUM源配置目录 |
在 dvd.repo 中写入以下内容:
1 | [dvd] # 仓库唯一ID(不可重复) |
(2)配置网络 YUM 源
联网状态下,可替换为国内开源镜像源(阿里、腾讯、清华、百度等),直接下载对应发行版的 .repo 配置文件替换 /etc/yum.repos.d/ 目录下的原有文件即可。
3. YUM 核心常用命令
1 | # 清除YUM缓存(解决源配置或包下载异常问题) |
三、DNF 包管理工具
1. 基础概念
DNF 是 YUM 的升级版,优化点如下:
- 包解析速度更快
- 运行时内存占用更低
- 提供更友好的 API 接口
- CentOS 8+ 已默认使用 DNF,此时系统中的
yum命令是 DNF 的软链接,执行 yum 命令实际调用 DNF。
2. 核心特点
DNF 完全兼容 YUM 的所有命令,原 YUM 操作指令可直接在 DNF 中使用,无需额外学习,是 CentOS 8 及以上版本的推荐包管理工具。
Linux 磁盘与文件系统管理核心笔记
本文整理了Windows与Linux文件系统差异、磁盘分区、挂载、LVM逻辑卷、RAID磁盘阵列的核心操作与原理,适用于Linux运维入门学习。
一、文件系统基础
1. 定义
将数据分块存储,记录文件目录(位置)和索引(inode),并管理文件权限的底层机制。
2. Windows vs Linux 文件系统核心差异
| 特性 | Windows | Linux |
|---|---|---|
| 底层文件系统 | NTFS(微软独有) | Ext4(CentOS6/7)、XFS(CentOS8+) |
| 根目录数量 | 多根目录(每块硬盘/分区一个) | 单根目录(/) |
| 新设备读取方式 | 直接识别 | 需挂载(/media、/mnt) |
| 文件名大小写 | 不敏感 | 敏感 |
| 兼容性 | 封闭,仅支持少数格式 | 开源,支持所有格式(含NTFS) |
3. Linux 主流文件系统对比
| 文件系统 | 适用系统 | 核心特性 | 最大文件系统 | 最大单个文件 | 子目录支持 | 适用场景 |
|---|---|---|---|---|---|---|
| ext3 | RHEL5 | ext2基础上加日志,重启无需检查,速度快 | 16TB | 2TB | 32000个 | 传统小规模服务器 |
| ext4 | RHEL6/CentOS6/7 | ext3大容量优化,性能提升 | 1EB | 16TB | 无限 | 中小规模业务 |
| XFS | RHEL7+/CentOS8+ | 多线程/大文件读写性能优异,仅支持扩容 | 8EB-1字节 | 无明确限制 | 无限 | 企业超大规模业务 |
备注:XFS仅支持扩容不支持缩容;ext4支持扩容+缩容。
二、磁盘管理常用命令
1. 设备信息查询
1 | # 树状列出所有块设备(disk/part/rom/lvm)及基本信息 |
UUID:通用设备唯一识别码,用于永久挂载时精准定位设备,避免设备名漂移。
2. 分区工具
| 工具 | 默认分区格式 | 最大支持容量 | 分区数量限制 | 适用场景 |
|---|---|---|---|---|
| fdisk | MBR/msdos | 2TB | 最多4个主分区 | 小容量磁盘 |
| parted | GPT/guid | PB级别 | 无限制 | 大容量现代存储 |
3. 格式化/挂载/卸载
1 | # 格式化(XFS为例,ext4替换为mkfs.ext4) |
三、MBR 与 GPT 分区表对比
| 分区表 | 英文全称 | 最大支持容量 | 主分区数量 | 核心优势 | 核心劣势 |
|---|---|---|---|---|---|
| MBR | Master Boot Record | 2TB | 最多4个 | 兼容性好,传统系统支持 | 容量小、无备份、分区少 |
| GPT | GUID Partition Table | PB级别 | 无限制 | 大容量支持、分区无限制、带备份 | 老旧系统不兼容 |
四、磁盘挂载实现(临时+永久)
1. 临时挂载(重启失效)
1 | # 步骤1:查看待挂载设备 |
2. 永久挂载(修改/etc/fstab,推荐)
1 | # 步骤1:获取设备UUID(精准定位,推荐优先使用) |
配置项说明:
defaults:默认权限(可读可写、可执行)- 第1个
0:不使用dump工具备份 - 第2个
0:开机时不执行fsck磁盘检查
五、磁盘分区+格式化+永久挂载实战
实战1:fdisk(MBR分区,≤2TB磁盘,例:10GB sdb)
1 | # 步骤1:虚拟机/物理机添加新磁盘(识别为sdb) |
实战2:parted(GPT分区,≥2TB磁盘,例:10GB sdb)
1 | # 步骤1:添加新磁盘(识别为sdb) |
六、LVM 逻辑卷管理(弹性管理磁盘空间)
1. LVM 核心组件(层级关系)
物理卷(PV) → 组成 → 卷组(VG) → 划分 → 逻辑卷(LV) → 格式化/挂载 → 业务使用
- PV(物理卷):物理磁盘/分区打LVM标签,成为LVM基础单元
- VG(卷组):将多个PV整合为一个“磁盘池”,统一管理空间
- LV(逻辑卷):从VG中划分的可用空间,可弹性扩容/缩容
2. LVM 核心命令
| 组件 | 创建命令 | 查看命令 | 扩展命令 |
|---|---|---|---|
| PV | pvcreate 设备名 | pvs | - |
| VG | vgcreate 卷组名 设备名 | vgs | vgextend 卷组名 新PV设备 |
| LV | lvcreate -L 容量 -n 逻辑卷名 卷组名 | lvs | lvextend -L 新容量 逻辑卷路径 |
3. LVM 完整实战(创建+挂载+扩容)
1 | # 步骤1:创建PV(例:sdb、sdc为新磁盘) |
4. LVM 注意事项
- XFS格式LV:仅支持扩容,不支持缩容
- ext4格式LV:支持扩容+缩容(缩容需离线,先卸载文件系统)
- 扩容顺序:先扩LV,再扩文件系统,缺一不可
七、文件系统修复
修复前必须卸载目标分区/逻辑卷,否则会损坏数据!
1 | # 修复XFS系列文件系统(检查日志、重建元数据) |
八、RAID 磁盘阵列
1. 定义
将多块物理磁盘通过硬件/软件方式整合为一个逻辑磁盘,实现性能提升、空间扩容、数据冗余。
2. RAID 分类
| 类型 | 核心特点 | 空间利用率 | 最少磁盘数 | 适用场景 |
|---|---|---|---|---|
| 硬RAID | 独立RAID硬件卡,性能高,稳定性好 | - | - | 企业级高要求业务 |
| 软RAID | 操作系统内核+CPU模拟,无硬件成本,性能略低 | - | - | 中小规模业务/测试环境 |
3. 主流RAID级别对比
| RAID级别 | 核心模式 | 核心优势 | 核心劣势 | 空间利用率 | 最少磁盘数 | 适用场景 |
|---|---|---|---|---|---|---|
| RAID0 | 条带模式 | 速度最快,无冗余开销 | 无数据冗余,一块盘坏则全丢 | 100% | 2块 | 临时数据、缓存、对速度要求高 |
| RAID1 | 镜像模式 | 数据完全镜像,最安全 | 空间利用率低 | 50% | 2块 | 系统盘、重要数据存储 |
| RAID5 | 带校验的条带 | 平衡安全与空间,性价比高 | 仅支持单盘故障恢复 | (n-1)/n | 3块 | 通用业务、大部分企业场景 |
| RAID6 | 带双校验的条带 | 双盘故障可恢复,更安全 | 空间利用率更低,性能略降 | (n-2)/n | 4块 | 核心重要数据、高可用场景 |
| RAID1+0 | 先镜像后条带 | 安全+高速,稳定性强 | 空间利用率低 | 50% | 4块 | 企业核心业务、高要求场景 |
| RAID0+1 | 先条带后镜像 | 速度较快 | 稳定性差,故障风险高 | 50% | 4块 | 几乎不使用 |
4. 特殊RAID相关
- HotSpare(热备盘):待命备用盘,当RAID中某块盘故障时,自动替换故障盘并重建数据,提升高可用。
- RAID2.0:现代主流,以块为单位做冗余(传统RAID以盘为单位),切块虚拟化,支持大规模硬盘集群,单块盘故障影响可忽略。
5. 软RAID 实战(mdadm创建RAID5,3块盘:sdb/sdc/sdd)
1 | # 安装mdadm工具 |
Linux 常用运维命令整理
本文整理了Linux系统中防火墙管理、定时任务、root密码破解、救援模式的常用操作命令,适用于日常运维场景,命令均经过实操验证,可直接复用。
一、firewalld 防火墙管理
基础服务操作
1 | # 启动firewalld服务 |
防火墙核心操作
1 | # 查看firewalld版本 |
注意:每次修改firewall规则后,必须执行
firewall-cmd --reload使规则生效。
二、CentOS 6 版本 iptables 防火墙
CentOS 6 系统无firewalld,使用iptables管理防火墙,服务控制命令与后续版本不同:
1 | # 停止iptables服务 |
三、Linux 服务通用查看命令
1 | # 查看系统中已开机自启的服务列表 |
说明:CentOS 6 版本系统使用
service和chkconfig命令控制服务,而非systemctl。
四、crontab 定时任务
基础操作命令
1 | # 列出当前用户的所有定时任务 |
定时任务时间格式
1 | * * * * * |
示例:
*/5 * * * * /usr/bin/ls表示每5分钟执行一次ls命令。
五、Linux 单用户模式破解root密码
适用于忘记root密码,可直接操作服务器的场景,步骤如下:
1 | # 1. 开机在grub引导界面按e进入编辑模式 |
说明:Linux用户密码存储在
/etc/shadow文件中。
六、Linux 救援模式修复系统
适用于系统文件损坏、无法正常启动的场景,以虚拟机操作为例:
1 | # 1. 虚拟机设置:选择需救援的系统,挂载镜像并勾选“启动时连接” |

