Oracle Solaris ZFS 管理指南

查询 ZFS 文件系统信息

zfs list 命令提供了一种用于查看和查询数据集信息的可扩展机制。本节中对基本查询和复杂查询都进行了说明。

列出基本 ZFS 信息

通过使用不带任何选项的 zfs list 命令可以列出基本数据集信息。此命令可显示系统中所有数据集的名称,以及其 usedavailablereferencedmountpoint 属性的值。有关这些属性的更多信息,请参见ZFS 属性介绍

例如:


# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
pool                   476K  16.5G    21K  /pool
pool/clone              18K  16.5G    18K  /pool/clone
pool/home              296K  16.5G    19K  /pool/home
pool/home/marks        277K  16.5G   277K  /pool/home/marks
pool/home/marks@snap      0      -   277K  -
pool/test               18K  16.5G    18K  /test

另外,还可使用此命令通过在命令行中提供数据集名称来显示特定数据集。此外,使用 -r 选项将以递归方式显示该数据集的所有后代。例如:


# zfs list -r pool/home/marks
NAME                   USED  AVAIL  REFER  MOUNTPOINT
pool/home/marks        277K  16.5G   277K  /pool/home/marks
pool/home/marks@snap      0      -   277K  -

您可以结合文件系统的挂载点使用 zfs list 命令。例如:


# zfs list /pool/home/marks
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool/home/marks   277K  16.5G   277K  /pool/home/marks

以下示例说明如何显示 tank/home/chua 及其所有后代数据集的基本信息:


# zfs list -r tank/home/chua
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
tank/home/chua		          26.0K  4.81G  10.0K  /tank/home/chua 
tank/home/chua/projects       16K  4.81G   9.0K  /tank/home/chua/projects
tank/home/chua/projects/fs1    8K  4.81G     8K  /tank/home/chua/projects/fs1 
tank/home/chua/projects/fs2    8K  4.81G     8K  /tank/home/chua/projects/fs2

有关 zfs list 命令的其他信息,请参见 zfs(1M)

创建复杂的 ZFS 查询

使用 o-t-H 选项可对 -zfs list 输出进行自定义。

通过使用 -o 选项以及所需属性的逗号分隔列表可以自定义属性值输出。可以将任何数据集属性作为有效参数提供。有关所有受支持的数据集属性的列表,请参见ZFS 属性介绍。除了定义的属性外,-o 选项列表还可以包含字符 name,以指明输出应包括数据集的名称。

以下示例使用 zfs list 来显示数据集名称以及 sharenfsmountpoint 属性值。


# zfs list -o name,sharenfs,mountpoint
NAME                   SHARENFS         MOUNTPOINT
tank                   off              /tank
tank/home              on               /tank/home
tank/home/ahrens       on               /tank/home/ahrens
tank/home/bonwick      on               /tank/home/bonwick
tank/home/chua         on               /tank/home/chua
tank/home/eschrock     on               legacy
tank/home/moore        on               /tank/home/moore
tank/home/tabriz       ro               /tank/home/tabriz

可以使用 -t 选项指定要显示的数据集的类型。下表中介绍了有效的类型。

表 6–2 ZFS 数据集的类型

类型 

说明 

filesystem

文件系统和克隆 

volume

卷 

snapshot

快照 

-t 选项可后跟要显示的数据集类型的逗号分隔列表。以下示例同时使用 -t-o 选项来显示所有文件系统的名称和 used 属性:


# zfs list -t filesystem -o name,used
NAME              USED
pool              476K
pool/clone         18K
pool/home         296K
pool/home/marks   277K
pool/test          18K

使用 -H 选项可从生成的输出中省略 zfs list 标题。使用 -H 选项时,所有空格都被 Tab 字符取代。当需要可解析的输出(例如编写脚本时),此选项可能很有用。以下示例显示了使用带有 H 选项的 -zfs list 命令所生成的输出:


# zfs list -H -o name
pool
pool/clone
pool/home
pool/home/marks
pool/home/marks@snap
pool/test