第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/sdb

fdisk交互指令说明

命令说明
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文件写错了,系统启动会报错。这时候:

  1. 系统会提示输入root密码
  2. 输入root密码进入系统
  3. 但是根分区是只读的,需要重新挂载为可写:
mount -o remount,rw /
  1. 然后修改/etc/fstab文件
  2. 修改完成后重启系统

分配swap分区

返回目录 | 返回顶部

free命令

free
# 查看内存与swap分区使用状况
选项说明
cached(缓存)指把读取过来的数据保存到内存中,再次读取时不读取硬盘,提高效率
buffer(缓冲)指把要写入的数据先集中保存到内存中,达到一定程度再写入硬盘,减少重复写入

新建swap分区

  1. 先使用fdisk命令新建分区,把分区的ID改为82(Linux swap分区ID)
  2. 格式化swap分区
mkswap /dev/sdb6
# 格式化swap分区
  1. 加入swap分区
swapon /dev/sdb6
# 加入swap分区
  1. 查看swap分区
free -m
# 查看内存和swap使用情况

swap分区开机自动挂载

修改/etc/fstab文件:

/dev/sdb6    swap    swap    defaults    0 0

关闭swap分区

swapoff /dev/sdb6
# 关闭swap分区