Linuxでfindmntコマンドを使用する方法
公開: 2022-06-16 Linuxのfindmnt
コマンドを使用して、ファイルシステムのマウントポイントに関するすべてを検出します。 これは、構文が非常に簡単なオールインワンツールです。 使い方をご紹介します。
マウントポイント
Linuxファイルシステムは大きなツリーです。 Linuxをインストールしたときに行った選択に応じて、コンピューター内のハードドライブごとにファイルシステムが異なる場合があります。 snap
パッケージを使用する場合は、システムにもsquashfs
疑似ファイルシステムがあります。 USBメモリスティックなどのデバイスには、特にWindowsコンピュータでも使用する場合、さまざまなファイルシステムが搭載されています。
ファイルシステムの種類に関係なく、それらはすべて、マウントと呼ばれるプロセスでファイルシステムツリーに移植する必要があります。 取り付けは、動作するシステムを取得するための重要なステップです。 私たちはハードドライブのようなデバイスをマウントすることを考える傾向がありますが、実際にマウントされているのはそのデバイス上のファイルシステムです。 また、これらのさまざまなファイルシステムすべてにアクセスできないと、コンピューターが起動しなかったり、アプリケーションやデータにアクセスできなくなったりする可能性があります。
ファイルシステムはマウントポイントにマウントされます。 これらは単なる空のディレクトリです。 ファイルシステムがマウントされたら、そのディレクトリに入るとそのファイルシステムに移動します。 それは大きな柔軟性を与えます。 ファイルシステムツリーのルートは「 /
」にマウントする必要がありますが、特定の状況で最も意味のある場所であればどこでも他のファイルシステムをマウントできます。
その柔軟性は、すべての異なるマウントポイント、特に自動的に作成され、ユーザーの関与なしに作成されたマウントポイントを追跡するのが難しい場合があることを意味します。 Linuxには、マウントポイントの構成と状態を確認できるさまざまなコマンドラインツールが用意されています。 それらすべての中で、 findmnt
は最も使いやすく、独自のトリックがいくつかあります。
findmntコマンド
findmnt
コマンドは、確認したUbuntu、Manjaro、およびFedoraビルドにすでにインストールされています。 Linuxコンピューターにインストールされていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単に見つけることができます。
ファイルシステムのマウントに使用するコマンドラインツールは、 mount
と呼ばれます。 起動時にマウントされるファイルシステムは、「/ etc/fstab」ファイルで定義されます。 mount
コマンドを使用して、「/ etc/fstab」ファイルで構成されているすべてのマウントポイントのダンプを取得できます。
マウント
出力は詳細ですが、テキストの密集した壁にフォーマットされています。
少しの努力で、それを通り抜けるか、 grep
などのユーティリティを介してパイプして、興味のあるビットをウィンクアウトすることができますfindmnt
からの出力ははるかにアクセスしやすくなっています。
findmnt
対照的に、 findmnt
からのデフォルトの出力は表にされており、マウントポイントの階層を示すツリーが含まれています。
列は次のとおりです。
- ターゲット:ファイルシステム内のマウントポイントの場所
- ソース:ファイルシステムを含むソースデバイス。 これは、ループバックデバイスのような疑似デバイスである可能性があることに注意してください。
- Fstype :ファイルシステムタイプ。
- オプション:コマンドラインマウントコマンドまたは「/ etc/fstab」ファイルでファイルシステムをマウントするために使用されたオプション。
ツリーなしで出力を表示するには、 -l
(リスト)オプションを使用します。
findmnt -l
列は同じですが、マウントポイント階層はインデントされたツリーとして表されません。
特定のファイルシステムタイプの選択
-t(type)オプションを指定すると、 findmnt
は、要求したファイルシステムタイプのみを含むようにレポートを制限します。 たとえば、 ext4
ファイルシステムのみを表示するには、次を使用します。
findmnt -t exta
入力するsquashfs
ファイルシステムのみを表示するには、次のようにします。
findmnt-tスカッシュフ
コマンドラインで指定したタイプ以外のすべてが表示されるように選択を反転するには、 -i
(反転)オプションを使用します。
findmnt -t squashfs -i
squashfs
ファイルシステムは報告されません。
-t
(type)オプションを使用すると、ファイルシステムタイプのコンマ区切りリストを使用できます。 ファイルシステムタイプ間に空白は許可されていないため、それらの間にスペースを入れないでください。
findmnt -t squashfs、proc、ext4
データソースの選択
デフォルトでは、 findmnt
は「/ etc / fstab」、「/ etc / mtab」、および「/ proc / self/mountinfo」から情報を取得します。
- / etc / fstab :これは構成されたマウントの詳細を保持するファイルです。 これらは起動時に実行されます。
- / etc / mtab :このファイルは、現在マウントされているマウントの詳細を保持します。
- / proc / self / mountinfo :これは、システムのマウントの最も信頼できるアカウントをカーネルに照会します。
必要に応じて、特定のソースを使用するようにfindmnt
に指示できます。 オプションは次のとおりです。
- —fstabまたは-s :「/ etc/fstab」のみを調べます。
- —mtabまたは-m :「/ etc/mtab」のみを調べます。
- —kernelまたは-k :「/ proc / self/mountinfo」のみを調べます。
vfat
ファイルシステムを探すと、これによって違いが生じることがわかります。 まず、 -s
(fstab)オプションを使用します。 これにより、「/ boot/efi」にマウントされた1つのvfat
ファイルシステムが見つかります。
findmnt -s -t vfat
もう一度やり直しますが、今回は-k
(カーネル)オプションを使用します。
findmnt -k -t vfat
これは4つのエントリについて報告します。 1つは、 -s
オプションで見つかったものと同じvfat
ファイルシステムです。 他の3つは、2つのUSBメモリスティックが接続されたために発生したアドホックマウントです。「/ etc / fstab」ファイルで構成されていないため、 -s
オプションはそれらを検出しませんでした。
1つのUSBメモリスティックは、デバイスsdc
の最初のパーティションである「/ dev/sdc1」として接続されます。 もう一方のメモリスティックには2つのパーティションがあり、これらは「/ dev/sdb1」および「/dev/sdb2」としてマウントされています。
関連: Linux fstabファイルとは何ですか?どのように機能しますか?
マウントポイントによる選択
マウントポイントがわかっている場合は、それをfindmnt
に渡して、設定やその他の詳細を確認できます。
findmnt / media / dave / PINK
findmnt / media / dave / WHITEUSB
これらの2つのUSBメモリスティックにはvfat
ファイルシステムがあり、「/ dev/sdb2」および「/dev/sdc1」としてマウントされていることがわかります。
findmntでのポーリングモードの使用
おそらく、 findmnt
の最もクールな機能は、ポーリング機能です。 USBデバイスに画像を書き込むことは、定期的に行っていることです。 もちろん、正しいドライブを特定することは重要です。 間違ったデバイスを上書きしたくない。 findmnt
を使用すると、リムーバブルドライブが接続されているデバイスを簡単に確認できます。
これを行うには2つの方法があります。 findmnt
に、ミリ秒単位で表される一定期間、新しいマウントを監視するように依頼できます。 その期間中に発生したマウントはすべて報告されます。 これは--timeout
オプションを使用します。
2番目の方法は、 findmnt
に新しいマウントが検出されるまで待機するように指示します。 これは--first-only
オプションを使用します。 新しいマウントが発生するまで待機しますが、最初に発生したマウントについてのみレポートします。 --timeout
オプションは、指定されたポーリング期間中に発生したすべての新しいマウントについてレポートします。
このコマンドは、 findmnt
に新しいマウントを30秒間監視するように指示します。
findmnt -p --timeout 30000
その期間中に1本のUSBメモリスティックが接続され、報告され、 findmnt
は残りの30秒間監視を続けています。
このコマンドは、新しいマウントポイントが1つ作成されるのを確認するまで、 findmnt
に新しいマウントを監視するように指示します。
findmnt -p --first-only
新しいデバイスが接続されると、新しいマウントポイントについて報告され、コマンドプロンプトが表示されます。
ファウルアップを回避する簡単な方法
間違ったデバイスを上書きすることは常に災害です。 findmnt
コマンドを使用すると、接続したばかりのデバイスを簡単に確実に識別できるため、上書きプロセスがはるかに安全になります。
簡単で安全なことは、勝利を勝ち取るという別の言い方です。
関連: Windowsで空き領域を安全に上書きする方法