LSBLK(8) إدارة النظام LSBLK(8)

الاسم

lsblk - ادرج الأجهزة الكتلية

موجز

lsblk [خيارات] [جهاز...]

الوصف

يُدرج lsblk معلومات حول جميع الأجهزة الكتلية المتاحة أو المحددة. يقرأ الأمر lsblk نظام ملفات sysfs و udev db لجمع المعلومات. إذا لم يكن udev db متاحاً أو عُصرج lsblk دون دعم udev، فإنه يحاول قراءة اللصائق (LABELs) والمعرفات الفريدة (UUIDs) وأنواع أنظمة الملفات من الجهاز الكتلي. في هذه الحالة، تكون صلاحيات الجِذر ضرورية.

بشكل مبدئي، يطبع الأمر جميع الأجهزة الكتلية (باستثناء أقراص الذاكرة العشوائية RAM) بتنسيق شبيه بالشجرة. يمكن تكرار الجهاز نفسه في الشجرة إذا كان مرتبطاً بأجهزة أخرى. يُوصى بالخيار --merge للإعدادات الأكثر تعقيداً لجمع مجموعات الأجهزة ووصف علاقات N:M المعقدة.

يُمكن المخرج الشبيه بالشجرة (أو مصفوفة children[] في مخرج JSON) فقط في حال وجود عمود NAME في المخرج أو عند استخدام خيار سطر الأوامر --tree. انظر أيضاً --nodeps و --list للتحكم في تنسيق الشجرة.

المخرج المبدئي، وكذلك المخرج المبدئي من خيارات مثل --fs و --topology، عرضة للتغيير. لذا، كلما أمكن، يجب تجنب استخدام المخرجات المبدئية في برامجك النصية. حدد دائماً الأعمدة المتوقعة صراحةً باستخدام --output قائمة-الأعمدة و --list في البيئات التي تتطلب مخرجاً مستقراً.

استخدم lsblk --list-columns للحصول على قائمة بكافة الأعمدة المتاحة.

لاحظ أن lsblk قد يُنفذ في وقت لا يملك فيه udev جميع المعلومات حول الأجهزة المضافة أو المعدلة حديثاً بعد. في هذه الحالة يُوصى باستخدام udevadm settle قبل lsblk للمزامنة مع udev.

العلاقة بين الأجهزة الكتلية وأنظمة الملفات ليست دائماً علاقة واحد لواحد. قد يستخدم نظام الملفات أكثر من جهاز كتلي، أو قد يكون نظام الملفات نفسه متاحاً عبر مسارات متعددة. هذا هو السبب في توفير lsblk لعمودي MOUNTPOINT و MOUNTPOINTS (جمع). يعرض العمود MOUNTPOINT نقطة وصل واحدة فقط (عادةً آخر نسخة وُصلت من نظام الملفات)، ويعرض العمود MOUNTPOINTS عبر خلية متعددة الأسطر جميع نقاط الوصل المرتبطة بالجهاز.

الخيارات

-A، --noempty

لا تطبع الأجهزة الفارغة.

-a، --all

عطل كافة المرشحات المدمجة وادرج جميع الأجهزة الفارغة وأجهزة أقراص الذاكرة العشوائية RAM أيضاً.

-b، --bytes

اطبع الأحجام بالبايت بدلاً من الصيغة السهلة القراءة للبشر.

مبدئياً، تُعرض الأحجام بوحدات هي قوى لـ 1024 بايت. الاختصارات الرسمية لهذه الوحدات (KiB، MiB، GiB، ...) تُختصر لاحقاً إلى حرفها الأول فقط: K، M، G، ....

-H، --list-columns

يسرد الأعمدة التي يمكن تحديدها بالخيار ‎--output‎. يمكن استخدامه مع ‎--json‎ أو ‎--raw‎ للحصول على القائمة بتنسيق مقروء آلياً.

-D، --discard

اطبع معلومات حول قدرات الإهمال (TRIM, UNMAP) لكل جهاز.

-d، --nodeps

لا تطبع الأجهزة الحائزة أو التابعة. على سبيل المثال، يطبع lsblk --nodeps /dev/sda معلومات حول الجهاز sda فقط.

-E، --dedup عمود

