linux磁盘命令-lsblk,blkid

2018-05-28 09:42:34

lsblk(list block devices)能列出系统上所有的磁盘。

lsblk [-dfimpt] [device]
选项与参数:
-d :仅列出磁盘本身,并不会列出该磁盘的分区数据
-f :同时列出该磁盘内的文件系统名称
-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
-m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据)
-p :列出该设备的完整文件名!而不是仅列出最后的名字而已。
-t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等

例子

[root@192 ~]# 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    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /
sdb      8:16   0   20G  0 disk 
sr0     11:0    1 1024M  0 rom
 名称 解释
 NAME 名称
 MAJ:MIN 主设备号:次设备号
 RM 是否为可卸载设备
 SIZE 容量
 RO 是否为只读设备
 TYPE 磁盘(disk)、分区(partition)、只读存储器(rom)
 MOUTPOINT 挂载点


[root@192 ~]# lsblk -pf
NAME        FSTYPE   LABEL   UUID                                 MOUNTPOINT
/dev/sda                                                      
├─/dev/sda1 xfs              c7c2cf29-2f94-4bb6-a334-7604c0c7c291  /boot
├─/dev/sda2 swap             2156bb3d-de11-4dd5-8599-70b16d3ef6b5  [SWAP]
└─/dev/sda3 xfs              7470460a-47a7-41a8-a4f0-7bcdb39b3506  /
/dev/sdb                                                      
/dev/sr0

从显示可以看出,我的系统里有2块磁盘,/dev/sda和/dev/sdb,sda分了3个区,并且挂载了。而sdb这块磁盘没有被分区。


blkid能列出设备的uuid,当然lsblk -pf也能列出uuid。UUID是全域单一识别码 (universally unique identifier) ,Linux 会将系统内所有的设备都给予一个独一无二的识别 码, 这个识别码就可以拿来作为挂载或者是使用这个设备/文件系统之用

[root@192 ~]# blkid
/dev/sda1: UUID="c7c2cf29-2f94-4bb6-a334-7604c0c7c291" TYPE="xfs" 
/dev/sda2: UUID="2156bb3d-de11-4dd5-8599-70b16d3ef6b5" TYPE="swap" 
/dev/sda3: UUID="7470460a-47a7-41a8-a4f0-7bcdb39b3506" TYPE="xfs"


总结:
上面的这些例子已经能应付大部分场景了,更多详细用法请通过命令man自行查阅

备注:
1.本系列命令都在centos7里测试,其他发行版如ubuntu、debian、fedora、opensuse等可能略微不同
2.觉得本文有帮助的小伙伴可以关注笔者
3.原文地址http://www.freecls.com/a/2712/3a

©著作权归作者所有
收藏
推荐阅读
简介
天降大任于斯人也,必先苦其心志。