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 وقت بناء النواة.

المؤلفين

انظر أيضاً

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

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

لتقارير العِلل، استخدم

التوفر

الأمر lsblk جزء من حزمة util-linux التي يمكن تنزيلها من