كتيبات سطر الأوامر

Man » دليل lsblk على الإنترنت - وثائق مفصلة على الإنترنت لصفحة دليل lsblk

🌍
lsblk - عرض قائمة بأجهزة التخزين

ملخص

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

الوصف

يعرض lsblk معلومات حول جميع أجهزة التخزين المتاحة أو المحددة. يقرأ الأمر lsblk نظام ملفات sysfs وقاعدة بيانات udev لجمع المعلومات. إذا لم تكن قاعدة بيانات udev متاحة أو تم تجميع lsblk بدون دعم udev، فإنه يحاول قراءة التسميات والمعرفات الفريدة وأنواع أنظمة الملفات من جهاز التخزين. في هذه الحالة، تكون أذونات الجذر ضرورية.

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

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

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

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

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

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

الخيارات

-A, --noempty

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

-a, --all

تعطيل جميع عوامل التصفية المضمنة وعرض جميع الأجهزة الفارغة وأجهزة القرص العشوائي أيضًا.

-b, --bytes

اعرض الأحجام بالبايت بدلاً من تنسيق قابل للقراءة.

افتراضيًا، يتم التعبير عن الوحدة التي يتم التعبير عن الأحجام بها بالبايت، ويتم التعبير عن البادئات كوحدة بالأس 10^24 (1024). يتم عرض اختصارات الرموز بشكل مختصر من أجل تحقيق قدر أكبر من سهولة القراءة، وذلك عن طريق عرض الحرف الأول منها فقط؛ على سبيل المثال، يتم عرض "1 KiB" و "1 MiB" على التوالي على أنهما "1 K" و "1 M"، ثم يتم حذف الجزء "iB" الموجود في هذه الاختصارات.

-H، --list-columns
عرض الأعمدة المتاحة، استخدم مع --json أو --raw للحصول على إخراج بتنسيق قابل للقراءة آليًا.

-D، --discard
اطبع معلومات حول إمكانيات التخلص (TRIM، UNMAP) لكل جهاز.

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

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

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

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

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

--hyperlink[=mode]
اطبع مسارات نقاط التحميل كروابط تشعبية في الوحدة الطرفية. يمكن تعيين الوضع على "always" أو "never" أو "auto". يمكن تعيين الوسيطة الاختيارية when على "auto" أو "never" أو "always". إذا تم حذف وسيطة when، فسيتم تعيينها افتراضيًا على "auto". يعني الإعداد "auto" أنه سيتم استخدام الروابط التشعبية فقط إذا كان الإخراج على وحدة طرفية.

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

-i، --ascii
استخدم أحرف ASCII لتنسيق الشجرة.

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

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

-M، --merge
قم بتجميع الأجهزة الأصلية للأشجار الفرعية لتوفير إخراج أكثر قابلية للقراءة لمصفوفات RAID والأجهزة متعددة المسارات. يجب أن يكون تنسيق الإخراج على شكل شجرة.

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

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

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

-n، --noheadings
لا تطبع سطر رأس.

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

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

-O, --output-all

إخراج جميع الأعمدة المتاحة.

-P, --pairs

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

-P, --paths

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

-Q, --filter expr

طباعة الأجهزة فقط التي تفي بالشروط المحددة بواسطة expr. يتم تقييم المرشح قبل أن يقوم lsblk بجمع البيانات لجميع أعمدة الإخراج. يتم استرداد البيانات الضرورية فقط لتقييم التعبير بشكل كسول من النظام. يمكن أن يؤدي هذا النهج إلى تحسين الأداء مقارنة بالترشيح اللاحق، كما هو شائع في الأدوات مثل grep(1).

هذه الميزة تجريبية. انظر أيضًا scols-filter(5). على سبيل المثال، لاستبعاد sda و sdb، ولكن طباعة كل شيء آخر ('!'~' هو عامل مطابقة للتعبير العادي السلبي):

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

--highlight expr

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

--ct name [: param [: function ]]

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

إذا لم يتم تحديد param، فسيقوم العداد بعد عدد الأسطر. هذه الميزة تجريبية. انظر أيضًا --ct-filter.

على سبيل المثال، --ct MyCounter:SIZE:sum سيحسب ملخص SIZE من جميع الأسطر؛ ولحساب عدد أقراص SATA، من الممكن استخدام:

lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "عدد أجهزة SATA"

--ct-filter expr

تعريف قيود للعداد التالي. هذه الميزة تجريبية. انظر أيضًا --ct و scols-filter(5). على سبيل المثال، تجميع الأحجام حسب نوع الجهاز:

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

-r, --raw

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

-S, --scsi

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

-s, --inverse

طباعة التبعيات بترتيب عكسي. إذا تم طلب إخراج --list، فستظل الأسطر مرتبة حسب التبعيات.

-T, --tree[=column]

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

-t, --topology

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


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

-w، --width number

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

-x، --sort column

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

-y، --shell

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

-z، --zoned

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

--sysroot directory

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

--properties-by list

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

udev

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

blkid

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

file

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

none

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

-h، --help

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

-V، --version

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

حالة الخروج

0   نجاح

1   فشل

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

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

البيئة

LSBLK_DEBUG=all
يمكّن إخراج تصحيح الأخطاء لـ lsblk.

LIBBLKID_DEBUG=all
يمكّن إخراج تصحيح الأخطاء لـ libblkid.

LIBMOUNT_DEBUG=all
يمكّن إخراج تصحيح الأخطاء لـ libmount.

LIBSMARTCOLS_DEBUG=all
يمكّن إخراج تصحيح الأخطاء لـ libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on
استخدم أحرف التعبئة المرئية.

ملاحظات

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

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


المؤلفون

ميلان بروز <_>، كاريل زاك <_>

انظر أيضاً

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

الإبلاغ عن الأخطاء

للإبلاغ عن الأخطاء، استخدم نظام تتبع المشكلات [https://github.com/util-linux/util-linux/issues].

التوفر

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