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

bash で一意の乱数 (UUID) を作成する

Linux では、util-linux /util-linux-ng パッケージは、UUID を生成するコマンドを提供します:uuidgen .

$ uuidgen
5528f550-6559-4d61-9054-efb5a16a4de0

マニュアルを引用するには:

<ブロック引用>

uuidgen プログラムは、libuuid を使用して、新しい Universally Unique Identifier (UUID) を作成 (および出力) します。 (3) ライブラリ。新しい UUID は、ローカル システムで作成されたすべての UUID と、過去および将来に他のシステムで作成された UUID の中で一意であると合理的に見なすことができます。

uuidgen が生成できる UUID には、時間ベースの UUID とランダムベースの UUID の 2 種類があります。デフォルトでは、高品質の乱数ジェネレーターが存在する場合、uuidgen はランダムベースの UUID を生成します。それ以外の場合は、時間ベースの UUID が選択されます。 -r を使用して、これら 2 つの UUID タイプのいずれかを強制的に生成することができます。 または -t オプション。

補遺:OP は、コメントに Presto DB のドキュメントへのリンクを提供していました。少し検索した後、 node.id が明示的に言及されているこの関連する議論を見つけました プロパティは実際に UUID です。

コメントにfrostschutzから提供された情報を追加:

uuidgen の代替として /libuuid このアプローチでは、Linux カーネル自体によって公開されているインターフェイスを利用して UUID を生成できます。

$ cat /proc/sys/kernel/random/uuid
00db2531-365c-415c-86f7-503a35fafa58

UUID はリクエストごとに再生成されます。


Linux
  1. Linux でのランダム UUID の生成

  2. bash コマンドで CPU スパイクを作成する方法

  3. Bashでbcを使用して数値を丸める

  1. ランダムを使用してbashでランダムな文字列を生成する

  2. Linuxで1GBのランダムファイルを作成するにはどうすればよいですか?

  3. bash ですべてのネットワーク インターフェイスを含むアレイを作成する

  1. スペースなしでランダムな16進数を作成するにはどうすればよいですか?

  2. Bashで文字列を数値として評価する方法

  3. Bash で関数を作成して呼び出す方法