استخدم عمود كمفتاح لإزالة التكرار من شجرة المخرج. إذا لم يكن المفتاح متاحاً للجهاز، أو كان الجهاز قسماً وجهاز القرص الكامل الأب يوفر نفس المفتاح، فسيُطبع الجهاز دائماً.

حالة الاستخدام المعتادة هي إزالة تكرار المخرج في أجهزة النظام متعددة المسارات، على سبيل المثال بواسطة -E WWN.

-e، --exclude قائمة

استثنِ الأجهزة المحددة بواسطة قائمة أرقام الأجهزة الرئيسية المفصولة بفاصلة. لاحظ أن أقراص الذاكرة العشوائية RAM (الرقم الرئيسي=1) تُستثنى بشكل مبدئي إذا لم يُحدد --all. يُطبق المرشح على أجهزة المستوى الأعلى فقط. قد يكون هذا مربكاً لتنسيق مخرج --list حيث لا يكون تدرج الأجهزة واضحاً.

-f، --fs

أخرج معلومات حول أنظمة الملفات. هذا الخيار يعادل -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. تُوفّر المعلومات الموثوقة حول أنظمة الملفات والمصفوفات (raids) بواسطة الأمر blkid(8).

--hyperlink[=متى]

اطبع المسارات كروابط تشعبية للطرفية. يمكن أن يكون معامل متى الاختياري always أو never أو auto. وإذا حُذف المعامل، فسيُضبط مبدئياً على auto، مما يعني أن الروابط التشعبية ستُستخدم فقط عندما يذهب المخرج إلى طرفية.

-I، --include قائمة

ضمّن الأجهزة المحددة بواسطة قائمة أرقام الأجهزة الرئيسية المفصولة بفاصلة. يُطبق المرشح على أجهزة المستوى الأعلى فقط. قد يكون هذا مربكاً لتنسيق مخرج --list حيث لا يكون تدرج الأجهزة واضحاً.

-i، --ascii

استخدم محارف ASCII لتنسيق الشجرة.

-J، --json

استخدم تنسيق مخرج JSON. يُوصى بشدة باستخدام --output وكذلك --tree إذا لزم الأمر. لاحظ أن children[] يُستخدم فقط في حال استخدام عمود NAME أو --tree.

-l، --list

أنتج المخرج على شكل قائمة. لا يوفر المخرج معلومات حول العلاقات بين الأجهزة، ومنذ الإصدار 2.34 يُطبع كل جهاز مرة واحدة فقط إذا لم يُحدد --pairs أو --raw (يتم الحفاظ على المخرجات القابلة للتحليل بطريقة متوافقة مع الإصدارات السابقة).

-M، --merge

جمع أصول الأشجار الفرعية لتوفير مخرج أكثر وضوحاً لـ RAIDs والأجهزة متعددة المسارات. المخرج الشبيه بالشجرة مطلوب.

-m، --perms

أخرج معلومات حول مالك الجهاز والمجموعة والوضع. هذا الخيار يعادل -o NAME,SIZE,OWNER,GROUP,MODE.

-N، --nvme

أخرج معلومات حول أجهزة NVMe فقط.

-v، --virtio

أخرج معلومات حول أجهزة virtio فقط.

-n، --noheadings

عدم طباعة سطر الترويسة.

-o، --output قائمة

حدد أعمدة المخرجات المراد طباعتها. استخدم --list-columns للحصول على قائمة بكافة الأعمدة المتاحة. قد تؤثر الأعمدة على المخرجات الشجرية. الإجراء المبدئي هو استخدام الشجرة للعمود 'NAME' (انظر أيضًا --tree).

يمكن توسيع قائمة الأعمدة المبدئية إذا حُددت القائمة قائمة بتنسيق +list (مثال: lsblk -o +UUID).

-O، --output-all

أخرج كافة الأعمدة المتاحة.

-P، --pairs

أنتِج المخرجات على شكل أزواج مفتاح="قيمة". لا تزال أسطر المخرجات مرتبة حسب التبعيات. تُهرب جميع محارف القيم غير الآمنة محتملًا بنظام الستة عشري (\x<code>). انظر أيضًا الخيار --shell.

-p، --paths

اطبع مسارات الأجهزة الكاملة.

-Q, --filter expression

