admin管理员组文章数量:1558091
磁盘与文件系统
整块磁盘的组成
- 园形的碟片 记录数据
- 机械手臂 与机械手臂的磁头 可擦写数据
- 主轴马达 可以转动碟片,让机械手臂在碟片上写数据
- 扇区 最小的物理存储单位 ,且有512B与4KB的两种格式。
- 柱面 将扇区组成圆
- 磁盘分区表主要有两种格式MBR分区表 和GPT分区表。
- MBR分区表中,第一个分区表最重要,只要记录主引导记录及分区表,其中MBR占有446B,而分区表占有64B;
- GPT分区表除了分区是数量增加后分区支持磁盘容量超过2TB
物理磁盘命名 :dev/sd [a-p] [1-128]
虚拟磁盘命名:vd [a-d] [1-128]
文件系统通常会将这两个部分分别存放到不同的区块,权限与属性放置在include当中,实际的数据放置在数据区块中。
- 超级区块 记录文件系统的整体信息,包括inode与数据区块的总量、使用量、剩余量,以及文件系统的格式信息
- inode 记录文件的属性,一个文件占用一个inode,同时记录文件数据的区块号码
- 数据区块:实际记录文件的内容,若文件太大时,会记录多个区块。
索引式文件系统
碎片整理
需要碎片整理的=原因是文件写入的区块太过于离散,此时文件读取的性能将变得很差,这时候可以通过碎片整理将同一个文件所属的区块集合在一起,这样数据的读取会比较容易。
LInux的ext2文件系统
文件系统一开始将inode与数据块规划好了,除非重新格式化(利用resize2fs)否则inode将不再变动。
Linux文件系统的运行
当需要使用数据的时候数据首先是将数据加载的内存中,当数据没有修改的时候,数据是会标注为clean 当数据被修改后数据会修改为dirty,此时数据并没有直接写入硬盘,而是存放在内存中,系统会不定时将数据写入到硬盘中,也可以通过手动写入:sync 这种方法叫做异步处理。
若是正常关机 系统会自动调用sync保存数据
如果是非正常关机,再次启动会花费很长时间进行磁盘校验,甚至导致文件系统损毁。
挂载:将文件系统和目录树的结合操作叫挂载。
挂载点是目录,此目录为进入文件系统的入口。
XFS文件系统
ext4 对Linux支持最完整,-----格式化超慢
df 列出文件系统的整体磁盘使用量
du 查看文件系统的磁盘使用情况
硬链接和软链接的创建
ln -s 表示软链接 不加参数为硬链接——》不能跨文件系统,不能链接目录
ln -f 目标文件存在则删除。
我们建立性目录时候 新目录的链接数为2,上层目录会+1
磁盘的分区、格式化、检验、挂载
查看磁盘状态
lsblk 列出系统上所有磁盘列表 list block devivce
[zhaobo@localhost ~]$ lsblk -h
用法:
lsblk [选项] [<设备> ...]
列出块设备的信息。
选项:
-a, --all 打印所有设备
-b, --bytes 以字节为单位而非易读的格式来打印 SIZE
-d, --nodeps 不打印从属设备(slave)或占位设备(holder)
-D, --discard 打印时丢弃能力
-z, --zoned print zone model
-e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)
-f, --fs 输出文件系统信息
-i, --ascii 只使用 ascii 字符
-I, --include <列表> 只显示有指定主设备号的设备
-J, --json 使用 JSON 输出格式
-l, --list 使用列表格式的输出
-T, --tree use tree format output
-m, --perms 输出权限信息
-n, --noheadings 不打印标题
-o, --output <列表> 输出列
-O, --output-all 输出所有列
-p, --paths 打印完整设备路径
-P, --pairs 使用 key=“value” 输出格式
-r, --raw 使用原生输出格式
-s, --inverse 反向依赖
-S, --scsi 输出有关 SCSI 设备的信息
-t, --topology 输出拓扑信息
-x, --sort <列> 按<列>对输出排序
-h, --help display this help
-V, --version display version
[zhaobo@localhost ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─cl-root 253:0 0 15G 0 lvm /
└─cl-swap 253:1 0 4G 0 lvm [SWAP]
sr0 11:0 1 723M 0 rom
name 设备名称
maj:min 系统识别的代码
rm 是否可以卸载
size 容量
ro是否为可读设备
type 是磁盘、分区还是只读存储器
mountpoint 挂载点
blkid列出设备的UUID等参数
uuid是全局唯一标识符,独一无二的标识符。
parted 列出磁盘分区表内性与区分信息
磁盘分区
MBR分区使用fdisk分区 GPT使用gdisk分区。
- gdisk n 增加分区 d删除分区 p打印分区表 q不保存退出 w保存退出
gdisk只能root执行 使用设备名称不能加数字,分区针对的是磁盘设备,不是针对某个分区,所以当加上数字则会报错。
– 新增加一个分区
gdisk /dev/vda
p 输出信息
n 增加分区
设置分区标号 回车就行
设置扇区开始编号 上一个分区的结束编号+1 也可以直接回车
设置分区结束编号 +1G 系统会自动计算 如果直接回车则会使用所有的剩余容量。
设置文件系统 默认为linux filesystem
设置GUID 默认值即可 直接回车 可以通过l查看
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
3000 ONIE boot 3001 ONIE config 3900 Plan 9
4100 PowerPC PReP boot 4200 Windows LDM data 4201 Windows LDM metadata
4202 Windows Storage Spac 7501 IBM GPFS 7f00 ChromeOS kernel
7f01 ChromeOS root 7f02 ChromeOS reserved 8200 Linux swap
8300 Linux filesystem 8301 Linux reserved 8302 Linux /home
8303 Linux x86 root (/) 8304 Linux x86-64 root (/ 8305 Linux ARM64 root (/)
8306 Linux /srv 8307 Linux ARM32 root (/) 8400 Intel Rapid Start
8e00 Linux LVM a000 Android bootloader a001 Android bootloader 2
a002 Android boot a003 Android recovery a004 Android misc
a005 Android metadata a006 Android system a007 Android cache
a008 Android data a009 Android persistent a00a Android factory
a00b Android fastboot/ter a00c Android OEM a500 FreeBSD disklabel
a501 FreeBSD boot a502 FreeBSD swap a503 FreeBSD UFS
a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID a580 Midnight BSD data
a581 Midnight BSD boot a582 Midnight BSD swap a583 Midnight BSD UFS
a584 Midnight BSD ZFS a585 Midnight BSD Vinum a600 OpenBSD disklabel
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Recovery HD af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
删除分区
p 查看分区
d 删除分区 后面增加要删除的分区标号即可
然后通过w 写入 但是系统并没有直接运行我们设置的环境 需要重新启动或者通过partprobe更新linux内核分区表信息
fgisk和上面一样
文件系统的挂载和卸载
- 单一文件系统不应该被重复挂载再不同的挂载点
- 单一的目录不应该重复挂载多个文件系统
- 要作为挂载点的目录,理论上应该是空目录 如果挂载到非空目录则之前的数据将短暂消失
挂载xfs、ext4 等系统
blkid /dev/vada4 查看UUID
mkdir -p /data/xfs 非正规目录,所以手动建立它.
mount UUID=“UUID” /data/xfs
df /data/xfs 查看当前的文件系统的详细信息
挂载cd
[root@localhost ~]# mount /dev/sr0 ~/cd
mount: /root/cd: WARNING: device write-protected, mounted read-only.
[root@localhost ~]# ll
总用量 10
-rw-------. 1 root root 1542 9月 5 17:23 anaconda-ks.cfg
dr-xr-xr-x. 5 zhaobo zhaobo 2048 6月 2 04:20 cd
-rw-r--r--. 1 root root 1773 9月 5 17:27 initial-setup-ks.cfg
[root@localhost ~]# cd ./cd/
[root@localhost isolinux]# cd ../
[root@localhost cd]# df .
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sr0 739902 739902 0 100% /root/cd
挂载中文u盘
mount -o codepage=950 iocharser=utf8 uuid=“” /usb
重新挂载 出现问题时使用
mount -o remount,rw,auto /
卸载设备文件
umount -f 强制
umount -l 强制的强制
-n 不更新 /etc/mtab 卸载
启动挂载 /etc/fastab /etc/mtab
文件压缩
- gzip -d解压
- bzip2
- xz
打包软件
压缩 tar -jcv -f 文件名 要被解压的文件名
查询 tar -jtv -f 文件名;
解压缩 tar -jxv -f 文件名 要被解压的文件名
·
版权声明:本文标题:磁盘与文件系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727333440a1108811.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论