初学者 Linux lsblk 命令教程(8 个示例) 您所在的位置:网站首页 lsblk命令作用 初学者 Linux lsblk 命令教程(8 个示例)

初学者 Linux lsblk 命令教程(8 个示例)

2024-01-22 12:21| 来源: 网络整理| 查看: 265

初学者 Linux lsblk 命令教程(8 个示例) 在此页

Linux lsblk 命令 Q1。如何使用 lsblk 命令? Q2。如何让 lsblk 也显示空设备? Q3。如何使 lsblk 以字节为单位打印大小信息? Q4。如何为每个设备制作 lsblk 打印区域模型? Q5。如何使 lsblk 跳过奴隶的条目? Q6。如何使 lsblk 使用 ascii 字符进行树格式设置? Q7。如何让 lsblk 显示有关设备所有者、组和模式的信息? Q8。如何使 lsblk 输出选择列? 结论

在 Linux 中,块设备是引用或表示设备(可以是从硬盘驱动器到 USB 驱动器的任何东西)的特殊文件。所以很自然地,有一些命令行工具可以帮助您完成与块设备相关的工作。一旦这样的实用程序是 lsblk。

在本教程中,我们将使用一些易于理解的示例来讨论此命令。但在我们这样做之前,值得一提的是,这里提到的所有示例都已经在 Ubuntu 18.04 LTS 机器上进行了测试。

Linux lsblk 命令

Linux 中的 lsblk 命令列出块设备。以下是它的语法:

lsblk [options] [device...]

以下是工具手册页对其的解释:

lsblk  lists  information  about  all  available or the specified block       devices.  The lsblk command reads the sysfs filesystem and udev  db  to       gather  information.  If  the udev db is not available or lsblk is com?       piled without udev support than it tries  to  read  LABELs,  UUIDs  and       filesystem  types  from the block device. In this case root permissions       are necessary.

       The command prints all block devices (except RAM disks) in a  tree-like       format  by  default.   Use  lsblk --help to get a list of all available       columns.

       The default output, as well as the default  output  from  options  like       --fs  and  --topology, is subject to change.  So whenever possible, you       should avoid using default outputs in your scripts.  Always  explicitly       define  expected columns by using --output columns-list in environments       where a stable output is required.

       Note that lsblk might be executed in time when udev does not  have  all       information  about recently added or modified devices yet. In this case       it is recommended to use udevadm settle  before  lsblk  to  synchronize       with udev

以下是一些 Q&A 风格的示例,可以让您更好地了解 lsblk 的工作原理。

Q1。如何使用 lsblk 命令?

基本用法相当简单 - 只需执行 lsblk sans 任何选项。

lsblk

以下是此命令在我的系统上产生的输出:

第一列列出了设备名称,后面是相应的主要和次要设备号、设备是否可移动(如果是 1)、设备大小、设备是否只读、设备类型(磁盘) ,分区等),最后是设备挂载点(如果可用)。

Q2。如何让 lsblk 也显示空设备?

默认情况下,lsblk 命令只显示非空设备。但是,您也可以强制该工具显示空设备。为此,请使用 -a 命令行选项。

lsblk -a

例如,在我的例子中,上面的命令产生了以下输出:

在这种情况下,循环 13 行是新添加的。

Q3.如何使 lsblk 以字节为单位打印大小信息?

默认情况下,lsblk 以人类可读的形式打印大小信息。虽然这很好,但有时您可能需要以字节为单位的大小。好的是有一个选项(-b)可以做到这一点。

lsblk -b

以下是示例输出:

因此您可以看到 Size 列现在包含以字节为单位的条目。

Q4.如何为每个设备制作 lsblk 打印区域模型?

您可以使用 -z 命令行选项执行此操作。

lsblk -z

例如,这是在我的系统上生成的上述命令的输出:

NAME   ZONEDloop0  noneloop1  noneloop2  noneloop3  noneloop4  noneloop5  noneloop6  noneloop7  noneloop8  noneloop9  noneloop10 noneloop11 noneloop12 nonesda    none??sda1 none??sda2 none??sda3 none??sda4 none??sda5 none??sda6 none??sda7 none??sda8 nonesdb    none??sdb1 none??sdb2 noneQ5.如何使 lsblk 跳过奴隶的条目?

为此,您需要使用 -d 命令行选项,它告诉 lsblk 不要打印与持有者设备或从属设备相关的信息。

lsblk -d

这是一个示例输出:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTloop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36loop1    7:1    0  86.6M  1 loop /snap/core/4486loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59loop3    7:3    0    21M  1 loop /snap/gnome-logs/25loop4    7:4    0    87M  1 loop /snap/core/5145loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69loop10   7:10   0    13M  1 loop /snap/gnome-characters/103loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70loop12   7:12   0  86.9M  1 loop /snap/core/4917sda      8:0    0 931.5G  0 disk sdb      8:16   1  14.7G  0 disk

如果与之前案例中产生的输出进行比较,您可以看到在这种情况下输出中没有产生从属条目。

Q6.如何使 lsblk 使用 ascii 字符进行树格式设置?

默认情况下,lsblk 使用的树格式类型在许多情况下可能对用户不友好。例如,复制粘贴它可能会导致格式问题。因此,如果需要,您可以强制该工具使用 ascii 字符进行树格式设置,您可以使用 -i 命令行选项执行此操作。

lsblk -i

这是一个示例输出:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTloop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36loop1    7:1    0  86.6M  1 loop /snap/core/4486loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59loop3    7:3    0    21M  1 loop /snap/gnome-logs/25loop4    7:4    0    87M  1 loop /snap/core/5145loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69loop10   7:10   0    13M  1 loop /snap/gnome-characters/103loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70loop12   7:12   0  86.9M  1 loop /snap/core/4917sda      8:0    0 931.5G  0 disk |-sda1   8:1    0   100M  0 part |-sda2   8:2    0  52.5G  0 part |-sda3   8:3    0   293G  0 part |-sda4   8:4    0     1K  0 part |-sda5   8:5    0  93.4G  0 part |-sda6   8:6    0   293G  0 part |-sda7   8:7    0   3.9G  0 part `-sda8   8:8    0 195.8G  0 part /sdb      8:16   1  14.7G  0 disk |-sdb1   8:17   1   200M  0 part `-sdb2   8:18   1  14.5G  0 part

因此您可以看到输出(参见 sda 条目)现在包含树格式的 ASCII 字符。

Q7.如何让 lsblk 显示有关设备所有者、组和模式的信息?

这可以使用 -m 命令行选项来实现。

lsblk -m

这是在我的案例中生成的上述命令的输出:

Q8.如何使 lsblk 输出选择列?

如果需要,您还可以指示 lsblk 仅输出选定的列,您可以使用 -o 命令行选项(这需要您传递要显示的逗号分隔的列列表)来执行此操作。

例如:

lsblk -o NAME,SIZE

上述命令产生了以下输出:

结论

如果您的 Linux 工作涉及访问与块设备相关的信息,那么 lsblk 是您必须知道的命令。在本教程中,我们讨论了该工具提供的几个命令行选项。要了解有关 lsblk 的更多信息,请访问其手册页。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有