طباعة الأجهزة التي تستوفي الشروط المحددة بواسطة التعبير فقط. يُقيم المرشح قبل جمع lsblk للبيانات لكافة أعمدة المخرجات. تُسترجع البيانات اللازمة فقط للتقييم الكسول (lazy evaluation) للتعبير من النظام. يمكن لهذا النهج تحسين الأداء مقارنة بالترشيح اللاحق، كما تفعل عادةً أدوات مثل grep(1).

هذه الميزة تجريبية. انظر أيضاً scols-filter(5).

على سبيل المثال، لاستثناء sda و sdb وطباعة كل شيء آخر ('!~' هو عامل مطابقة تعبير نمطي منفي):

lsblk --filter 'NAME !~ "sd[ab]"'

--highlight التعبير

تلوين الأسطر التي تطابق التعبير.

هذه الميزة تجريبية. انظر أيضاً scols-filter(5).

--ct الاسم[:المعلمة[:الدالة]]

تعريف عداد مخصص. تُطبع العدادات المخصصة بعد المخرجات القياسية. الاسم هو الاسم المخصص للعداد، والمعلمة الاختيارية المعلمة هي اسم العمود المراد استخدامه للعداد، والدالة الاختيارية الدالة تحدد دالة التجميع. الدوال المدعومة هي: count أو min أو max أو sum. الدالة المبدئية هي count. وإذا لم تُحدد المعلمة، فإن العداد يحصي عدد الأسطر.

هذه الميزة تجريبية. انظر أيضاً --ct-filter.

على سبيل المثال، يُبلغ --ct MyCounter:SIZE:sum عن مجموع قيم الحجم (SIZE). وللإبلاغ عن عدد أقراص SATA، يمكن استخدام:

lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' \
      --ct "Number of SATA devices"

--ct-filter التعبير

تعريف قيود للعداد التالي.

هذه الميزة تجريبية. انظر أيضاً --ct و scols-filter(5).

على سبيل المثال، لتجميع الأحجام حسب نوع الجهاز:

lsblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \
      --ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum

-r، --raw

أنتِج المخرجات بالتنسيق الخام (raw). لا تزال أسطر المخرجات مرتبة حسب التبعيات. تُهرب كافة المحارف غير الآمنة محتملًا بنظام الستة عشري (\x<code>) في أعمدة NAME و KNAME و LABEL و PARTLABEL و MOUNTPOINT.

-S، --scsi

أخرج معلومات حول أجهزة SCSI فقط. يتم تجاهل كافة الأقسام والأجهزة التابعة والحائزة.

-s، --inverse

اطبع التبعيات بترتيب عكسي. إذا طُلبت مخرجات القائمة --list فستبقى الأسطر مرتبة حسب التبعيات.

-T، --tree[=عمود]

افرض تنسيق المخرجات الشجري. إذا حُدد العمود عمود، فستُطبع الشجرة في ذلك العمود. القيمة المبدئية هي العمود NAME.

-t، --topology

أخرج معلومات حول طوبولوجيا الجهاز الكتلي. هذا الخيار يكافئ

-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME.

-w، --width رقم

يحدد عرض المخرجات كعدد من المحارف. الإجراء المبدئ هو عدد أعمدة الطرفية، وإذا لم يُنفذ على طرفية، فلا يُقيد عرض المخرجات أبدًا بشكل مبدئي. يفرض هذا الخيار أيضًا على lsblk افتراض أن محارف التحكم في الطرفية والمحارف غير الآمنة غير مسموح بها. حالة الاستخدام المتوقعة هي مثلًا عند استخدام lsblk بواسطة الأمر watch(1).

-x، --sort عمود

فرز أسطر المخرجات حسب العمود عمود. يفعل هذا الخيار تنسيق مخرجات القائمة --list مبدئيًا. يمكن استخدام الخيار --tree لفرض مخرجات شجرية وعندها تُفرز فروع الشجرة حسب العمود عمود.

-y، --shell

