連載
» 2018年02月22日 05時00分 公開

Linux基本コマンドTips(185):【 findmnt 】コマンド――マウントポイントをツリー状に表示する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、マウントポイントをツリー状に表示したり、マウント済みのファイルシステムを探したりする「findmnt」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、マウントポイントをツリー状に表示したり、マウント済みのファイルシステムを探したりする「findmnt」コマンドです。

findmntコマンドとは?

 LinuxではHDDやUSBメモリなどのデバイスを利用する前に、デバイス上のファイルシステム(※1)を、Linuxのディレクトリ(マウントポイント)と結び付ける「マウント」処理が必要です(連載第183回)。デバイスを取り外す際などには逆の「アンマウント」処理が不可欠です。

 「findmnt」は、システムにマウント済みのファイルシステムを一覧表示するコマンドです。さらに、ファイルシステムやラベル、識別子(UUID)などを基に(※2)、マウント済みのファイルシステムを探すこともできます。

 Linuxにはfindmntの他にもファイルシステムを探すコマンドがあります。findfsコマンド(第181回)です。findmntはマウントポイントを視覚的に一覧表示し、findfsよりも細かく動作を指定できます。

 マウントポイントではなく、ブロックデバイスを一覧表示するコマンドもあります。lsblkコマンド(第180回)です。findmntとfindfs、lsblkはいずれもutil-linuxパッケージに収録されています。

※1 ファイルの管理方式や管理方式にのっとってフォーマットした記憶領域のことを「ファイルシステム」と言う。
※2 UUID(Universally Unique IDentifier、汎用一意識別子)は、ファイルシステムごとにシステムがランダムに自動生成するほぼ確実に一意な数値。長さは128ビット。





findmntコマンドの書式

findmnt [オプション] [デバイスまたはマウントポイント]

findmnt [オプション] デバイス マウントポイント

※[ ]は省略可能な引数を示しています。




findmntの主なオプション(動作方法の指定)

短いオプション 長いオプション 意味
-s --fstab /etc/fstab(マウント用の設定ファイル)を基に検索し、一覧表示する。表示はリスト形式
-m --mtab /etc/mtab(現在のマウント状況が記録されているファイル)を基に検索し、一覧表示する。表示はリスト形式
-k --kernel カーネルの情報(/proc/self/mountinfo)を基に検索し、一覧表示する(デフォルト)。表示はツリー形式
-p --poll /proc/self/mountinfoを監視することでマウントの状況の変化をつかみ、変化があった場合は表示する([CTRL]+[C]で終了)。「--poll=mount,umount,remount,move」のように監視対象となる状況変化の種類を指定可能(デフォルトは4つ全て)

findmntの主なオプション(検索、表示対象)

短いオプション 長いオプション 意味
-S 対象 --source 対象 表示対象をデバイス名または「項目名=値」(LABEL=やUUID=)という形式で指定する
-T 場所 --target 場所 指定した場所を含むマウントポイントを表示する ※3
-O オプション --options オプション 表示対象とするマウントオプションを指定する(-O roなど、「,」区切りで複数指定可能)。「〜以外」としたい場合は先頭に「no」を付ける(-O noroなど)
-t 形式 --types 形式 表示対象とするファイルシステムを指定する(-t xfsなど、「,」区切りで複数指定可能)。「〜以外」としたい場合は先頭に「no」を付ける(-t noxfsなど)
-i --invert 検索の指定を逆(否定)にする(-Oや-tなどと組み合わせて利用する)
-d 方向 --direction 方向 検索の方向を選択する(「forward」か「backward」のどちらか)
-f --first-only マッチするマウントポイントを1つ見つけた時点で表示し、終了する(UUIDなどで探す場合の効率がよくなる)
-v --nofsroot bindまたはbtrfsによるマウントポイントを表示しない
-R --submounts 指定に合致したサブマウントを全て表示する(-R tmpfsなど)

※3 -Tで任意のディレクトリを指定して検索できるのは-k(--kernel、デフォルト)使用時のみ。--fstab、--mtab指定時はマウントポイントのみ検索可能。Ubuntu 14.04 LTS収録のfindmntコマンドの場合、常にマウントポイントのみが検索対象となる。



findmntの主なオプション(出力方法)

