时间:2019年7月19日
地点:家里
内容:FHS、udev、文件系统与资料、mount、umount、fdisk、mkfs、du、SWAP、配额、xfs_quota、quota、edquota、链接、ln
FHS 文件系统层次化标准(FHS,Filesystem Hierarchy Standard)
绝对路径(absolute path):首先坐飞机来到中国,到了北京出首都机场坐机场快轨到三元桥,然后换乘10号线到潘家园站,出站后坐34路公交车到农光里,下车后路口左转。
相对路径(relative path):前面路口左转。
udev udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。
系统采用a~p来代表16块不同的硬盘(默认从a开始分配)
主分区或扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。
将第一个扇区的分区表中16字节(原本要写入主分区信息)的空间(称之为扩展分区)拿出来指向另外一个分区。也就是说,扩展分区其实并不是一个真正的分区,而更像是一个占用16字节分区表空间的指针—一个指向另外一个分区的指针。这样一来,用户一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求。
Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。
Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。
XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。
superblock:记录此filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及档案系统的格式与相关信息等;
inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的资料所在的block 号码;
block:实际记录档案的内容,若档案太大时,会占用多个block 。
inode内容:
该文件的访问权限(read、write、execute);
该文件的所有者与所属组(owner、group);
该文件的大小(size);
该文件的创建或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)。
block的常见情况:
情况1:文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
情况2:文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。
Linux内核中的软件层为用户程序提供了一个VFS(Virtual File System,虚拟文件系统)
mount mount命令用于挂载文件系统,格式为“mount 文件系统 挂载目录”。
挂载: 将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
umount umount命令用于撤销已经挂载的设备文件,格式为“umount [挂载点/设备文件]”。
fdisk fdisk命令用于管理磁盘分区,格式为“fdisk [磁盘名称]”
mkfs mkfs用于对磁盘的格式化操作,格式为“mkfs.[文件系统类型] [目标分区路径] 或者 mkfs [选项] [目标分区路径]”
du 用于查看文件数据占用量的du命令,其格式为“du [选项] [文件]”。
使用du -sh /*命令来查看在Linux系统根目录下所有一级目录分别占用的空间大小。
SWAP SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中 。
mkswap mkswap是swap分区专用的格式化命令,格式为“mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]”
-c 建立交换区前,先检查是否有损坏的区块。
-f 在SPARC电脑上建立交换区时,要加上此参数。
-v0 建立旧式交换区,此为预设值。
-v1 建立新式交换区。
[交换区大小] 指定交换区的大小,单位为1024字节。
free free显示内存的使用情况,格式为“free [-bkmotV][-s <间隔秒数>]”。
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:B = bytes、K = kilos、M = megas、G = gigas、T = teras
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
配额 对每个用户的资源可使用量进行分配。
软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
注意:当用户达到软配额额度时系统只会把提示写入/var/log/messages中而不提示。
硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
xfs_quota xfs_quota命令是一个专门针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令,格式为“xfs_quota [参数] 配额 文件系统”。
-x :专家模式,后续才能加入-c的指定参数
-c :后面加指令
xfs_quota -x -c "state"
xfs_quota -x -c "report" /home
xfs_quota -x -c "df -h" /home
xfs_quota -x -c "print"
xfs_quota -x -c "report -ugibh" /home
xfs_quota -x -c "report -pbih" /home
注:
u > 用户user
g > 组group
i > inode限制数量
b > block限制大小
h > 人性化human
p > 对象proj
quota 通用模式,格式为“quota [-quvV][用户名称] 或 quota [-gqvV][群组名称]”
-g 列出群组的磁盘空间限制。
-q 简明列表,只列出超过限制的部分。
-u 列出用户的磁盘空间限制。
-v 显示该用户或群组,在所有挂入系统的存储设备的空间限制。
Quota内部指令
disable :暂时取消quota的限制,但其实系统还是在计算quota中,只是没有管制而已。
enable :恢复到正常管制的状态,与disable相互取消、启用。
off :完全关闭quota的限制,使用了这个状态后,只有卸载再重新挂载才能再次启动quota。
remove :必须要在off的状态下才能执行的指令~这个remove可以可以“移除”quota的限制设置。只要remove -p就可以了!
edquota edquota命令用于编辑用户的quota配额限制,格式为“edquota [参数] [用户] ”。
链接 Linux中的“快捷方式”。
硬链接(hard link):可以将它理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。
注意:1.硬链接以文件副本的形式存在,但不占用实际空间。
2. 硬链接不允许给目录创建硬链接。
3.硬链接只有在同一个文件系统中才能创建。
软链接(也称为符号链接[symbolic link]):仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。
注意:1. 符号链接以路径的形式存在,类似于Windows操作系统中的快捷方式。
2. 符号链接可以跨文件系统 ,硬链接不可以。
3. 符号链接可以对一个不存在的文件名进行链接,硬链接不可以。
4. 符号链接可以对目录进行链接,硬链接不可以。
ln ln命令用于创建链接文件,格式为“ln [选项] 目标”
书面笔记