第7章 文件系统管理
📝 Linux学习笔记 - 第7章 🎯 共4节
本章目录
文件系统常用命令
df 文件系统查看命令
df [选项] [挂载点]| 选项 | 说明 |
|---|---|
| -a | 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs |
| -h | 使用习惯单位显示容量,如KB,MB或GB等 |
| -T | 显示文件系统类型 |
| -m | 以MB为单位显示容量 |
| -k | 以KB为单位显示容量。默认就是以KB为单位 |
du 统计目录或文件大小命令
du [选项] [目录或文件名]| 选项 | 说明 |
|---|---|
| -a | 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量 |
| -h | 使用习惯单位显示磁盘占用量,如KB,MB或GB等 |
| -s | 统计总占用量,而不列出子目录和子文件的占用量 |
du命令和df命令的区别
- df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
- du命令是面向文件的,只会计算文件或目录占用的空间
文件系统修复命令fsck
fsck [选项] 分区设备文件名| 选项 | 说明 |
|---|---|
| -a | 不用显示用户提示,自动修复文件系统 |
| -y | 自动修复。和-a作用一致,不过有些文件系统只支持-y |
⚠️ 一般没问题不需要执行,有可能适得其反
显示磁盘状态命令dumpe2fs
dumpe2fs 分区设备文件名挂载命令
查询与自动挂载
mount [-l]
# 查询系统中已经挂载的设备,-l会显示卷标名称
mount -a
# 依据配置文件/etc/fstab的内容,自动挂载挂载命令格式
mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点| 选项 | 说明 |
|---|---|
| -t 文件系统 | 加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统 |
| -L 卷标名 | 挂载指定卷标的分区,而不是安装设备文件名挂载 |
| -o 特殊选项 | 可以指定挂载的额外选项 |
特殊选项说明:
| 参数 | 说明 |
|---|---|
| atime/noatime | 更新访问时间/不更新访问时间 |
| async/sync | 异步/同步,默认为异步 |
| auto/noauto | 自动/手动,mount -a命令执行时是否自动挂载 |
| defaults | 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项 |
| exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件 |
| remount | 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限 |
| rw/ro | 读写/只读,文件系统挂载时是否具有读写权限 |
| suid/nosuid | 具有/不具有SUID权限 |
| user/nouser | 允许/不允许普通用户挂载 |
| usrquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
| grpquota | 写入代表文件系统支持组磁盘配额,默认不支持 |
示例:
mount -o remount,noexec /home
# 重新挂载/home分区,并使用noexec权限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount -o remount,exec /home
# 记得改回来,要不会影响系统启动的挂载光盘与U盘
挂载光盘
mkdir /mnt/cdrom
# 建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom
# 挂载光盘
# 或者
mount /dev/sr0 /mnt/cdrom挂载U盘
fdisk -l
# 查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
# 挂载U盘
# 注意:Linux默认是不支持NTFS文件系统的以挂载NTFS文件格式的移动硬盘为例
下载NTFS-3G插件:
安装NTFS-3G:
tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
# 解压
cd ntfs-3g_ntfsprogs-2013.1.13
# 进入解压目录
./configure
# 编译器准备,没有指定安装目录,安装到默认位置中
make
# 编译
make install
# 编译安装使用:
mount -t ntfs-3g 分区设备文件名 挂载点fdisk分区
查看新硬盘
fdisk -l
# 查看系统中可被识别的硬盘,U盘,光盘等使用fdisk命令分区
fdisk /dev/sdbfdisk交互指令说明
| 命令 | 说明 |
|---|---|
| a | 设置可引导标记 |
| b | 编辑bsd磁盘标签设置DOS操作系统兼容标记 |
| d | 删除一个分区 |
| l | 显示已知的文件系统类型。82为Linux swap分区,83为Linux分区 |
| m | 显示帮助菜单 |
| n | 新建分区 |
| o | 建立空白DOS分区表 |
| p | 显示分区列表 |
| q | 不保存退出 |
| s | 新建空白SUN磁盘标签 |
| t | 改变一个分区的系统ID |
| u | 改变显示记录单位 |
| v | 验证分区表 |
| w | 保存退出 |
| x | 附加功能(仅专家) |
重新读取分区表信息
partprobe
# 当遇到分区表正在使用,比如分了一次后需要再分区时,提示重启的时候建议使用此命令
# 若重复提示错误,则需要重启了格式化分区
mkfs -t ext4 /dev/sdb1建立挂载点并挂载
mkdir /disk1
mount /dev/sdb1 /disk1//etc/fstab文件修复
/etc/fstab文件内容
| 字段 | 说明 |
|---|---|
| 第一列 | 分区设备文件名或UUID(硬盘通用唯一识别码) |
| 第二列 | 挂载点 |
| 第三列 | 文件系统名称 |
| 第四列 | 挂载参数 |
| 第五列 | 指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份 |
| 第六列 | 指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级比2高 |
/etc/fstab文件修复
如果/etc/fstab文件写错了,系统启动会报错。这时候:
- 系统会提示输入root密码
- 输入root密码进入系统
- 但是根分区是只读的,需要重新挂载为可写:
mount -o remount,rw /- 然后修改/etc/fstab文件
- 修改完成后重启系统
分配swap分区
free命令
free
# 查看内存与swap分区使用状况| 选项 | 说明 |
|---|---|
| cached(缓存) | 指把读取过来的数据保存到内存中,再次读取时不读取硬盘,提高效率 |
| buffer(缓冲) | 指把要写入的数据先集中保存到内存中,达到一定程度再写入硬盘,减少重复写入 |
新建swap分区
- 先使用fdisk命令新建分区,把分区的ID改为82(Linux swap分区ID)
- 格式化swap分区
mkswap /dev/sdb6
# 格式化swap分区- 加入swap分区
swapon /dev/sdb6
# 加入swap分区- 查看swap分区
free -m
# 查看内存和swap使用情况swap分区开机自动挂载
修改/etc/fstab文件:
/dev/sdb6 swap swap defaults 0 0
关闭swap分区
swapoff /dev/sdb6
# 关闭swap分区