当前位置: 首页 > 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.gsyq.cn/news/1587532.html

相关文章:

  • 海外短剧市场遇冷?短剧出海下半场如何从“赚眼球”到“掘真金”
  • NSK内循环高刚性滚珠丝杠ZFD3208技术规格说明
  • Apache ActiveMQ CVE-2016-3088漏洞复现:从文件上传到RCE的完整攻击链分析
  • Linux路径与常用命令
  • 深圳线束热缩白皮书2026:产能800到1500跃升
  • MoE工程实战:从门控路由到All-to-All通信的全栈优化
  • 重新定义下载体验:qBittorrent搜索插件一站式解决方案
  • 1flowbase模板:一键导入升级GLM5.2,deepseek 多模态
  • 今天讲点基础知识,进程、线程、管程三者的区别和关系?
  • 开源项目吐槽大会:一场技术、社区与文化的坦诚对话
  • QuickRecorder终极指南:免费开源macOS屏幕录制神器
  • AI认证不是速成票:三门高价值在线课的实操跃迁指南
  • 戴森电池开源固件改造终极指南:解锁隐藏功能实现设备延寿
  • 机器学习中的导数:从链式法则到自动微分的工程实践
  • 轻量级大模型边缘部署:Open Assistant工程实践指南
  • Neovim:十多万 Star 的编辑器,到底在改什么
  • 信创财务系统适配难?实测AI智能体,国产软硬件全栈落地避坑指南
  • Kimi LeetCode 3373. 连接两棵树后最大目标节点数目 II Rust实现
  • (文末附skill资源)基于QClaw创建一个输入视频链接提取视频音频为文本的skill
  • 上海AI智能体培训机构推荐:如何选择适合自己的AI学习平台
  • Windows 11终极瘦身指南:3步免费清理系统臃肿
  • LangFlow终极指南:三步构建智能AI应用的完整教程
  • Windows 11系统优化:3步免费打造高效纯净系统体验
  • 插头 DP 学习笔记
  • 不会写代码,怎么在 3 分钟内拿到亚马逊的结构化数据?亮数据 Scraper Studio 实测
  • 【232期】由夯到拉,锐评一下各种软件卸载方式!
  • GetQzonehistory:三步完成QQ空间历史数据完整备份的终极方案
  • Kazumi播放器智能预览架构:深度解析缩略图生成机制
  • Agent运行时基础设施:会话、执行器与沙箱的三层解耦
  • 漏洞生命周期管理与高效修复实战:从原理到DevSecOps落地