短いオプション 長いオプション 意味
-a --ascii ツリーを表現する線を「-」記号や「|」記号などの文字で表示する
-l --list ツリー状ではなくリストで表示する
-P --pairs 「項目名=値」のフォーマットで出力する
-r --raw 整形せずに出力する
-n --noheadings (-l指定時などの)ヘッダ行を表示しない
-u --notruncate 長い項目(OPTIONS項目)を全て表示する
-o 項目 --output 項目 出力する項目を指定する(-o TARGETなど、「,」区切りで複数指定可能、「+」記号で表示項目の追加、使用できる項目名は「findmnt -h」で確認)
-e --evaluate LABELやUUIDタグをデバイス名に変換して表示する(--fstab、--mtab使用時)


マウントポイントをツリー状に表示する

 「findmnt」で、現在マウント済みのファイルシステムをツリー状に一覧表示します(画面1)。引数に表示対象としたいデバイスやマウントポイントを指定できます。

コマンド実行例

findmnt

(現在のマウント状況をツリー状に表示)(画面1

findmnt /dev/sda1

(/dev/sda1のマウントポイントを表示)

findmnt /

(ルートにマウントされているデバイスを表示)


画面1 画面1 マウントポイントを一覧表示したところ マウントポイント(TARGET)やデバイス(SOURCE)、ファイルシステムの種類(FSTYPE)、実行可能な操作など(OPTIONS)が見える


ファイルシステムやマウントオプションを指定してマウントポイントを検索する

 「-t ファイルシステム」で、指定した種類のファイルシステムのマウントポイントを表示します(画面2)。「-O オプション」では、指定したオプションでマウントしているマウントポイントを出力します。いずれも複数指定したい場合は「,」で区切ります。

コマンド実行例

findmnt -t ファイルシステム

(ファイルシステムの種類を指定して表示する)

findmnt -t xfs

(XFSでフォーマット済みの場所を表示する)(画面2の1)

findmnt -t ext3,ext4

(EXT3またはEXT4でフォーマット済みの場所を表示する)

findmnt -O ro

(リードオンリーでマウント済みの場所を表示する)(画面2の2)


画面2 画面2 ファイルシステムの種類などを指定して検索したところ


/etc/fstabの情報を表示する

 findmntはカーネルの情報(/proc/self/mountinfo)を基にマウントポイントを表示します。「-s」(--fstab)オプションを付けると、/etc/fstabの情報(静的な情報)を表示します(画面3)。/etc/fstabは、常時マウントしたいデバイスなどを記録したファイルで、システムの起動時などに使用します(書式などは第183回を参照)。

 /etc/fstabでラベルや識別子(UUID)が使われている場合、「-e」オプションで実際のデバイス名に変換できます。

コマンド実行例

findmnt --fstab画面3

(/etc/fstabの情報を表示する)

findmnt --fstab -e画面3

(/etc/fstabの情報を表示する際、ラベルやUUID部分をデバイス名に変換して表示する)


画面3 画面3 /etc/fstabの情報を用いてマウントポイントの情報を表示したところ


表示項目を変更する

 findmntの表示項目を「-o」オプションで変更できます。例えば、マウントポイント(TARGET)とデバイス(SOURCE)、サイズ(SIZE)を表示したい場合は「-t TARGET,SOURCE,SIZE」のようにします(※4)。現在の表示にSIZEを追加するだけなら「findmnt -o +SIZE」とします。どのような項目が指定できるのか、「findmnt --help」で確認できます。

 マウントポイントをツリー状ではなく、リストで表示したい場合は「-l」オプションを指定します。

 指定した項目が多い場合など、1行に全てが収まらない場合は、自動的に行末を適宜カットして表示します。カットしたくない場合は「-u」オプションを使います。

※4 Ubuntu 14.04 LTSの初期状態では「SIZE」は指定できない。



コマンド実行例

findmnt -o 項目1,項目2,項目3

(表示する項目を指定する)

findmnt -o +項目1,+項目2,+項目3

(表示する項目を追加する)

findmnt --help

(findmntコマンドの使い方と使用できる項目を表示する)

findmnt -l

(マウントポイントをリスト形式で表示する)

findmnt -u

(1行が長くなった場合もカットせずに表示する)

findmnt -t xfs -l -o TARGET,SOURCE,SIZE,FSTYPE,OPTIONS

(XFSでフォーマットされている場所を、リスト形式で、マウントポイントとデバイス、サイズ、ファイルシステム、オプションを表示)(画面4の1)

findmnt -t xfs -l -o TARGET,SOURCE,SIZE,FSTYPE,OPTIONS -u

(同様に長い行をカットせずに表示)(画面4の2)


画面4 画面4 表示項目を指定してfindmntを実行したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。