相关文章
Linux:chgrp、chown、chmod权限属性更改指令
目录
有时我们在磁盘规划前会想要确定一下当前系统的文件系统或磁盘分区情况。 这时,就有几个命令可以供选择,通过本文,可以学习这些命令的使用。
1.lsblk 列出系统中所有的磁盘及分区情况
lsblk是list block device的缩写,可以列出所有块设备(存储设备),下面来看以下它的使用。
用法:lsblk [选项] [<设备> ...]
选项:
-a, --all | 打印所有设备 |
-b, --bytes | 以字节为单位而非易读的格式来打印 SIZE |
-d, --nodeps | 不打印从属设备(slave)或占位设备(holder),即不列出分区 |
-D, --discard | 打印时丢弃能力 |
-e, --exclude <列表> | 根据主设备号排除设备(默认:内存盘) |
-I, --include <列表> | 只显示有指定主设备号的设备 |
-f, --fs | 同时输出文件系统信息 |
-h, --help | 显示帮助信息(此信息) |
-i, --ascii | 只使用 ascii 字符,而不使用复杂的编码 |
-m, --perms | 同时输出设备文件的权限信息 |
-l, --list | 使用列表格式的输出 |
-n, --noheadings | 不打印标题 |
-o, --output <列表> | 输出列 |
-p, --paths | 打印完整设备路径,而不只是设备文件名 |
-P, --pairs | 使用 key=“value” 输出格式 |
-r, --raw | 使用原生输出格式 |
-s, --inverse | 以反向的顺序打印依赖项目 |
-t, --topology | 输出拓扑信息,包括磁盘阵列机制和预读写的数据量等 |
-S, --scsi | 输出有关 SCSI 设备的信息 |
-V, --version | 输出版本信息并退出 |
输出列(用于 --output):
NAME | 设备名 |
KNAME | 内核设备名 |
MAJ:MIN | 主/次设备号 |
FSTYPE | 文件系统类型 |
MOUNTPOINT | 挂载点 |
LABEL | 文件系统标签 |
UUID | 文件系统UUID |
PARTLABEL | 磁盘分区标签 |
PARTUUID | 磁盘分区UUID |
RA | 预读取设备 |
RO | 只读设备 |
RM | 可移除设备 |
MODEL | 设备标识符 |
SERIAL | 磁盘序列号 |
SIZE | 设备大小 |
STATE | 设备状态 |
OWNER | 所属用户名 |
GROUP | 所属组名 |
MODE | 设备节点权限 |
ALIGNMENT | 对齐偏移 |
MIN-IO | 最小I/O大小 |
OPT-IO | 最优I/O大小 |
PHY-SEC | 物理扇区大小 |
LOG-SEC | 逻辑扇区大小 |
ROTA | 可旋转磁盘 |
SCHED | I/O调度器名 |
RQ-SIZE | 请求队列大小 |
TYPE | 设备类型 |
DISC-ALN | discard对齐偏移 |
DISC-GRAN | discard操作的最小单元 |
DISC-MAX | 被丢弃的最大字节数(SSD) |
DISC-ZERO | 忽略零数据 |
WSAME | 设备在单个write-same命令里能够写入的最大字节数 |
WWN | 唯一存储标识符 |
RAND | 增加随机性 |
PKNAME | 内部父内核设备文件名 |
HCTL | Host:Channel:Target:Lun for SCSI |
TRAN | 设备传输类型 |
REV | 设备修订 |
VENDOR | 设备供应商 |
示例
从以上输出我们可以看到,目前系统主要有一个sr0和sda设备,而sda设备下又有6 个分区,其中sda3分区又使用LVM分成了三个区,存在三个虚拟设备。
2.blkid 列出设备的UUID等参数
使用lsblk -f也可以完成这个功能,但blkid更加方便,无需去查选项。UUID是已格式化的文件系统所拥有的全局唯一标识符,所以这个标识符可以用来代表这个分区或文件系统。注意,这个命令只有root有权限执行。
用法:
blkid -L label | -U uuid
blkid [-dghlv] [-c file] [-o format] [-s tag] [-t NAME=value] [device ...]
blkid -p [-O offset] [-o format] [-S size] [-s tag] [-n list] [-u list] device ...
blkid -i [-o format] [-s tag] device ...
选项:
-c <file> | 从<file>读取,而不是从默认 的缓存文件读取(-c /dev/null表示没有缓存) |
-d | 不要编码非打印字符 |
-h | 打印此页面并退出 |
-g | 在blkid缓存上执行垃圾收集以移除 不再存在的设备。 |
-o <format> | 输出格式;可以是其中之一: value, device, export or full(默认::full) |
-k | 列出所有已知的文件系统和RAIDs并退出。 |
-s <tag> | 显示指定的标签(默认显示所有标签) |
-t <token> | 找到有特定符号的设备 |
-l | 只查找第一个使用-t指定符号的设备 |
-L <label> | 将LABEL转换为设备名称 |
-U <uuid> | 将UUID转换为设备名称 |
-V | 打印版本并退出 |
<dev> | 指定搜索设备(默认为所有设备) |
-p | 低层次超级区块探测(绕过缓存) |
-i | 收集有关I/O限制的信息 |
-S <size> | 覆盖设备大小 |
-O <offset> | 在给定偏移处进行探测 |
-u <list> | 根据用途进行过滤(例如-u filesystem,raid) |
-n <list> | 根据文件系统类型进行过滤(例如-n vfat,ext3) |
示例