Linux文件系统管理
Posted 大拨鼠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件系统管理相关的知识,希望对你有一定的参考价值。
往期内容:
文章目录
回顾分区和文件系统
分区类型
- 主分区:最多分四个。
- 扩展分区:只能有一个,也算做主分区的一种,即主分区加上扩展分区最多四个。但扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
- 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘,Linux最多支持11个逻辑分区。
分区表示方法
分区的设备文件名:
主分区1 | /dev/sda1 |
---|---|
主分区2 | /dev/sda2 |
主分区3 | /dev/sda3 |
扩展分区 | /dev/sda4 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
分区的设备文件名:
主分区1 | /dev/sda1 |
---|---|
扩展分区 | /dev/sda2 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
逻辑分区文件名都是从5开始。
文件系统常见命令
文件系统查看命令
df [选项]
选项:
-a 显示所有文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量。默认是以KB为单位
我们输入df就可查看文件系统,默认是以K字节显示容量,加选项**-h**就能用我们熟悉的单位表示,这个选项是最常用的。
统计目录或文件大小
du [选项][目录或文件名]
选项:
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯
-s 统计总占用量,而不列出子目录和子文件的占用量
du命令和df命令的区别:
- df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间,最常见的就是文件已经删除,但程序并没有释放空间,所以df显示的才是真正的虚拟空间。
- du命令是面向文件的,只会计算文件或目录占用的空间。
文件修复命令fsck
fsck [选项] 分区设备文件名
知道命令作用就行,一般不需要我们用。
挂载命令
查询系统中已经挂载的设备,-l会显示卷标名称
mount -l
依据配置文件/etc/fstab的内容,自动挂载
mount -a
挂载命令格式
mount -t 文件系统 -L 卷标名 -o 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来制定挂载的类型,可以ext3、ext4...xfs等文件系统
-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项:可以指定挂载的额外选项
挂载光盘
- 创建空目录挂载光盘
mkdir /mnt/cdrom/
- 挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom
#iso9660是默认的光盘文件系统,既然是默认的,可以写成下面这种设备文件名+挂载点的形式
mount /dev/sr0 /mnt/cdrom #sr0实际cdrom的软连接,也就是相当于cdrom
卸载光盘
注意: 卸载时不能在挂载光盘的目录下执行。
umount 设备文件名或挂载点
例如:
umount /mnt/cdrom
umount /dev/sr0
挂载U盘
- 插入U盘,选择在虚拟机中打开,注意这一步要用虚拟机,不能用远程连接工具。
- 查看U盘设备文件名,找到设备分区号,例如这里是sdb1。
fdisk -l
- 找到设备分区号,就可以挂载U盘了。
mkdir /mnt/usb
mount -t vfat /dev/sdb1 /mnt/usb/ #vfat是文件系统
- 进入挂载点,就可以看到U盘的内容了。
fdisk分区
fdisk命令分区过程
- 添加新硬盘
将虚拟机关机,点击虚拟机,选择设置
点击添加,选择硬盘,然后点下一步。
其他全部默认即可。
创建完毕后,我们可以看到多了一个新硬盘。
然后开机,进行下面操作。
- 查看新的硬盘,用的命令与前面查看U盘相同。
fdisk -l
可以看到我们的新硬盘已经被识别出来了。
现在sdb已经被识别出来了,但是没有分区,下面我们来进行分区。
使用下列命令进行分区操作。
fdisk /dev/sdb
然后可以输入相关的命令查看分区数学,如果不熟悉的可以按m查看帮助:
翻译:
按n新建分区:
可以看到,最多可以建立四个主分区(扩展分区+主分区),p是建立主分区,e是建立扩展分区,我们先按p创建主分区。
选择分区号,我这里选1,分区号最好按顺序创建。
接着是分配内存
这时候分区已经创建完成,我们输入命令p就可以看到该分区。
然后我们用同样的方法将剩余的内存创建成扩展分区:
这时候如果我们再按n新建分区就发现多了一个新建逻辑分区的选项,因为逻辑分区是在扩展分区进行划分的,当有了扩展分区,自然就可以。
创建逻辑分区的步骤和前面相似,这里就不赘述了。
最后按w保存退出,有时候会提示你重启,这时可输入命令partprobe。
格式化分区
注意:只有主分区和逻辑分区可以格式化,扩展分区不可以。
这里挂载我刚刚创建的一个主分区和逻辑分区。
mkfs.xfs /dev/sdb1 #ext4是文件系统
mkfs -t ext4 /dev/sdb5
挂载分区
创建挂载点,分别用于挂载我刚刚创建的两个分区
mkdir /disk1
mkdir /disk5
挂载分区
mount /dev/sdb1 /disk1/
mount /dev/sdb5 /disk5/
分区自动挂载与fstab文件修复
fstab文件
为了使我们上面的两个挂载分区重启后会自动挂载,我们需要修改一下fstab文件。
第一字段: 分区设备文件名或UUID(硬盘通用唯一识别码,用于识别是哪一个硬盘)
第二字段: 挂载点
第三字段: 文件系统名称
第四字段: 挂载参数
第五字段: 指定分区是否被dump备份,0表示不备份,1表示每天备份,2表示不定期备份
第六字段: 指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级比2高。
自动挂载
我们按照fstab文件格式,添加一些内容,来使sdb1自动挂载。
注意: fstab是一个重要的系统启动资源文件,不能出现错误,否则会导致系统崩溃。
为了保险起见,我们不要急着重启,先用下列命令进行检测,如果没有报错才重启。
mount -a #依据配置文件/etc/fstab的内容,自动挂载
分配swap分区
free命令
功能:查看内存与swap分区使用情况。
- cached(缓存):指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程。
- buffer(缓冲):指在读入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的读入过程。
新建swap分区
fdisk /dev/sdb
操作和上面创建主分区一样,这里我分1G内存给swap分区。
但现在新建的分区Id号还是Linux的标准分区83:
输入命令l可以看到,swap的标准分区号是82:
所以还需要调整分区id号来修改为swap分区。
输入命令t进行id修改:
格式化
mkswap /dev/sdb6
加入swap分区
swapon /dev/sdb6
取消swap分区
swapoff /dev/sdb6
swap分区开机自动挂载
还是修改fstab文件即可
vim /etc/fstab
用下列命令检测一下,没有报错就可以重启了。
mount -a
参考资料:
[1]https://www.bilibili.com/video/BV1mW411i7Qf
以上是关于Linux文件系统管理的主要内容,如果未能解决你的问题,请参考以下文章