文件存储结构(FHS标准)
在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,即“Linux系统中一切都是文件”
FHS定义了用户应该把什么类型的文件文件存放到什么位置,但用户不一定要遵守,这里只是定义而非gun定。
常见的目录名称以及相应内容:
目录名称 | 应放置文件的内容 |
---|---|
/boot | 开机所需文件—内核、开机菜单以及所需配置文件等 |
/dev | 以文件形式存放任何设备与接口 |
/etc | 配置文件 |
/home | 用户主目录 |
/bin | 存放单用户模式下还可以操作的命令 |
/lib | 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数 |
/sbin | 开机过程中需要的命令 |
/media | 用于挂载设备文件的目录 |
/opt | 放置第三方的软件 |
/root | 系统管理员的家目录 |
/srv | 一些网络服务的数据文件目录 |
/tmp | 任何人均可使用的“共享”临时目录 |
/proc | 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等 |
/usr/local | 用户自行安装的软件 |
/usr/sbin | Linux系统开机时不会使用到的软件/命令/脚本 |
/usr/share | 帮助与说明文件,也可放置共享文件 |
/var | 主要存放经常变化的文件,如日志 |
/lost+fount | 当主要系统发生错误时,将一些丢失的文件片段存放在这里 |
**物理设备命名规则(udev) **
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;
Linux系统中常见的硬件设备的文件名称如表所示。
硬件设备 | 文件名称 |
---|---|
IDE设备 | /dev/hd[a-d] |
SCSI/SATA/U盘 | /dev/sd[a-p] |
软驱 | /dev/fd[0-1] |
打印机 | /dev/lp[0-15] |
光驱 | /dev/cdrom |
鼠标 | /dev/monse |
磁带机 | /dev/sto或dev/hto |
硬盘的分区编号:主分区或扩展分区的编号从1开始,到4结束;逻辑分区从编号5开始。
注意点:
存储设备的名称从a开始按序命名,是由系统内核的识别顺序决定的,与设备在第几个插槽无关。
分区编号并不代表分区个数,分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。
**文件系统与数据资料 **
常见的文件系统
Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。
Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB,且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。
XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。
(1.)inode存放文件的权限与属性记录,每个文件占用一个独立的inode表格,该表格的大小默认为128字节,里面记录的信息为:
该文件的访问权限(read、write、execute);该文件的所有者与所属组(owner、group);该文件的大小(size);该文件的创建或内容修改时间(ctime);该文件的最后一次访问时间(atime);该文件的修改时间(mtime);文件的特殊权限(SUID、SGID、SBIT);该文件的真实数据地址(point)。
(2.)block存放文件的实际内容:
文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。
**挂载硬件设备 **
(1.)分区
fdisk命令:用于管理磁盘分区。
参数 | 作用 |
---|---|
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区的类型 |
p | 查看分区表信息 |
w | 保存并退出 |
q | 不保存直接退出 |
(2.)mkfs命令:用于格式化操作。格式:mkfs.文件类型 磁盘设备文件。
(3.)挂载:挂载操作就是把硬件设备与目录进行关联的动作
挂载 mount 设备 目录
-a:挂载所有在/etc/fstab中定义的文件系统
-t:指定文件系统的类型
卸载 umount 设备或者目录
用mount命令挂载,系统重启后就会失效。要在/etc/fstab文件追加挂载信息才能永久挂载。在/etc/fstab文件中,挂载信息格式:“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”。
df命令:用于查看挂载状态和硬盘使用量信息。常用参数为-h。格式:df -h。
du命令:用于查看文件数据占用量。
du -sh /* #查看在Linux系统根目录下所有一级目录分别占用的空间大小
du -sh /newFS #查看/newFS下的内容占了多少容量
添加交换分区 :
(1.)SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。
(2.)mkswap命令:swap分区的专用格式化命令。格式:mkswap [设备文件]。
(3.)挂载
swapon命令:因为swap分区没有挂载点,所以需要用挂载swap分区的专用命令来对swap分区进行挂在操作。格式:swapon [设备文件]。
swapoff命令:卸载swap分区设备。格式:swapoff [设备文件]。