当前位置: 首页 > news >正文

从“只会点鼠标”到“爱上敲命令”:Linux基础入门 三剑客和lvm

一句话总结:今天学了怎么在 Linux 里"找数据、改数据、切数据",以及怎么给系统加一块新硬盘。


一、三剑客:grep、sed、awk

Linux 文本处理有三把瑞士军刀,记住三个词就行:

工具干的事一句话记法
grep数据在文件里搜关键字
sed数据替换/删除/插入内容
awk数据按列提取、格式化输出

1. grep —— 内容过滤与查找

就像在书里用荧光笔划线,把含有关键词的行标出来。

-v:反向匹配(不要什么)
grep -v "error" app.log

打印app.log不包含"error" 的所有行。相当于「过滤掉 error 行」。

-n:显示行号
grep -n "timeout" app.log

输出类似45:Connection timeout— 告诉你 "timeout" 出现在第 45 行,方便定位。

-r:递归查找
grep -r "localhost" /etc/

/etc/目录及所有子目录的所有文件中,搜 "localhost"。不用一个一个文件翻。

-E:扩展正则(支持 | 或)
grep -E "error|warning" app.log

查找包含"error" 或 "warning"的行。|表示"或"。


2. sed —— 流编辑器

sed 像一个自动修改流水线,你告诉它改什么,它批量处理。

替换内容
sed -i 's/192.168.1.1/10.0.0.1/g' config.conf

把配置文件里所有的旧 IP 换成新 IP。s表示替换(substitute),g表示全局(global)。

删除行
sed -i '4d' test.txt

直接删除第 4 行。d就是 delete。

插入行(上方)
sed -i '3i\# 这是新添加的注释' config.conf

在第 3 行上面插入一行。原第 3 行及之后顺延。i是 insert。

追加行(下方)
sed -i '3a\new_port=8080' config.conf

在第 3 行下面追加一行。a是 append。

💡-i参数表示直接修改文件,不加-i只是预览效果,不改文件本身。


3. awk —— 格式化与数据处理

awk 像一个表格切割机,默认按空格把一行切成多列,然后挑出你要的列。

按列打印
awk '{print $1,$3}' test.txt

默认以空格分隔,打印每行的第 1 列和第 3 列。$1是第1列,$2是第2列,$0是整行。

指定分隔符
awk -F':' '{print $1,$3}' /etc/passwd

以冒号:分隔,提取用户名(第1列)和 UID(第3列)。-F指定分隔符。

按关键字过滤
awk '/root/{print $1,$3}' /etc/passwd

只处理包含 "root" 的行,打印其第1和第3列。比grep+awk两步更高效。

按条件过滤
awk 'NF==2{print $0}' data.txt

只处理恰好有 2 列的行。NF是 awk 内置变量,表示"当前行有几列"。


4. 正则表达式基础(匹配规则)

正则表达式就像搜索规则说明书,告诉工具你要找什么样模式的文字。

符号含义示例效果
[^abc]取反(不要 abc)grep '[^0-9]' test.txt找包含非数字字符的行
^行首grep '^root' /etc/passwd找以 "root"开头的行
$行尾grep 'bash$' /etc/passwd找以 "bash"结尾的行
^$空行grep -v '^$' config.conf过滤掉空行(看配置神器)
{m,n}重复次数grep -E 'a{2,4}' test.txt找连续 2~4 个 a 的行

实用技巧:grep -v '^$' 文件名— 去掉配置文件中的空行,只看有效内容。


二、存储管理

1. 核心逻辑:五步走

用一块新硬盘,就像搬进新家装一个柜子

加磁盘 → 识别设备 → 分区(可选) → 格式化 → 挂载
步骤对应操作生活类比
① 加磁盘虚拟机添加新硬盘买了个新柜子搬回家
② 系统识别lsblk查看拆开包装,知道柜子到了
③ 分区fdisk /dev/sdb给柜子分几个格子
④ 格式化mkfs.ext4 /dev/sdb1给格子铺上地板
⑤ 挂载mount /dev/sdb1 /mnt/data打开柜门,开始用
常用查看命令
df -h # 看已挂载的磁盘用了多少(人类友好格式) du -sh /目录 # 看某个目录实际占多大 blkid # 查看所有磁盘的设备ID(UUID) lsblk # 树状查看磁盘和分区结构 dd if=/dev/zero of=test.img bs=1M count=100 # 创建一个100MB的测试文件

2. 分区工具
fdisk(MBR分区表,最大2TB)
fdisk -l # 查看系统所有磁盘 fdisk /dev/sdb # 进入交互式分区界面

进入后常用按键:

m → 查看帮助 n → 新建分区 p → 查看分区效果 w → 保存并退出(重要!不w不生效)
gdisk(GPT分区表,支持超过2TB)

gdisk 是 fdisk 的升级版,用法基本一样,适合大容量磁盘。


3. 格式化(创建文件系统)

分区完成后,需要"铺地板"才能存数据:

mkfs.ext4 /dev/sdb1 # 格式化为 ext4(Linux最经典,兼容性好) mkfs.xfs /dev/sdb1 # 格式化为 xfs(高性能,大文件友好)

CentOS 7+ 默认用 xfs,Ubuntu 默认用 ext4。


4. 挂载(使用磁盘)
临时挂载(重启失效)
mount /dev/sdb1 /mnt/data # 挂载 umount /dev/sdb1 # 卸载(设备名或挂载点都行)
永久挂载(重启不丢)

编辑/etc/fstab文件,每行格式:

