فهرست کردن و بدست آوردن اطلاعات از Block Device با استفاده از lsblk

در سیستم عامل های یونیکسی سه دسته دیوایس، بلاک دیوایس ها، کاراکتر دیوایس ها و شبه دیوایس ها وجود دارند.  در واقع در یونیکس ها از جمله لینوکس، دو نوع دیوایس سخت افزاری (بلاک دیوایس ها، کاراکتر دیوایس ها) و شبه دیوایس ها وجود دارند. یک نمونه از شبه دیوایس ها می توان به dev/tty/ اشاره کرد.

فایل های مربوط به دیوایس ها در زیر دایرکتوری dev/ قرار دارند و برای آنکه نوع فایل (نوع بلاکی یا کاراکتری بودن دیوایس) را تشخیص دهیم می تواینم از دستور ls -l /dev استفاده کنیم.

ls -l /dev

ls -l /dev/sda

ls -l /dev/tty

که اگر ابتدای خط خروجی b باشد، به معنی Block Device بودن و اگر ابتدای خط خروجی c باشد، به معنی Character Device است. همچنین توجه داشته باشید که Block and Character Device ها، دیوایس های سخت افزاری هستند و از طرفی شبه دیوایس ها که از نام آن مشخص است، دیوایس های سخت افزاری نیستند، اما در خروجی دستور ls -l ابتدای خط خروجی آنها c وجود دارد.

ls -l /dev/tty

هدف از این مطلب معرفی دستور lsblk که مخفف list block است و با این دستور می توان اطلاعات جامعی از هر بلاک دیوایس بدست آورد. منظور از بلاک دیوایس، یک دیسک سخت افزاری، یک پارتیشن، USB, DVD/CD ROM یا Flash Memory است. ساده ترین شکل استفاده از این دستور، اجرای آن بدون هیچ پارامتری است.

lsblk

lsblk_centos7_1

از خروجی شکل بالا

  • NAME : نام دیوایس سخت افزاری (نام فایل مربوط به دیوایس در زیر دایرکتوری dev/) است.
  • MAJ:MIN : اعداد Major و Minor مربوط به فایل مرتبط با دیوایس را نشان می دهد.
  • RM : مخفف Removable است و در صورتی که دیوایس از نوع Removable باشد، مانند CD/DVD Rom یا USB، مقدار این ستون 1 خواهد یود.
  • SIZE : حجم یا اندازه فضای دیسک و پارتیشن را نشان می دهد.
  • TYPE : نوع دیسک را نشا می دهد. disk معرف هارد دیسک، part معرف یک پارتیشن، lvm معرف استفاده از Logical Volume Manager و rom معرف CD/DVD Rom است.
  • MOUNTPOINT : نقطه اتصالی که پارتیشن به آن متصل شده است.

با استفاده از دستور نیز می توانید اعداد Major:Minor مربوط به دیوایس ها را مشاهده کنید.

*ls -l /dev/sd

lsblk_centos7_5

در خروجی شکل بالا می توانید مجوزهای مربوط به هر دیوایس (بلاک، کاراکتر و شبه دیوایس) را ببینید. می توانید با استفاده از سوییچ m- نیز مجوزهای مربوط به هر بلاک دیوایس را مشاهده کنید.

lsblk_centos7_6

 همچنین شما می توانید با دستور lsblk اطلاعات مربوط به یک دیوایس سخت افزاری خاص مانند dev/sda/ را ببینید.

lsblk /dev/sda

lsblk /dev/sda1

lsblk_centos7_2

 خروجی پیشفرض به صورت یک درختواره است که در شکل های بالا می توانید ببینید. در صورتی که بخواهید خروجی به صورت درختواره نباشد، باید از سوییچ l- استفاده کنید.

lsblk -l

lsblk_centos7_3

با سوییچ f- می توانید نوع سیستم فایل، UUID، LABLE مختص به هر دیوایس را مشاهده کنید.

lsblk_centos7_4

در صورتی که بخواهید خروجی را به صورت زوج های KEY=VALUE نمایش داده شود، می توانید از سوییچ P- که P بزرگ است، استفاده کنید.

lsblk_centos7_7

همچنین برای آشنایی با اعداد Major:Minor می توانید مطلب “چگونگی مدیریت دیوایس ها در لینوکس” را مطالعه کنید.