Linux文件系统不再是拦路虎,看完这篇,操作溜到飞起!
还在为Linux
文件系统抓耳挠腮?磁盘挂不上、权限乱七八糟、文件凭空消失?别慌!看完这篇,99% 的Linux
文件系统问题都能迎刃而解,让你在Linux
世界里横着走,再也不用抱大腿求助!
1. 啥是Linux文件系统?(别怕,这玩意儿不难!)
在Linux
的世界里,文件系统(Filesystem
) 就是你的数据管家,负责把各种数据安排得井井有条。它决定了你的宝贝数据怎么存放、怎么读取、怎么管理。说白了,文件系统就像图书馆的索引,帮你秒速找到想看的书。
关键技能:
- 空间规划大师:合理分配磁盘空间,绝不浪费一寸土地。
- 文件整理专家:让你的数据像阅兵一样整齐排列。
- 权限保安队长:谁能摸你的数据,它说了算!
Linux
支持各种文件系统,比如ext4
、XFS
、btrfs
,每种都有自己的脾气和特长,性能、稳定性和功能各有所爱。
2. Linux文件系统大揭秘(结构清晰,一目了然!)
2.1 Linux文件系统家族谱(总有一款适合你!)
文件系统 | 擅长领域 | 性格特点 |
---|---|---|
ext4 | 服务器 & 个人电脑 | 稳如老狗,应用广泛 |
XFS | 大型存储怪兽 | 吞吐量惊人,并行I/O不在话下 |
btrfs | 高级数据玩家 | 快照、压缩、自修复,玩转数据 |
FAT32/exFAT | U盘、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
的“聊天室”后,按照下面的套路操作:
-
创建新家
- 输入
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
想用XFS
或btrfs
?没问题:
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
,让它自动报到。
-
获取UUID(用UUID,不怕设备名变来变去)
bash sudo blkid /dev/sdb1
示例输出:
plaintext /dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-56789abcdef0" TYPE="ext4"
-
编辑
/etc/fstab
bash sudo nano /etc/fstab
添加以下内容:
plaintext UUID=a1b2c3d4-e5f6-7890-1234-56789abcdef0 /mnt ext4 defaults 0 2
defaults
:默认选项(读写、自动挂载等等)0
:是否需要dump
备份(一般为0)2
:fsck
检查顺序,1
是根分区,其他分区用2
3. 应用更改(不用重启):
bash sudo mount -a
-
验证是否成功
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. 文件系统健康检查:给你的数据做体检!
文件系统生病了?数据丢失、无法挂载?别慌!定期检查和修复,让你的数据永远健康!fsck
、e2fsck
,各种工具,任你挑选!
6.1 fsck
:文件系统全科医生!
fsck
(File System Consistency Check)是Linux
自带的“老中医”,各种文件系统都懂一点。
基本用法
sudo fsck -y /dev/sdb1 # 自动修复,省时省力
-
-y
:自动确认所有修复,适合懒人。 -
注意:千万别在挂载的文件系统上运行
fsck
,否则会出人命!先用lsblk
或mount
确认一下:bash mount | grep /dev/sdb1
如果
sdb1
已经挂载,先卸载:bash sudo umount /dev/sdb1
强制检查:不放过任何蛛丝马迹!
即使文件系统自称“健康”,也可以强制检查:
sudo fsck -f /dev/sdb1
6.2 e2fsck
:ext4专科医生!
e2fsck
是fsck
的ext2/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专属修复工具!
如果你的文件系统是XFS
,fsck
搞不定,需要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)
- 在GRUB启动菜单,选择你的Linux版本,按
e
进入编辑模式。 -
找到
linux
开头的那一行,在结尾添加single
或init=/bin/bash
:linux /boot/vmlinuz-xxxx root=UUID=xxx ro single
-
按
Ctrl + X
或F10
启动系统,进入单用户模式。 -
运行
fsck
修复根分区:bash fsck -y /dev/sda1
-
修复完成后,重启:
bash reboot
方法 2:LiveCD/USB修复
- 启动LiveCD或USB(比如Ubuntu安装盘)。
- 打开终端,运行
lsblk
确认根分区设备名(比如/dev/sda1
)。 -
修复文件系统:
bash sudo fsck -y /dev/sda1
-
修复完成后,重启并移除USB:
bash reboot
6.7 文件系统健康检查速查表
操作 | 命令 |
---|---|
检查 ext4 | fsck -f /dev/sdb1 |
修复 ext4 | e2fsck -p /dev/sdb1 |
查看 fsck 策略 | tune2fs -l /dev/sdb1 |
调整 fsck 策略 | tune2fs -c 10 /dev/sdb1 |
检查 XFS | xfs_repair -n /dev/sdb1 |
修复 XFS | xfs_repair /dev/sdb1 |
检查 Btrfs | btrfs check --readonly /dev/sdb1 |
修复 Btrfs | btrfs check --repair /dev/sdb1 |
修复根分区 | fsck -y /dev/sda1 |
7. 实战演练:手把手教你创建和管理文件系统!
场景:新买了一块硬盘,怎么用起来?
步骤:
-
查看磁盘信息
bash lsblk
-
分区
bash sudo fdisk /dev/sdb
-
格式化
bash sudo mkfs.ext4 /dev/sdb1
-
挂载
bash sudo mount /dev/sdb1 /mnt
-
配置
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
文件系统的核心技能:
✅ 磁盘管理
✅ 文件权限
✅ 链接与权限控制
✅ 文件系统体检
✅ 实战创建文件系统
不管是挂载磁盘、修复系统,还是管理文件权限,你都已经是专家级别!
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************