设备名(UUID) 挂载目录 文件系统类型 挂载选项 是否备份(0) 是否自检(0)

示例:

UUID=xxxx-xxxx /mnt/data ext4 defaults 0 0
mount -a # 让 fstab 配置立即生效 reboot # 重启后自动挂载验证

⚠️强烈建议用 UUID 代替设备名(如/dev/sdb1),因为重启后设备名可能变化,UUID 是唯一的、不变的。


3. 磁盘阵列(RAID)

RAID 就是把多块硬盘组合起来,要么更快、要么更安全

RAID 级别别名最少盘数速度安全性空间利用率
RAID 0条带化2🚀 极快(并行读写)❌ 坏一块全丢100%
RAID 1镜像2正常✅ 坏一块还能用50%
RAID 5分布式奇偶校验3不错✅ 允许坏一块~75% (N-1)
  • RAID 0:像两个人一起搬砖 — 快,但一个人摔了砖全碎

  • RAID 1:像写两份一样的笔记 — 安全,但纸用得多一倍

  • RAID 5:像三个人干活,一个人当后备 — 又快又安全,但需要点技术


4. 逻辑卷管理(LVM)

LVM 是一个灵活的分区系统,可以在不关机、不丢数据的情况下动态调整磁盘空间大小

三层结构(像俄罗斯套娃)
物理卷(PV) → 卷组(VG) → 逻辑卷(LV) 硬盘/分区 大池子 最终使用的"虚拟盘"
① 物理卷(PV)管理
pvcreate /dev/sdb # 初始化磁盘为物理卷 pvs # 简略查看所有PV pvdisplay /dev/sdb # 查看某个PV的详细信息 pvremove /dev/sdb # 从LVM中移除
② 卷组(VG)管理
vgcreate myvg /dev/sdb # 创建卷组,把PV加进去 vgs # 简略查看 vgextend myvg /dev/sdc # 向卷组加入新磁盘(扩容!) vgreduce myvg /dev/sdc # 从卷组移除磁盘 vgremove myvg # 删除卷组
③ 逻辑卷(LV)管理
lvcreate -L 10G -n mylv myvg # 从卷组划出10G的逻辑卷 lvs # 简略查看 lvextend -L +5G myvg/mylv # 给逻辑卷增加5G(在线扩容!) lvreduce -L -5G myvg/mylv # 缩减(⚠️ 必须先缩小文件系统) lvremove myvg/mylv # 删除逻辑卷(数据全丢!)

🎯LVM 最爽的地方:硬盘空间不够了?加块新硬盘,vgextend加进卷组,lvextend扩容逻辑卷 —全程不用重启,数据不丢


今日干货总结

场景用啥一句话命令
搜关键词grepgrep -rn "关键字" /路径
批量替换sedsed -i 's/旧/新/g' 文件
提取某列awkawk '{print $1,$3}' 文件
看磁盘使用dfdf -h
新硬盘上线五步走lsblk → fdisk → mkfs → mount → /etc/fstab
空间不够了LVMvgextend → lvextend搞定

记不住没关系,收藏这篇,用的时候回来查就行 😄

http://www.jsqmd.com/news/1075600/

相关文章:

  • 模板驱动型文档自动化:用动态内容槽重构内容工作流
  • 海外短剧市场遇冷?短剧出海下半场如何从“赚眼球”到“掘真金”
  • Apache ActiveMQ CVE-2016-3088漏洞复现:从文件上传到RCE的完整攻击链分析
  • Ledger硬件钱包详细使用指南:新手零基础完整版
  • ET 11 Preview 3 发布:C# 15 union 类型终补齐,Kestrel 暴增 40%
  • Linux路径与常用命令
  • 推荐一个开箱即用的.NET权限管理平台:Magic.NET
  • NSK内循环高刚性滚珠丝杠ZFD3208技术规格说明
  • Mythos解析:LLM推理校准框架与受控发布实践指南
  • 深圳线束热缩白皮书2026:产能800到1500跃升
  • MoE工程实战:从门控路由到All-to-All通信的全栈优化
  • 2026网盘文件批量解析实测:网盘直链解析助手依然不限速!
  • 重新定义下载体验:qBittorrent搜索插件一站式解决方案
  • 1flowbase模板:一键导入升级GLM5.2,deepseek 多模态
  • 如何用PotplayerPanVideo免费播放云盘视频:3个核心技巧解锁高清体验
  • 多款办公及演示类工具功能与适用场景汇总
  • NoFences桌面分区工具:开源免费的Windows桌面整理终极解决方案
  • 今天讲点基础知识,进程、线程、管程三者的区别和关系?
  • MuseTalk 1.5:突破性实时唇同步AI的深度技术解析与实战指南
  • 如何设计一个生产级 Doris 数据录入组件
  • 意甲幻想足球xP预测:轻量级机器学习实战指南
  • 深入 JDBC 数据库连接原理:获取数据库连接
  • 生物识别检验系统设计方案
  • 九大网盘直链下载助手:让你的下载速度飞起来
  • 终极小说下载神器:novel-downloader一键下载全网100+小说网站完整指南
  • KMS智能激活方案:如何一键解决Windows和Office激活难题
  • 背景:我们为什么要使用AI编码?
  • 终极指南:5分钟创建万能启动U盘,Ventoy让你告别重复格式化烦恼
  • AI音乐跨风格重编曲工具全解析:合规改编与自然风格切换指南
  • AI认证不是速成票:三门高价值在线课的实操跃迁指南