并不是根目录下任何一个目录都可以作为挂载点,由于挂载 *** 作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录
磁盘也是一样的,磁盘的文件是存放在 /dev 目录下,磁盘设备文件的命名规则为:
常见的主设备号有:sd,hd;它们是代表的不同的磁盘类型: sd 代表的 IDE 硬盘, hd 代表的是 SCSI 硬盘
次设备号就是同一类型设备的次序,用 [a-z] 来表示, /dev/sda 表示第一块 IDE 类型的磁盘, /dev/sdb 表示第二块 IDE 类型的磁盘
磁盘分区编号,每一块磁盘都会被划分为多个磁盘分区(这个下面会介绍),每一个分区都会有一个编号,比如: /dev/sda1 表示这是该磁盘的第一个分区,以此类推
在 Linux 中,每一个硬盘设备都只能划分四个主分区;若是划分了一个扩展分区那最多可以划分三个主分区;可以表示为:
主分区加扩展分区最多只有四个;可以全部划分为主分区,也可以之划分一个主分区;但是扩展分区最多只有一个;扩展分区是不能直接使用的,还有进一步划分为逻辑分区才能使用;一个扩展分区可以划分为多个逻辑分区;
主分区的分区编号是:1,2,3,4;从扩展分区划分出来的逻辑分区的编号是从 5 开始,以次累加
这跟系统启动有关系;当你启动电脑时,首先就会加载 BIOS 信息,这里面包含了 Cpu 和其他硬件设备的信息;找到它计算机就知道怎么启动了
接下来,它会去找 MBR(Master Boot Record) ,也就是主引导记录;为了方便 BIOS 的查找,所以就会把它放在磁盘上第0磁道上的第一个扇区中,磁盘中每个扇区有 512 字节;虽然只有这么大一点,但是要存三部分信息:
磁盘分区表总共只有 64 字节,而每个分区信息占 16 个字节,所以就只能有四个主分区了
这应该是历史遗留的问题了,一开始只有四个分区,后来发现四个分区不够用,就引入了扩展分区,而扩展分区是不能直接使用的,它必须再划分为逻辑分区,逻辑分区的数量可以是任意多个。
对用户而言,主分区和逻辑分区使用起来没有任何的区别,同时还能够达到无限分区的目的
我想很多人都思考过这个问题,我再了解了之后才发现磁盘分区还是有很多的好处的。具体例子:
现在给你一个仓库,你打算存放快递,一开始你一股脑的把所有的快递直接放进去,等到别人来取快递的时候你就发愁了,几十甚至上百个快递得找到啥时候啊
所以你打算开始分区管理,因为你代理了中通,圆通,百世等好几个快递,所以你打算按照不同的快递分为三个货架;
过一段时间发现同一种快递如果量大的时候还是会混乱;因此你又想了个办法就是按照日期给快递编号,然后按照不同的日期将货架分为多层,每一层存放某一天的快递,同时你又找了个表记录了每个分区快递存放的位置,这大大增加了存取的效率
磁盘分区的目的,
Linux 常见目录:
一般要是新手,可以只建立两个分区:
这种分区方式比较简单,如果只是测试可以用这种;要是想当成一个常用的系统,就需要更细一点划分了,常用的分区方案如下(假如有磁盘有100G):
添加一个硬盘设备(虚拟机 *** 作 略)
fdisk命令 用来管理硬盘设备
1.fdisk /dev/sdb
2.p查看已有分区信息
3.n创建新的主分区e创建新的扩展分区
4.1输入主分区编号
5.+200M设定分区大小
6.w保存
挂载设备:当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载” 挂载是使用硬件设备前所执行的最后一步 *** 作。
mount命令 用来挂载文件系统(如果挂载一个新创建的硬盘分区则需要先将其格式化)
1. mkfs.xfs /dev/sdb1
2. mount /dev/sdb1 /ooo
将挂载信息写入到配置文件fstab中
字段定义
/etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:
<file system> :要挂载的分区或存储设备
<dir>:挂载的位置
<type>:要挂载设备或是分区的文件系统类型
<options>:挂载时使用的参数 xfs一般使用默认参数defaults
<dump>:dump 工具通过它决定何时作备份 1备0忽略
<pass>:fsck 读取 <pass>的数值来决定需要检查的文件系统的检查顺序 允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。
PS:fsck一般给重要的目录设置- -!但通常用不上 如果存在断电或者文件丢失等情况则需要用到fsck命令
关于linux系统为什么要进行挂载设备/硬盘这个动作:
如果不挂载的话/目录下的文件使用的都是同一个硬盘,举一个不恰当的栗子
就好比我用windows系统我硬盘有500G我默认有CDE三个盘如果我只挂载C盘的话就会浪费DE两个盘所分配的硬盘空间(当然windows系统分区一般情况在装机时会自动挂载好)
还有就当系统进行资源扩充时挂载 *** 作可以增加其目录空间
挂载的动作相当于将挂载点(目录)映射到被挂载的设备上
其他相关指令:
lsblk:查看磁盘分区结构,挂载位置
df -h:查看资源使用率
du -sh /* 查看目录占用空间大小
df -kh: 查看磁盘挂载信息
如何解决扩容后需要格式化才能挂载的问题???
Linux系统中的一切都是从根/目录开始的,并按照文件层次化标准(FHS)采用树形结构来存放文件,以及常见目录的用途。Linux文件存储结构:
/
/root /bin/boot/dev/etc/home/var/lib/usr/media/tmp/proc
II I
/root/Desktop /root/Media /usr/bin /usr/lib
/boot 开机所需文件-内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 配置文件
/home 用户家文件
/bin 存放单用户模式下还可以 *** 作的命令
/lib开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录
/opt 放置第三方的软件
/root 系统管理员的家目录
/srv 一些网络服务的数据文件目录
/tmp 任何人都可使用的共享临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local 用户自行安装的软件
/var 主要存放日志等经常变化的文件
linux中SCSI\SATA\U盘的命名规则为/dev/sd[a-p]
硬盘设备是由大量的扇区组成的,每个扇区的容量为512字节。其中第一个扇区保存主引导记录与分区表信息(446字节),分区表64字节,结束字符2字节;其中分区表中每记录一个分区信息就需要占用16字节,这样一来最多只有4个分区信息可以写到第一个扇区中,这四个分区就是主分区。为了解决分区数不够的问题就要将第一个扇区中的分区表中16字节(扩展分区)拿来指向另外一个分区
主分区或扩展分区的编号从1开始,到4结束
逻辑分区的编号从5开始
举个栗子:
主分区1 sda1 主分区2 sda2 主分区3 sda3 扩展分区
I
逻辑分区1 sda5 逻辑分区2 sda6
PS:/dev中sda之所以是a并不是由插槽决定的,而是由系统内核的识别顺序来决定的
PS2:可有手动指定分区的数字编号所以并不能以编号来判定硬盘位置是设备上的第几个
PS3:扩展分区其实并不是一个真正的分区,而更像是一个占用16个字节分区表空间的指针-----一个指向另外一个分区的指针
为什么一般看不见sda4?
通常硬盘分区的二种方式,4p,3p+e,也就是说可以分为4个主分区或者3个主分区加一个扩展分区如果使3p+e的话那么久不存在第4个主分区而是将第四个主分区的位置换为了扩展分区而扩展分区的第一个逻辑分区会被命名为sda5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)