Linux 硬盘/文件系统的管理

一.硬盘管理
1.硬件设备与文件名的对应关系
(1)在Linux系统中,每个设备都被当初一个文件来对待
(2)各种设备在Linux中的文件名:
在这里插入图片描述
2.查看硬盘详细信息:fdisk -l 硬盘文件名
在这里插入图片描述

第一行:硬盘名;硬盘大小(GB);硬盘大小(B)
第二行:磁头数;扇区数;柱面数
第四行:扇区容量(logical/physical)
第五行:一次IO吞吐的数据量大小(minimum/optimal)
第六行:硬盘标识

3.硬盘的结构及硬盘分区
参考:blog.csdn.net/scyatcs/article/details/82770833

(1)为什么要进行硬盘分区:更容易管理和控制系统,因为相关的文件和目录都放在一个分区中;系统效率更高;可以限制用户使用硬盘的份额(磁盘空间的大小);更容易备份和恢复

(2)硬盘的逻辑结构:

块:盘片上寻址(访问)的最小单位,可存储一定字节的数据
磁道:由一系列头尾相连的块组成的圆圈
磁柱:由在相同半径上每个盘面的磁道组成
分区:由一组相邻的磁柱组成

传输速率:
NVME>串行接口(SATA)>并行接口(IDE)
在这里插入图片描述
4.Linux系统中硬盘的分区(Partition)(MBR格式下)
参考:cnblogs.com/lbole/p/8904298.html

(1)硬盘分区的分类:主分区(p,primary partition),扩展分区(e,extended partition),逻辑分区(l,logical partition)

  • 扩展分区只是逻辑概念,其中可以继续进行分区,只用于记录lp的分区信息(不存储数据)
  • 只有主分区可以装系统(作为启动分区)
  • 逻辑分区为扩展分区中的分区

(2)在一个硬盘上最多可以划分出4个pp/3个pp+1个ep
(3)Linux内核在每个硬盘上最多支持:在SCSI硬盘上划分15个Partitions;在IDE硬盘上划分63个Partitions—VMware测试

(4)硬盘的分区在硬盘文件名最后加数字(从1开始)区分

#硬盘sda有3个分区,sdb没有进行分区
ls /dev/sd
sda  sda1  sda2  sda3  sdb

(3)pp,ep分区信息存储在MBR主引导记录中(主引导扇区)

5.使用fdisk和partprobe命令来管理硬盘分区
(1)fdisk命令功能:创建磁盘分区

-d:删除一个(存在的)分区;d指delete
-l:列出(存在的)分区的类型;l指list
-m:列出fdisk中使用的所有命令;m指menu
-n:添加一个新的分区;n指new
-p:列出分区表的内容;p指print
-q:退出fdisk,但不存储所做的变化;q指quit
-t:改变分区系统的id;t指title
-w:退出fdisk并存储所做的变化;w指write

在这里插入图片描述
(2)partprobe命令功能:更新内存中内核的分区
在这里插入图片描述
二.文件系统管理
在这里插入图片描述
1.创建文件系统(make filesystem,又称格式化)
(1)格式化(format):将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),及设定这个分区中有多少个i节点可以用等
(2)文件系统:操作系统用于明确磁盘/分区上文件的方法和数据结构,即在磁盘上组织文件的方法
(3)常用的文件系统类型:
参考:cnblogs.com/z-xiao/p/11848269.html
blog.csdn.net/wnn_0919/article/details/80526278
cnblogs.com/xiluhua/p/10547772.html
cnblogs.com/xiluhua/p/10547772.html
在这里插入图片描述

ext2:Linux系统中标准的文件系统
ext3:一种日志式文件系统;比ext2增加了日志记录功能
ext4:一种针对ext3系统的扩展日志式文件系统
#日志式文件系统:保存文件时先将内容写入目录的日志,再刷入硬盘
#突然断电时可以根据日志恢复内容
#推出时针对文件不多的情况,已经过时

vfat:windows98常用的fat32 
nfs:网络文件系统 

xfs:一种高性能的日志文件系统
#特别擅长处理大文件,同时提供平滑的数据传输

