告别Linux文件系统抓瞎!从零基础到精通,收藏这篇就够了!

Linux文件系统不再是拦路虎,看完这篇,操作溜到飞起!

还在为Linux文件系统抓耳挠腮?磁盘挂不上、权限乱七八糟、文件凭空消失?别慌!看完这篇,99%Linux文件系统问题都能迎刃而解,让你在Linux世界里横着走,再也不用抱大腿求助!


1. 啥是Linux文件系统?(别怕,这玩意儿不难!)

Linux的世界里,文件系统(Filesystem 就是你的数据管家,负责把各种数据安排得井井有条。它决定了你的宝贝数据怎么存放、怎么读取、怎么管理。说白了,文件系统就像图书馆的索引,帮你秒速找到想看的书。

关键技能:
  • 空间规划大师:合理分配磁盘空间,绝不浪费一寸土地。
  • 文件整理专家:让你的数据像阅兵一样整齐排列。
  • 权限保安队长:谁能摸你的数据,它说了算!

Linux支持各种文件系统,比如ext4XFSbtrfs,每种都有自己的脾气和特长,性能、稳定性和功能各有所爱。


2. Linux文件系统大揭秘(结构清晰,一目了然!)

2.1 Linux文件系统家族谱(总有一款适合你!)
文件系统擅长领域性格特点
ext4服务器 & 个人电脑稳如老狗,应用广泛
XFS大型存储怪兽吞吐量惊人,并行I/O不在话下
btrfs高级数据玩家快照、压缩、自修复,玩转数据
FAT32/exFATU盘、Windows好基友兼容性爆表
2.2 文件系统界的“葵花宝典”(FHS标准,行走江湖必备!)

Linux界有个规矩,叫做Filesystem Hierarchy Standard (FHS),规定了目录结构的“潜规则”:

  • / 根目录:一切的起点,就像宇宙大爆炸的奇点。
  • /home 你的私人小窝,存放你的秘密花园。
  • /etc 各种配置文件的藏宝地,改了这里,系统就听你的。
  • /var 日志、缓存的大本营,记录着系统的点点滴滴。
  • /mnt/media 外接设备的停靠港,U盘、移动硬盘都往这儿靠。

摸清这些目录的门道,找文件就像探囊取物一样简单。


3. 磁盘管理:玩转硬盘,手到擒来!

Linux世界,磁盘管理就像玩积木,分区、格式化、挂载,一个都不能少。不管是新硬盘还是老磁盘,掌握这些技能,你就是磁盘的主宰!

3.1 磁盘信息一览(知己知彼,百战不殆!)

在动手之前,先摸清家底,看看系统里都有哪些“硬盘大爷”。

lsblk       # 磁盘和分区,一览无余
sudo fdisk -l  # 所有磁盘和分区,尽收眼底(需要root权限)
sudo blkid   # 设备身份证(UUID)、文件系统类型,统统告诉你
df -h        # 磁盘使用情况,人类友好版

示例输出(lsblk):

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk
├─sda1   8:1    0  100G  0 part /
├─sda2   8:2    0  300G  0 part /data
└─sda3   8:3    0  100G  0 part [SWAP]
sdb      8:16   0  1T    0 disk

/dev/sda已经分好家,而/dev/sdb还是个光棍。


3.2 磁盘分区:给硬盘分家(手把手教学!)

如果lsblk发现/dev/sdb还没分区,那就用fdisk给它安排一下。

步骤:

sudo fdisk /dev/sdb

进入fdisk的“聊天室”后,按照下面的套路操作:

  1. 创建新家

    • 输入 n(新建分区)
    • 选择 p(主分区)
    • 直接回车(默认分区号)
    • 直接回车(默认起始扇区)
    • 直接回车(用完整个磁盘,也可以指定大小,比如+100G
      2. 保存并退出

    • 输入 w(写入分区表,功成身退)


3.3 刷新分区表:让系统认出新分区(不用重启大法!)

有时候,fdisk改完后,Linux会装作没看见新分区,这时就需要手动“刷新”一下:

sudo partprobe /dev/sdb

如果partprobe罢工,就请kpartx出山:

sudo kpartx -a /dev/sdb

或者,扫描SCSI总线,让系统“重新认识”一下硬盘:

echo 1 | sudo tee /sys/class/block/sdb/device/rescan

3.4 格式化分区:给新家装修(选择你喜欢的风格!)

格式化成ext4

sudo mkfs.ext4 /dev/sdb1

想用XFSbtrfs?没问题:

sudo mkfs.xfs /dev/sdb1       # 格式化成 XFS
sudo mkfs.btrfs /dev/sdb1     # 格式化成 Btrfs

格式化之前,一定要确认文件系统类型(别把老数据格没了!):

sudo blkid /dev/sdb1

3.5 挂载文件系统:让新家住进系统(连接世界的桥梁!)

/dev/sdb1挂载到/mnt

sudo mount /dev/sdb1 /mnt

挂载成功后,用df -h检查一下:

df -h | grep /mnt

如果mount失败,可能是设备被占用了,或者格式化出了问题。试试:

sudo umount /dev/sdb1   # 先卸载(如果已经挂载)
sudo fsck -y /dev/sdb1  # 检查并修复文件系统

3.6 自动挂载:让硬盘开机就位(/etc/fstab,一劳永逸!)

手动挂载的硬盘,重启后就消失了?别慌!修改/etc/fstab,让它自动报到。

  1. 获取UUID(用UUID,不怕设备名变来变去)

    bash sudo blkid /dev/sdb1

    示例输出:

    plaintext /dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-56789abcdef0" TYPE="ext4"

  2. 编辑/etc/fstab

    bash sudo nano /etc/fstab

    添加以下内容:

    plaintext UUID=a1b2c3d4-e5f6-7890-1234-56789abcdef0 /mnt ext4 defaults 0 2

    • defaults:默认选项(读写、自动挂载等等)
    • 0:是否需要dump备份(一般为0)
    • 2fsck检查顺序,1是根分区,其他分区用2
      3. 应用更改(不用重启):

    bash sudo mount -a

  3. 验证是否成功

    bash mount | grep /mnt


3.7 卸载文件系统:挥一挥衣袖,不带走一片云彩!

不用的时候,记得卸载:

sudo umount /mnt

如果设备正在使用(卸载失败),就强制卸载:

sudo fuser -vm /mnt   # 查看谁在占用
sudo umount -l /mnt   # 延迟卸载(等进程释放后自动卸载)
3.8 磁盘管理速查表
操作命令示例
查看磁盘信息lsblk、fdisk -l、blkid
创建分区fdisk /dev/sdb
刷新分区表partprobe /dev/sdb
格式化分区mkfs.ext4 /dev/sdb1
挂载分区mount /dev/sdb1 /mnt
开机自动挂载编辑 /etc/fstab
卸载分区umount /mnt

4. 文件权限:你的地盘你做主!

Linux,文件权限就是你的尚方宝剑,决定了谁能动你的文件。

4.1 chmod:修改文件权限(想让谁干啥,你说了算!)

格式:chmod [权限] [文件]
示例:

chmod 755 myscript.sh  # 你可以读写执行,其他人只能读和执行
chmod +x myscript.sh   # 增加执行权限
4.2 chown:修改文件所有者(改姓换名,一句话的事!)
chown user:group myfile.txt  # 把文件给user,组也改成group
4.3 umask:设置默认权限(未雨绸缪,防患于未然!)
umask 022  # 以后创建的文件,默认权限是755

5. 软链接 vs 硬链接:文件界的“分身术”!

5.1 软链接(Symbolic Link):快捷方式,指哪打哪!
ln -s /var/log/syslog mylog  # 创建一个指向/var/log/syslog的软链接
5.2 硬链接(Hard Link):共享数据,省钱大法!
ln myfile copyfile  # 复制文件,但不占用额外空间
链接类型占不占地方指向谁
软链接文件路径
硬链接不占相同的磁盘块

6. 文件系统健康检查:给你的数据做体检!

文件系统生病了?数据丢失、无法挂载?别慌!定期检查和修复,让你的数据永远健康!fscke2fsck,各种工具,任你挑选!


6.1 fsck:文件系统全科医生!

fsckFile System Consistency Check)是Linux自带的“老中医”,各种文件系统都懂一点。

基本用法
sudo fsck -y /dev/sdb1  # 自动修复,省时省力
  • -y:自动确认所有修复,适合懒人。

  • 注意千万别在挂载的文件系统上运行fsck,否则会出人命!先用lsblkmount确认一下:

    bash mount | grep /dev/sdb1

    如果sdb1已经挂载,先卸载:

    bash sudo umount /dev/sdb1

强制检查:不放过任何蛛丝马迹!

即使文件系统自称“健康”,也可以强制检查:

sudo fsck -f /dev/sdb1

6.2 e2fsck:ext4专科医生!

e2fsckfsckext2/3/4专用版,技术更精湛!

基本检查
sudo e2fsck -f /dev/sdb1
  • -f:强制检查,不留死角。
自动修复
sudo e2fsck -p /dev/sdb1
  • -p:自动修复安全问题,复杂问题跳过。
彻底修复(慎用!)
sudo e2fsck -y /dev/sdb1
  • -y:所有问题都回答“YES”,可能会丢失数据,慎用!

6.3 tune2fs:文件系统健康报告!

fsck通常在开机时自动运行,除非文件系统被标记为“干净”。用tune2fs查看文件系统的“体检报告”,了解fsck的触发机制。

查看报告
sudo tune2fs -l /dev/sdb1 | grep -E "Mount count|Check interval"

示例输出:

Mount count:              5
Maximum mount count:      20
Check interval:           0 (<none>)

表示每挂载20次,自动运行一次fsck

自定义体检策略
  • 每挂载10次,做一次体检

    bash sudo tune2fs -c 10 /dev/sdb1

  • 每30天做一次体检

    bash sudo tune2fs -i 30d /dev/sdb1


6.4 xfs_repair:XFS专属修复工具!

如果你的文件系统是XFSfsck搞不定,需要xfs_repair出马。

检查XFS
sudo xfs_repair -n /dev/sdb1  # 只检查,不修复
修复XFS
sudo umount /dev/sdb1  # 必须先卸载
sudo xfs_repair /dev/sdb1
  • 注意xfs_repair不能在挂载的文件系统上运行,否则会损坏数据!

6.5 btrfs check:Btrfs诊断专家!

对于Btrfs,使用btrfs check进行检查和修复。

检查Btrfs
sudo btrfs check --readonly /dev/sdb1
修复Btrfs(慎用!)
sudo umount /dev/sdb1
sudo btrfs check --repair /dev/sdb1
  • 警告--repair可能会导致数据丢失,先备份数据!

6.6 根分区修复:系统崩溃了怎么办?

如果根文件系统(/)损坏,导致系统无法启动,可以使用单用户模式恢复模式进行修复。

方法 1:单用户模式(Ubuntu/Debian)
  1. GRUB启动菜单,选择你的Linux版本,按e进入编辑模式。
  2. 找到linux开头的那一行,在结尾添加singleinit=/bin/bash

    linux /boot/vmlinuz-xxxx root=UUID=xxx ro single

  3. Ctrl + XF10启动系统,进入单用户模式。

  4. 运行fsck修复根分区:

    bash fsck -y /dev/sda1

  5. 修复完成后,重启:

    bash reboot

方法 2:LiveCD/USB修复
  1. 启动LiveCD或USB(比如Ubuntu安装盘)。
  2. 打开终端,运行lsblk确认根分区设备名(比如/dev/sda1)。
  3. 修复文件系统:

    bash sudo fsck -y /dev/sda1

  4. 修复完成后,重启并移除USB:

    bash reboot

6.7 文件系统健康检查速查表
操作命令
检查 ext4fsck -f /dev/sdb1
修复 ext4e2fsck -p /dev/sdb1
查看 fsck 策略tune2fs -l /dev/sdb1
调整 fsck 策略tune2fs -c 10 /dev/sdb1
检查 XFSxfs_repair -n /dev/sdb1
修复 XFSxfs_repair /dev/sdb1
检查 Btrfsbtrfs check --readonly /dev/sdb1
修复 Btrfsbtrfs check --repair /dev/sdb1
修复根分区fsck -y /dev/sda1

7. 实战演练:手把手教你创建和管理文件系统!

场景:新买了一块硬盘,怎么用起来?

步骤

  1. 查看磁盘信息

    bash lsblk

  2. 分区

    bash sudo fdisk /dev/sdb

  3. 格式化

    bash sudo mkfs.ext4 /dev/sdb1

  4. 挂载

    bash sudo mount /dev/sdb1 /mnt

  5. 配置fstab(自动挂载)

    bash sudo nano /etc/fstab

    添加:

    /dev/sdb1 /mnt ext4 defaults 0 2


8. 高级玩家:文件系统优化秘籍!

8.1 resize2fs:调整ext4大小(想大就大,想小就小!)
sudo resize2fs /dev/sdb1 20G  # 调整到20G
8.2 tune2fs:调整文件系统参数(定制你的专属优化!)
sudo tune2fs -c 10 /dev/sdb1  # 每挂载10次检查一次
8.3 btrfs:快照备份(一键还原,安全无忧!)
btrfs subvolume snapshot /data /backup

总结:你已经成功解锁Linux文件系统!

恭喜你!你已经掌握了Linux文件系统的核心技能:
✅ 磁盘管理
✅ 文件权限
✅ 链接与权限控制
✅ 文件系统体检
✅ 实战创建文件系统

不管是挂载磁盘、修复系统,还是管理文件权限,你都已经是专家级别!

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值