GNU/Linux >> Linux の 問題 >  >> Linux

ディスクがどこにマウントされているかを確認するコマンド?

ディスクのデバイスノードを入力として受け取り、そのディスクがマウントされている場所(およびマウントされているかどうか)を教えてくれる簡単なコマンドはありますか?マウントポイントを単独で取得して、別のコマンドに渡すことはできますか?

最小限のインストールでDebianSqueezeライブシステムに取り組んでいます(必要に応じて追加のパッケージをインストールできます)。

承認された回答:

Linuxでは、/proc/mountsのカーネルから直接マウントポイント情報を取得できます。 。 mount プログラムは同様の情報を/etc/mtabに記録します 。 /etc/mtabのように、パスとオプションは異なる場合があります mountを表します /proc/mountsがカーネルに渡されるのに対し、 は、カーネル内に表示されるデータを示しています。 /proc/mounts /etc/mtabに対して、常に最新です。 /etcの場合はそうではない可能性があります ブートスクリプトでは予期されていなかったある時点で読み取り専用でした。形式は/etc/fstabに似ています 。

どちらのファイルでも、最初の空白で区切られたフィールドにはデバイスパスが含まれ、2番目のフィールドにはマウントポイントが含まれます。

awk -v needle="$device_path" '$1==needle {print $2}' /proc/mounts

または、awkがない場合:

grep "^$device_path " /proc/mounts | cut -d ' ' -f 2

期待どおりの結果が得られない可能性のあるエッジケースがいくつかあります。デバイスが/devの別のパスを介してマウントされた場合 同じデバイスを指定しているので、このように気付くことはありません。 /proc/mounts内 、バインドマウントはオリジナルと見分けがつかない。マウントポイントが別のマウントポイントをシャドウする場合、複数の一致が存在する可能性があります(これは異常です)。

/proc/self内 または/proc/$pid 、プロセスごとのmountがあります グローバルファイルを模倣するファイル。マウント情報は、たとえばchrootが原因で、プロセス間で異なる場合があります 。 mountinfoという追加のファイルがあります これは形式が異なり、より多くの情報、特にデバイスのメジャー番号とマイナー番号が含まれています。ドキュメントから:

36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

(1) mount ID:  unique identifier of the mount (may be reused after umount)
(2) parent ID:  ID of parent (or of self for the top of the mount tree)
(3) major:minor:  value of st_dev for files on filesystem
(4) root:  root of the mount within the filesystem
(5) mount point:  mount point relative to the process's root
(6) mount options:  per mount options
(7) optional fields:  zero or more fields of the form "tag[:value]"
(8) separator:  marks the end of the optional fields
(9) filesystem type:  name of filesystem of the form "type[.subtype]"
(10) mount source:  filesystem specific information or "none"
(11) super options:  per super block options

したがって、番号でデバイスを探している場合は、次のように行うことができます:

awk -v dev="$major:minor" '$3==dev {print $5}'
awk -v dev="$(stat -L -c %t:%T /dev/block/something)" '$3==dev {print $5}'

Linux
  1. `cd`外部コマンドのポイント?

  2. Linux での mount コマンドの例

  3. マウント:コマンドが見つかりません

  1. マウントされたファイルシステムをトラバースしない Linux du コマンド

  2. RHEL6 の gem コマンドはどこにありますか?

  3. 追加の永続ディスクはどこにマウントする必要がありますか?

  1. バインドマウント?

  2. Debian –マウントポイントの元のコンテンツへのアクセス?

  3. Linux ラップトップの消去