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

スクリプトからUUID/ファイルシステムを取得しますか?

/を含むボリュームのUUIDを取得するにはどうすればよいですか ファイルシステム?
これまでに見つけた中で最も優れているのは、blkid -o listです。 。しかし、この出力は人間が読める形式であり、解析が困難です。たぶんもっと良い方法がありますか?

システム固有のテンプレートを使用して構成管理をパラメーター化するために必要です。

blkidに関する注意 将来私の質問の結果を再利用する可能性がある人のための落とし穴:blkid 以前の実行の結果を/etc/blkid.tabにキャッシュします 。つまり、blkidを実行しているということです 非rootユーザーが初めてデータを返すことはありません。また、blkidを実行します rootを実行した後、root以外のユーザーは、古い(おそらく正しくない)データを返します。

承認された回答:

findmntを使用する :

$ findmnt /        
TARGET SOURCE       FSTYPE OPTIONS
/      /dev/md127p1 ext4   rw,relatime,stripe=256,data=ordered
$ findmnt / -o UUID
UUID
046a554b-d9f5-4b23-82e6-ffaeb98284aa
$ findmnt / -o UUID -n
046a554b-d9f5-4b23-82e6-ffaeb98284aa

また、情報の検索方法と表示方法(JSON出力を含む)を制御するためのいくつかのオプションがあります。これはmountの一部です パッケージなので、Ubuntuのインストールで利用できます。


Ubuntu
  1. bashスクリプトが同時に実行されないようにする

  2. シェルスクリプトはどこから実行されますか?

  3. デスクトップショートカットからShスクリプトを実行する方法は?

  1. * .desktopファイルからShスクリプトを実行しますか?

  2. スクリプトからUUID/ファイルシステムを取得しますか?

  3. Bashスクリプトからプログラムをインストールしますか?

  1. シェルスクリプトでフォークされた子プロセスから PID を取得する方法

  2. シェルスクリプトだけを使用してテキストファイルから特定の行を取得する

  3. ファイルシステムの UUID (2 つの同じ UUID) を変更するには?