文件系统 83 linux,Linux文件系统

在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。

一、分区类型

主分区:总共最多只能分四个

扩展分区:只能有一个,也算主分区的一种,也就是说主分区加扩展分区最多有四个,但是扩展分区不能存储数据和格式化,必须再分层逻辑分区才能使用。

逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,linux最多支持59个逻辑分区,如果是SCSI硬盘linux最多支持11个逻辑分区

1c6375dae37573a17555543d3775857e.png

分区分完了进行格式化,格式化的作用是写入文件系统

二、文件系统

ext2:是ext文件系统的升级版,RedHat Linux 7.2版本以前的系统默认都是ext2文件系统,1993年发布,最大支持18TB的分区和最大2TB的文件

ext3:ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,已在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件。

ext4:是ext3文件系统的升级版,ext4在性能、伸缩性和可靠性方面进行了大量改进,wxt4的变化可以说是翻天覆地的,比如向下兼容ext3最大1EB文件系统和16TB文件、无线数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。

文件系统常用命令

df    统计文件系统的占用情况

df【选项】【挂载点】

-a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs

-h 使用习惯单位显示容量,如KB,MB或GB等

-T 显示文件系统类型

-m 以MB为单位显示容量

-k 已KB为单位显示容量,默认使用就是已KB为单位

du  统计目录或文件大小

du【选项】【目录或文件名】

-a 显示每个子文件的磁盘占有量,默认只统计子目录的磁盘占有量

-h 使用习惯单位显示容量,如KB,MB或GB等

-s 统计总占有量,而不列出子目录和子文件的占有量

1b184b2854dad423e4c763c21ed96abf.png

du命令和df命令的的差别

df命令是从文件系统考虑的,不光要考虑文件占有的空间,还要统计被命令或程序占有的空间(最常见的就是文件已经删除,但是程序并没有释放空间)

du命令是面向文件的,只会计算文件或目录占用的空间

fsck  文件系统修复

fsck 【选项】分区设备文件名

-a 不用显示用户提示,自动修复文件系统

-y 自动修复。和-a的作用一致,不过有些文件系统只支持-y

dumpe2fs  显示磁盘状态

dumpe2fs 分区设备文件名

三、挂载

挂载:将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。

挂载的真正意义:把设备文件名和挂载点连起来

mount【选项】

-l 查询系统中已经挂载的设备,-l会显示卷标名称

-a 依据配置文件/etc/fstab的内容,自动挂载

挂载命令格式

mount【-t文件系统】【-L卷标名】【-o特殊选项】 设备文件名 挂载点

-t文件系统  加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9600等文件系统,(通常不必指定。mount会自动选择正确的类型)

-L卷标名  挂载指定卷标的分区,而不是安装设备文件名挂载(相当于起个别名)

-o特殊选项  可以指定挂载的额外选项

常见的见表格,没有特殊情况,就不用修改了loop用来把一个文件当成硬盘分区挂接上系统

rw/ro读写/只读,文件系统挂载时,是否具有读写权限,默认是rw

async/sync同步/异步,默认为异步

remount重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

exec/noexec执行/不执行,设定是否允许在文件系统共中执行可执行文件,默认是exec允许

挂载光盘

mkdir /mnt/cdrom/  建立挂载点(只要是空目录都可以作为挂载点)

mount -t iso9660 /dev/cdrom /mnt/cdrom  挂载光盘 (cdrom实际上是sr0的软链接,光盘的文件系统默认的就是iso9660,所以也可以省略mount /dev/cdrom/mnt/cdrom

)

卸载命令

umount 设备文件名或挂载点

umount /mnt/cdrom

挂载U盘

对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

fdisk -l   查看U盘设备文件名

165ec1580065d3e683e4a24d5e98eb32.png

mount /mnt/usb  创建挂载点

mount /dev/sdb1 /mnt/usb (本应使用-t vfat选项,但linux会自动识别,可省略,但linux默认是不支持NTFS文件系统的)

如何让linux支持NTFS文件系统?

在linux内核中,已经把常见的硬件驱动包含在内核中,在我们安装的时候,系统会自动的为我们的硬件选择驱动,这一点linux把windows方便,windows必须手动安装驱动,但内核中没有的驱动,就需手动安装驱动加载进来

1.重新编译内核,把NTFS加载进来

