sblk是一个用于列出Linux系统中所有可用的块设备信息的命令,块设备是指可以以块为单位进行数据传输的设备,比如硬盘、光驱、U盘等。lsblk命令可以显示块设备之间的依赖关系,以及各种属性,比如大小、类型、文件系统、挂载点等。lsblk命令从/sys虚拟文件系统和udev数据库中获取信息,如果没有udev数据库或者lsblk没有编译udev支持,那么它会尝试从块设备中读取标签、UUID和文件系统类型,这时需要root权限。
在本文中,我们将介绍如何使用lsblk命令列出Linux系统的块设备,以及一些常用的选项和参数。我们将使用Ubuntu 20.04作为示例系统,但是这些内容也适用于其他Linux发行版。
在Linux中默认的base安装是没有lsblk这个命令的,那么怎么才能够使用lsblk呢?
在centos 系列中安装服务安装软件使用的是yum,难道需要yum -y install lsblk 安装这个命令吗?
NO,不是这样的,又被套路了吧
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。
Fedora系列的(centos、RHEL等)用户可以通过以下方法来安装该包:
#yum install util-linux-ng
默认选项
lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:
$ lsblk
输出如下:
lsblk default lsblk default
7个栏目名称如下:
NAME : 这是块设备名。 MAJ:MIN : 本栏显示主要和次要设备号。 RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。 SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。 RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。 TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 (LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?) MOUNTPOINT : 本栏指出设备挂载的挂载点。
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
$ lsblk -a
该选项将列出所有设备,包括空设备在内。
lsblk bytes sda
lsblk bytes sda
lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:
$ lsblk -m lsblk permissions lsblk permissions
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:
$ lsblk -b /dev/sda
或者,以下命令等同:
$ lsblk --bytes /dev/sda
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
$ lsblk -nl
或者,你可以使用下面的长选项,它们也能给出相同的输出。
$ lsblk --noheadings --list lsblk no header and list lsblk no header and list
要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。
$ lsblk -S
lsblk列出SCSI设备,而-s是逆序选项(LCTT译注:将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:
$ lsblk -s
或者
$ lsblk --inverse
在本文中,我们学习了如何使用lsblk命令列出Linux系统的块设备,以及一些常用的选项和参数。我们了解了如何查看和过滤块设备的信息,以及如何改变输出格式和内容。我们还学习了如何使用lsblk命令获取一些高级信息,比如磁盘拓扑、磁盘对齐、磁盘丢弃(discard)等。
lsblk是一个简单而实用的命令,它可以让你更好地管理和使用你的块设备。通过使用lsblk命令,你可以提高你的存储效率和用户体验。我们建议你在使用Linux系统时,经常使用lsblk命令来列出你的块设备。
以上是如何使用lsblk命令列出Linux系统的块设备的详细内容。更多信息请关注PHP中文网其他相关文章!