سيُعدل اسم العمود ليحتوي فقط على المحارف المسموح بها لمعرفات متغيرات الصدفة، على سبيل المثال، MIN_IO و FSUSE_PCT بدلًا من MIN-IO و FSUSE%. هذا مفيد، على سبيل المثال، مع --pairs. لاحظ أن هذه الميزة قد فُعلت آليًا لـ --pairs في الإصدار 2.37، ولكن بسبب مشاكل التوافق، أصبح من الضروري الآن طلب هذا السلوك عبر --shell.

-z، --zoned

اطبع المعلومات المتعلقة بالمنطقة لكل جهاز.

--sysroot دليل

اجمع البيانات لنسخة لينكس غير تلك التي أُصدر منها الأمر lsblk. المجلد المحدد هو جذر النظام لنسخة لينكس المراد فحصها. يمكن استبدال عقد الأجهزة الحقيقية في المجلد المستهدف بملفات نصية مع سمات udev.

--properties-by قائمة

يحدد هذا الخيار الطرق التي يستخدمها lsblk لجمع معلومات حول أنظمة الملفات وجداول الأقسام. القائمة عبارة عن قائمة بأسماء الطرق مفصولة بفاصلة. الإعداد المبدئي هو "file,udev,blkid". الطرق المتاحة هي:

udev

يقرأ البيانات من قاعدة بيانات udev. إذا لم ينجح، فإنه ينتقل إلى طريقة السبر التالية.

blkid

يقرأ البيانات مباشرة من الجهاز باستخدام libblkid. إذا لم ينجح، فإنه ينتقل إلى طريقة السبر التالية.

file

يقرأ البيانات من ملف. تُستخدم هذه الطريقة فقط إذا حُدد الخيار --sysroot. تتوقف هذه الطريقة دائمًا عن السبر في حال استخدامها.

none

لا يسبر. تتوقف هذه الطريقة دائمًا عن السبر.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

حالة الخروج

0

نجاح

1

فشل

32

لم يُعثر على أي من الأجهزة المحددة

64

عُثر على بعض الأجهزة المحددة، ولم يُعثر على البعض الآخر

الألوان

نُفذ تلوين المخرجات بواسطة وظيفة terminal-colors.d(5). يمكن تعطيل التلوين الضمني بملف فارغ

/etc/terminal-colors.d/lsblk.disable

للأمر lsblk أو لجميع الأدوات بواسطة

/etc/terminal-colors.d/disable

منذ الإصدار 2.41، دُعم متغير البيئة $NO_COLOR أيضاً لتعطيل تلوين المخرجات ما لم يُمكن صراحةً بخيار من سطر الأوامر.

يتخطى $XDG_CONFIG_HOME/terminal-colors.d أو $HOME/.config/terminal-colors.d الخاص بالمستخدم الإعداد العام.

لاحظ أن تلوين المخرجات قد يُمكن مبدئياً، وفي هذه الحالة ليس من الضروري وجود أدلة terminal-colors.d بعد.

البيئة

LSBLK_DEBUG=all

يُفعل مخرجات تنقيح lsblk.

LIBBLKID_DEBUG=all

يُفعل مخرجات تنقِيح libblkid.

LIBMOUNT_DEBUG=all

يُفعل مخرجات تنقيح libmount.

LIBSMARTCOLS_DEBUG=all

يُفعّل مخرجات تصحيح أخطاء libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

يستخدم محارف حشو مرئية.

LSBLK_COLUMNS=

يحدد قائمة مفصولة بفاصلة لأعمدة المخرجات المراد طباعتها. يمكن استخدام جميع الأعمدة المدرجة بواسطة --list-columns.

ملاحظات

بالنسبة للأقسام، تُورث بعض المعلومات (مثل سمات الطابور) من الجهاز الأصل.

يحتاج الأمر lsblk إلى القدرة على البحث عن كل جهاز كتلي بواسطة الأرقام major:minor، وهو ما يتم باستخدام /sys/dev/block. ظهر دليل الكتل sysfs هذا في نواة 2.6.27 (أكتوبر 2008). في حال حدوث مشكلات مع نواة حديثة بما يكفي، تحقق من تفعيل CONFIG_SYSFS وقت بناء النواة.

المؤلفين

Milan Broz <gmazyland@gmail.com>, Karel Zak <kzak@redhat.com>

انظر أيضاً

blkid(8)، findmnt(8) ls(1)، scols-filter(5)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

التوفر

الأمر lsblk جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1