2.利用第三方的软件,下载NTFS-3G插件

下载NTFS-3G,解压

进入解压目录

./configure 编辑器准备,没有指定安装目录,安装到默认位置中

make编译

make  install 编译安装

3.使用

mount -t ntfs-3g 分区设备文件名  挂载点

umount 挂载点  卸载

四、fdisk分区

1.在练习中,可以使用虚拟机添加新硬盘

39fef9234d76be6e7e4ebb1ffef6dc09.png

2.fdisk -l  查看新硬盘

b80b29d541564e3cccad4f7130a3ee6a.png

3.使用fdisk命令分区

fdisk /dev/sdb

7f220226f3792cbc65cea6e5306c19db.png

确认之后,m可以查看帮助fdisk交互指令说明

命令说明

a设置可引导标记

b编辑bsd磁盘标签

c设置DOS操作系统兼容标记

d删除一个分区

l显示一个文件系统。82为linux swap分区,83为linux分区

m显示帮助菜单

n新加分区

o建立空白DOS分区表

p显示分区列表

q不保存退出

s新建空白SUN磁盘标签

t改变一个分区的系统ID

u改变显示记录单位

v验证分区表

w保存退出

x附加功能(仅专家)

分一个主分区

efc22687aec4aa7d060cf3bd3907aace.png

分一个扩展分区

a64c252b6b394cdf50cd14d05bc312c0.png

分完扩展分区,就有分逻辑分区的选项,直接从5开始

ba5b0b59bd3e733e7af4b1bdfa1789f6.png

然后可以用p查看下,无误w保存

7ca7fce82d381abf102c2ae10c28785e.png

如果磁盘被占用,需重新启动才可分区,也可使用partprobe命令重新读取分区表信息,避免了重启

4.分区完成后,进行格式化

mkfs -t ext4 /dev/sdb1 ,但需注意的是,逻辑分区是无法格式化的。

1162d52a21f8d6988df37ac56c82160b.png

5.建立挂载点并挂载

mkdir /disk1

mount /dev/sdb1 /disk1/

5c310d661bbf91cfca042e362301035b.png

对于每次都要使用的挂载,可以写入/etc/fstab文件自动挂载(写错的话有可能造成系统崩溃)

2f411afc10b8688e34eb2f55a073332f.png

/etc/fstab文件

第一字段:分区设备文件名或UUID(硬件通用唯一标识码)

第二字段:挂载点

第三字段:文件系统名称

第四字段:挂载参数

第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份

第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,数字越小优先级越高

6.添加自动挂载

5f23c8f9dbdddcca23d35e46f2ffbbca.png

然后使用mount -a命令将自动挂载点再挂载一遍,看是否有报错,避免开机系统崩溃

e20d474793c790d74df8a17b7143d1c4.png

故意将/etc/fstab中写入错误,重启看到报错,ctrl加d重启或者输入root密码,

376390faf487b3ddd3755a08f1a51e37.png

进入/etc/fstab发现是个只读文件,是因为报错之后它将挂载为读权限,没有挂载读写权限,只要重新挂载为读写权限即可

558a68ba16c5f12b6084013c9eebccf1.png

然后就可以修改/etc/fstab文件了,将它修改为正确的格式,并重启,就设置成了自动挂载了

bec797545d2add2d12f7d57a19518f7d.png

但是这个修复值用在/etc/fstab错误的情况下,根分区错误情况下,刚刚那个提示输入密码都不会出现。所以修改这个配置文件的时候一定要注意。

五、分配swap交换分区

在linux中,swap分区必须存在,在使用交换分区的时候,发现不够大,如何加入空间?先查看下有多少的交换空间

1.free  查看内存与swap分区使用状况

-m 用兆的单位显示

b6ab6cefbaa9010ec7c0a37f8d600a49.png

cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程。

buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程。

2.新建分区并加id该为82

6af736e9e6d7eff9aa84cc287acf3e20.png

3.格式化

mkswap  /dev/sdb6

631a06984120be077c1a31fa759e5b4a.png

之前是1999M,现在是3027M

38a0d327fb41a202812334bd254c9b1b.png

4.自动挂载

每次开机都需手动加入swap分区才可以,当然也可以使用/etc/fstab自动挂载

b000ba00e32c76fe652703964f52e824.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值