UUIDGEN(1) دستورات کاربر UUIDGEN(1)

uuidgen - ایجاد شناسه‌های منحصربه‌فرد جهانی (UUID)

uuidgen [گزینه‌ها]

برنامه uuidgen با استفاده از کتابخانه libuuid(3) یک شناسه منحصربه‌فرد جهانی (UUID) جدید ایجاد (و چاپ) می‌کند. این UUID جدید را می‌توان به‌طور منطقی در میان تمام UUIDهای ایجادشده در سیستم محلی، و در میان UUIDهای ایجادشده در سیستم‌های دیگر در گذشته و آینده، یکتا در نظر گرفت.

سه نوع UUID وجود دارد که uuidgen می‌تواند تولید کند: UUIDهای مبتنی بر زمان (time-based)، UUIDهای مبتنی بر تصادف (random-based)، و UUIDهای مبتنی بر هش (hash-based). به‌طور پیش‌فرض، اگر یک تولیدکننده اعداد تصادفی با کیفیت بالا موجود باشد، uuidgen یک UUID مبتنی بر تصادف تولید می‌کند. در غیر این صورت، یک UUID مبتنی بر زمان انتخاب می‌کند. می‌توان با استفاده از گزینه‌های --random یا --time، تولید یکی از این دو نوع نخست UUID را اجبار کرد.

نوع سوم UUID با گزینه‌های --md5 یا --sha1، و به دنبال آن --namespace namespace و --name name تولید می‌شود. مقدار namespace ممکن است یک UUID شناخته‌شده باشد، یا یک نام مستعار برای یکی از UUIDهای شناخته‌شده تعریف‌شده در RFC 4122، یعنی @dns، @url، @oid یا @x500 باشد. مقدار name یک رشته دلخواه است. UUID تولیدشده، چکیده (digest) حاصل از الحاق فضای نام UUID و مقدار نام است که با الگوریتم‌های MD5 یا SHA1 هش شده است. بنابراین این یک مقدار قابل پیش‌بینی است که ممکن است زمانی مفید باشد که UUIDها به عنوان دستگیره‌ها (handles) یا نانس‌ها (nonces) برای مقادیر پیچیده‌تر یا مقادیری که نباید مستقیماً افشا شوند استفاده می‌شوند. برای اطلاعات بیشتر RFC را ببینید.

-r، --random

تولید یک UUID مبتنی بر تصادف. این روش یک UUID متشکل از بیت‌های عمدتاً تصادفی ایجاد می‌کند. این روش نیازمند آن است که سیستم‌عامل دارای یک تولیدکننده اعداد تصادفی با کیفیت بالا باشد، مانند /dev/random.

-t، --time

تولید یک UUID مبتنی بر زمان. این روش یک UUID بر اساس ساعت سیستم به‌علاوه آدرس سخت‌افزاری اترنت سیستم (در صورت وجود) ایجاد می‌کند.

-m، --md5

استفاده از MD5 به عنوان الگوریتم هش.

-s، --sha1

استفاده از SHA1 به عنوان الگوریتم هش.

-6، --time-v6

تولید یک UUID مبتنی بر زمان. این روش یک UUID بر اساس ساعت سیستم ایجاد می‌کند و بر اساس برچسب زمانی درون آن، از نظر لغت‌نگاری (lexicographically) قابل مرتب‌سازی است.

-7، --time-v7

تولید یک UUID مبتنی بر زمان. این روش یک UUID بر اساس ساعت سیستم ایجاد می‌کند و بر اساس برچسب زمانی درون آن، از نظر لغت‌نگاری قابل مرتب‌سازی است.

-n، --namespace namespace

تولید هش با پیشوند namespace. مقدار namespace یک UUID است، یا '@ns' که در آن "ns" یک UUID از پیش تعریف‌شده و شناخته‌شده است که با نام فضای نام به آن اشاره می‌شود (به بالا مراجعه کنید).

-N، --name name

تولید هش از name.

-C، --count num

تولید چندین UUID با استفاده از قابلیت ارتقایافته libuuid برای کش کردن UUIDهای مبتنی بر زمان، که در نتیجه باعث بهبود کارایی می‌شود. با این حال، این موضوع برای انواع دیگر UUID اهمیتی ندارد.

-x، --hex

تفسیر name به عنوان یک رشته هگزادسیمال.

-h، --help

نمایش متن راهنما و خروج.

-V، --version

نمایش نسخه و خروج.

OSF DCE 1.1

uuidgen --sha1 --namespace @dns --name "www.example.com"

دستور uuidgen توسط Andreas Dilger برای libuuid(3) نوشته شده است.

uuidparse(1)، libuuid(3)، RFC 4122 https://tools.ietf.org/html/rfc4122 RFC XXXX https://tools.ietf.org/html/rfcXXXX

برای گزارش باگ‌ها، از ردیاب مشکلات https://github.com/util-linux/util-linux/issues.

دستور uuidgen بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-09-02 util-linux 2.42.3