《Linux就该这么学》学习笔记——Day9

简介

主要讲述第六章中Linux文件系统存储结构,物理设备的命名规则,常见文件系统类型以及硬盘设备分区、格式化以及挂载等常用的硬盘管理操作。
内容详情可参考:https://www.linuxprobe.com/chapter-06.html
命令行详解可参考:https://www.linuxcool.com

文件系统存储结构

常见的文件系统存储结构在Linux系统中,最常见的目录以及所对应的存放内容:
目录名称 应放置文件的内容
/boot 开机所需文件—内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 配置文件
/home 用户主目录
/bin 存放单用户模式下还可以操作的命令
/lib 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录
/opt 放置第三方的软件
/root 系统管理员的家目录
/srv 一些网络服务的数据文件目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin Linux系统开机时不会使用到的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件
/var 主要存放经常变化的文件,如日志
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

路径指的是如何定位到某个文件,分为绝对路径与相对路径.
绝对路径指的是从根目录(/)开始写起的文件或目录名称.
相对路径指的是相对于当前路径的写法.

物理设备的命名规则

在Linux系统中一切都是文件。
系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等.
udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。
Linux系统中常见的硬件设备的文件名称:
硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0

一般的硬盘设备都会是以“/dev/sd”开头的,多块硬盘采用a~p来代表16块不同的硬盘(默认从a开始分配)
而且硬盘的分区编号:
主分区或扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。

常见文件系统类型

RHEL 6系统中的默认Ext4文件管理系统,它支持的存储容量最大到1EB(1EB=1,073,741,824GB)
RHEL 7中默认XFS文件管理系统,它最大可支持的存储容量为18EB

Linux系统中有一个名为super block的“硬盘地图”。Linux只是把每个文件的权限与属性记录在inode中,而且每个文件占用一个独立的inode表格,该表格的大小默认为128字节,里面记录着如下信息:
该文件的访问权限(read、write、execute);
该文件的所有者与所属组(owner、group);
该文件的大小(size);
该文件的创建或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)。

文件的实际内容则保存在block块中(大小可以是1KB、2KB或4KB),一个inode的默认大小仅为128B(Ext3),记录一个block则消耗4B。当文件的inode被写满后,Linux系统会自动分配出一个block块,专门用于像inode那样记录其他block块的信息,这样把各个block块的内容串到一起,就能够让用户读到完整的文件内容了。
对于存储文件内容的block块,有下面两种常见情况(以4KB的block大小为例进行说明):
情况1:文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
情况2:文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。

计算机系统存在众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个VFS(Virtual File System,虚拟文件系统)接口.
在这里插入图片描述
实际文件系统在VFS下隐藏了自己的特性和细节,用户无需关心文件系统的类型,直接载入各种命令进行操作即可.

挂载硬件设备

一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。
“挂载”:将硬盘设备与目录关联的动作叫做挂载,目的是通过目录访问硬盘设备。

mount命令用于挂载文件系统
格式为“mount 文件系统 挂载目录”

mount命令中的参数以及作用:
参数 作用
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型

硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”
写入到/etc/fstab文件中。

用于挂载信息的指定填写格式中,各字段所表示的意义:
字段 意义
设备文件 一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录 指定要挂载到的目录,需在挂载前创建好
格式类型 指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份 若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检 若为1则开机后自动进行磁盘自检,为0则不自检

umount命令用于撤销已经挂载的设备文件
格式为“umount [挂载点/设备文件]”。

fdisk命令用于管理磁盘分区
格式为“fdisk [磁盘名称]”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。

fdisk命令中的参数以及作用:
参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

mkfs命令为用于格式化存储设备操作
mkfs.文件类型名称:
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat

du命令----用于查看文件数据占用量的du命令
格式为“du [选项] [文件]”。
du -sh /*命令来查看在Linux系统根目录下所有一级目录分别占用的空间大小

特别注意:
使用mount命令挂载的设备文件会在系统下一次重启的时候失效。
如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入到配置文件/etc/fstab中.

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值