lvm:逻辑盘卷管理
iso9660:目前唯一通用的光盘文件系统

BTRFS(常念成butter FS):高效,容错,修复,易于管理;CPU/内存占用高
#改善ext3的限制,特别是单一/总文件系统大小限制;加入文件校验和特性
#加入ext3/4未支持的一些功能,如可写的磁盘快照(snapshots),支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小

NTFS:Windows中默认使用
#Linux原生不识别

msdos:MS-DOS的fat,就是fat16 

在这里插入图片描述
删除文件时super block将对应的inode号标记为free,并删除inode号与文件的映射关系,并将对应的block标记为free;数据实际未删除;再写入数据时可以覆盖这部分数据

(4)mkfs命令功能:格式化磁盘

mkfs.文件系统类型 分区
#将分区/dev/sdb1格式化为ext4文件系统:
mkfs.ext4 /dev/sdb1

2.为一个分区设定label(分区名)
e2label命令功能:设定/查看一个设备的label名称

查看/dev/sdb1分区的label:
e2label /dev/sdb1
将/dev/sdb1分区的label设定为wg:
e2label /dev/sdb1 wg

三.文件系统的挂载与卸载
1.挂载:将一个设备(通常是存储设备)挂接(映射)到一个目录上
(1)mount命令:实现文件系统的挂载

mount 源设备名 目录(挂载点)
-t vsftype:指定要挂载的设备上的文件系统类型
#ext2:linux目前常用的文件系统 
#msdos:MS-DOS的fat,就是fat16
#vfat:windows98常用的fat32 
#nfs:网络文件系统 
#iso9660:CD-ROM光盘标准文件系统 
#ntfs:windows NT/2000/XP的文件系统 
#auto:自动检测文件系统 
-r:readonly,只读挂载
-w:可写挂载,默认
-v:详细显示安装信息
-n:不更新/etc/mtab 
-a:自动挂载所有支持自动挂载(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)的设备
-f:伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统
-n:不把安装记录在/etc/mtab 文件中
-L 'LABEL':以卷标指定挂载设备
-U 'UUID':以UUID指定要挂载的设备
-B, --bind:绑定目录到另一个目录上
-o options:(挂载文件系统的选项)
#async:异步模式
#sync:同步模式
#atime/noatime:包含目录和文件
#diratime/nodiratime:目录的访问时间戳
#auto/noauto:是否支持自动挂载
#exec/noexec:是否支持将文件系统上应用程序运行为进程
#dev/nodev:是否支持在此文件系统上使用设备文件
#suid/nosuid:是否支持在此文件系统上使用特殊权限
#remount:重新挂载
#ro:只读
#rw:读写
#user/nouser:是否允许普通用户挂载此设备
#acl:启用此文件系统上的acl功能
#loop:挂载回旋设备
#将/dev/sdb1分区挂载到/wg目录上:
mount /dev/sdb1 /wg

(2)umount命令:实现文件系统的卸载

umount 目录(挂载点)
umount 源设备名
-l:强制卸载(实际为在该目录空闲后再umount)
#卸载/wg上的文件系统:
umount /wg
#卸载/dev/sdb1的挂载点:
umount /dev/sdb1

(3)挂载点:Linux中磁盘文件系统的入口目录,类似于Windows中用来访问不同分区的盘符

一个设备可以有多个挂载点,在一个挂载点进行的操作也会在其余同设备的挂载点看到
在这里插入图片描述
(4)存放文件时,先找指定目录是否有源设备;没有去找其父目录是否有源设备;直到找到为止,将文件存入这个设备—>查看时同理
在这里插入图片描述
第二次看到的是/opt的父目录(根)对应的源设备中的文件
在这里插入图片描述
2.虚拟内存
(1)虚拟内存:一块硬盘空间被当做内存使用,也称交换分区(swap)
(2)Linux交换分区的类型为:0x82
(3)mkswap命令功能:设置交换分区

#将分区/dev/sdb2设置为交换分区:
mkswap /dev/sdb2

(4)swapon命令功能:启动交换分区

#启用交换分区/dev/sdb2:
swapon /dev/sdb2
–a选项:启动全部的交换分区
–s选项:列出正在使用的所有swap分区的状态

3.i节点(inode):i节点实际上是一个数据结构,存放了有关普通文件/目录/其他文件系统对象的基本信息(权限,属主属组,创建时间,文件名;具体见下图)
在这里插入图片描述
不同文件系统(分区)inode号各自独立;不同分区inode号可能相同,但指向不同文件

#查看inode信息:
ls -i 文件名
#查看文件/etc/passwd.bak的inode信息:
ls -i /etc/passwd.bak
#结果:145616 /etc/passwd.bak(inode号,文件名)

4.ln命令:为某个文件在另一个位置建立一个同步的链接

ln 源文件/目录 目标文件/目录
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
-S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
-V "-V<备份方式>"或"--version-control=<备份方式>"
--help 显示帮助信息
--version 显示版本信息

(1)符号(软)链接:指向另一个文件的一个文件

  1. 以路径的形式存在;类似于Windows中的快捷方式
  2. 可以跨文件系统(指向文件名)
  3. 可以对一个不存在的文件名进行链接
  4. 可以对目录进行链接
  5. 修改源文件/链接文件,另一方也发生变化
  6. 删除链接文件不影响源文件
  7. 删除源文件,链接文件失效(ll可查看,cat提示不存在)
  8. 二者inode号不同
ln -s 源文件/目录 目标文件/目录
#为wolf/dog.wolf.baby文件建立一个dog_ wolf.boy软链接并放在bodydog目录:
ln –s wolf/dog.wolf.baby bodydog/dog_ wolf.boy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)硬链接(hard link):目标文件文件名与源文件i节点间的对应关系(可认为是在源文件名对应的文件上添加了一个额外的路径名)

  1. 以文件副本的形式存在
  2. 不占用实际空间
  3. 不允许给目录创建硬链接
  4. 只有在同一个文件系统中才能创建(指向inode号)
  5. 二者inode号相同(均为源文件inode号)
  6. 修改源文件/链接文件,另一方也发生变化
  7. 删除任何一方,对另一方无影响
ln 源文件/目录 目标文件/目录
#为wolf/wolf.dog文件在backup目录中建立一个名为wolf.dog2的硬链接:
ln wolf/wolf.dog backup/wolf.dog2

在这里插入图片描述
在这里插入图片描述
5.Linux系统中的文件类型

-:普通文件(regular file),也称正规文件
d:目录(directory)
l:符号(软)链接
b:块特殊文件(block),一般指块设备,如硬盘。
c:字符特殊文件(character),一般指字符设备,如键盘。

6.检查磁盘空间
(1)df命令:显示文件系统中磁盘使用和空闲区的情况

df [file]

在这里插入图片描述
第1列为文件系统的名称;第2列为对应文件系统包含多少个1K的block;第3,4列为使用的,可用的block数;第5行为使用的block的百分比;第6行为挂载点

文件-a:全部文件系统列表
文件--block-size=SIZE:使用SIZE大小的Blocks
文件-h:human readable;使用人类可读的格式(预设值不加这个选项),即单位转换
文件-H:很像 -h,但是用1000为单位而不是用1024
文件-i:inodes;列出inode资讯,不列出已使用block;包括分区总inode数,已用inode数,可用inode数,inode使用率
文件-k:kilobytes;区块为1024字节;--block-size=1024
文件-l:local;只显示本地文件系统
文件-m:megabytes;区块为1048576字节;--block-size=1048576
文件--no-sync:取得资讯前不sync(预设值)
文件-P:portability;使用 POSIX 输出格式
文件--sync:在取得资讯前sync
文件-t<File_System_Type>:只显示选定文件系统的磁盘信息
文件-T:显示文件系统的形式
文件-x<File_System_Type>:不显示选定文件系统的磁盘信息
文件-v:?
文件--help:显示帮助信息
文件--version:输出版本资讯

(2)du命令功能: 显示目录/文件的大小

-a/-h同上

(3)硬盘用满的两种情况:

·硬盘空间用完
·硬盘inode用完
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值