Як перерахувати пристрої комп’ютера з терміналу Linux

| | 0 Comments| 8:58 PM
Categories:

Дізнайтеся, які саме пристрої знаходяться всередині вашого комп’ютера Linux або підключені до нього. Ми розглянемо 12 команд для переліку ваших підключених пристроїв.

Чому 12 команд?

Як би не було способів зняти шкуру з кота, я готовий покластися на те, що існує більше способів перерахувати пристрої, які підключені до вашого комп’ютера Linux або розміщені всередині нього. Ми покажемо вам 12 з них. І це ще не всі!

Неминуче, в інформації, яку ви можете отримати за допомогою цих команд, є багато збігів, то навіщо описувати таку кількість з них?

Ну, по-перше, варіації в змісті та деталях роблять їх настільки різними, що деякі люди віддадуть перевагу одному методу перед іншим. Формат виведення однієї команди може особливо добре підходити для конкретного випадку використання. Формат іншої команди може ідеально підходити для її передачі через grep або інший метод подальшої обробки.

Проте, перш за все, це зробити статтю якомога загальнішою. Замість того, щоб вирішувати, які команди будуть цікавими чи корисними для наших читачів, ми воліємо надати широкий вибір команд, які доступні, і дозволити нашим читачам вибрати, які з них вони використовуватимуть, а які залишать недоторканими.

Потрібна деяка установка

Більшість із цих команд за замовчуванням включені у ваш дистрибутив Linux. Ubuntu, Fedora і Manjaro були використані як репрезентативна вибірка дистрибутивів з основних гілок сімейств Debian, Red Hat і Arch.

Усі три дистрибутиви необхідні для встановлення procinfo, який містить команду lsdev. Команду lsscsi також потрібно було встановити на всіх трьох.

Щоб встановити lsdev і lsscsi, скористайтеся цими командами.

Ubuntu:

sudo apt-get install procinf
sudo apt-get install lsscsi

Fedora:

sudo dnf install procinfo
sudo dnf install lsscsi

Манджаро

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

Дивно, але Manjaro — відомий тим, що є простим типом дистрибутива — був дистрибутивом, у якому була попередньо встановлена ​​більшість команд, які ми збираємося розглянути.

Ubuntu та Fedora потребували встановлення hwinfo, а Fedora також потребувала встановлення lshw та hdparm.

Ubuntu:

sudo apt-get install hwinfo

Fedora:

sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm

1. Команда mount

Команда монтування використовується для монтувати файлові системи.

Але введення команди без параметрів призводить до того, що вона відображає всі змонтовані файлові системи, а також пристрої, на яких вони розташовані. Тож ми можемо використовувати це як засіб виявлення цих пристроїв.

mount

Вихід від монтування може бути довшим, ніж ви очікували, особливо якщо ви використовували метод прив’язки для встановлення програмного забезпечення. Кожного разу, коли ви використовуєте snap, ви отримуєте іншу псевдо-файлову систему, і вони відображаються за mount . Звичайно, вони не мають пов’язаних з ними фізичних пристроїв, тому вони лише затьмарюють реальну картину.

  Як дивитися Hulu на робочому столі Linux за допомогою Electronplayer

Якщо ви помітили справжню файлову систему у списку на жорсткому диску, ми можемо ізолювати її за допомогою grep.

Жорсткі диски ідентифікуються за назвою, яка зазвичай називається «sd», за якою слідує літера, яка починається з «a» для першого диска, «b» для другого диска і так один. Розділи ідентифікуються шляхом додавання 1 для першого розділу та 2 для другого розділу тощо.

Таким чином, перший жорсткий диск буде sda, а перший розділ на цьому диску буде називатися sda1. Жорсткі диски підключаються через спеціальні файли пристроїв (так звані блочні файли) у /dev, а потім монтуються десь у дереві файлової системи.

Ця команда використовувала grep, щоб відфільтрувати деталі будь-якого диска, який починається з «sd».

mount | grep /dev/sd

Вихідні дані містять один жорсткий диск у машині, який використовувався для дослідження цієї статті.

Відповідь від mount повідомляє нам, що диск /dev/sda змонтовано в / (корінь дерева файлової системи) і він має файлову систему ext4. «rw» вказує, що він був змонтований у режимі читання-запису

Relatime — це схема, яка використовується під час процедур оновлення часових позначок файлу. Час доступу не записується на диск, якщо тільки час зміни (mtime) або час зміни (ctime) файлу не є пізнішим, ніж час останнього доступу, або час доступу (atime) старший за визначений системою поріг . Це значно зменшує кількість оновлень диска, які необхідно виконати для файлів, до яких часто звертаються.

“errors=remount-ro” вказує, що якщо є досить серйозні помилки, файлова система буде перемонтована в режимі лише для читання.

Щоб мати можливість прокручувати вихідні дані з mount і легше виявляти файлові системи, які змонтовані на пристроях, передайте вихідні дані з mount через less .

mount | less

Прокручуйте вихідні дані, поки не побачите файлові системи, підключені до спеціальних файлів /dev.

2. Команда lsblk

Команда lsblk перелічує блокові пристрої, їх точку монтування та іншу інформацію. Введіть lsblk у командному рядку:

lsblk

Вихід показує:

Ім’я: ім’я блочного пристрою
Maj:Min: головне число показує тип пристрою. Мінімальна кількість — це номер поточного пристрою зі списку пристроїв цього типу. 7:4, наприклад, означає петлевий пристрій номер 4.
RM: Знімний пристрій чи ні. 0 означає ні, 1 означає так.
Розмір – це потужність пристрою.
RM: чи є пристрій доступним лише для читання чи ні. 0 означає ні, 1 означає так.
Тип: тип пристрою, наприклад, цикл, каталог (каталог), диск, ROM (CD ROM) тощо.
Точка монтування: де монтується файлова система пристрою.

  Як перетворити документи Google у файли Libre Office на Linux

Щоб позбутися виводу та видалити пристрої циклу, ми можемо використовувати параметр -e (виключити) і вказати кількість типів пристроїв, які ми хочемо ігнорувати.

Ця команда змусить lsblk ігнорувати пристрої циклу (7) і CD room (11).

lsblk -e 7,11

Результати тепер містять лише жорсткий диск sda.

3. Команда df

Команда df повідомляє про ємність накопичувача і використане та вільне місце.

Введіть df у командному рядку та натисніть Enter.

df

У вихідній таблиці показано:

Файлова система: ім’я цієї файлової системи.
1K-Blocks: кількість 1K блоків, доступних у цій файловій системі.
Використано: кількість 1К блоків, які були використані в цій файловій системі.
Доступно: кількість 1K блоків, які не використовуються в цій файловій системі.
Use%: обсяг простору, який використовується в цій файловій системі, наведений у відсотках.
Файл: ім’я файлової системи, якщо вказано в командному рядку.
Змонтовано: точка монтування файлової системи.

Щоб видалити небажані записи з виводу, використовуйте параметр -x (виключити). Ця команда запобігає відображенню записів пристрою циклу.

df -x squashfs

Компактний вихід набагато легше аналізувати для отримання важливої ​​інформації.

4. Команда fdisk

Команда fdisk — це інструмент, призначений для керування таблицею розділів диска, але його можна використовувати переглянути інформацію так само. Ми можемо використовувати це з користю, коли досліджуємо пристрої в комп’ютері.

Ми будемо використовувати параметр -l (список), щоб вивести список таблиць розділів. Оскільки вихід може бути дуже довгим, ми переведемо вихід з fdisk через менше. Оскільки fdisk може змінювати таблиці розділів диска, ми повинні використовувати sudo.

sudo fdisk -l

Прокручуючи менше, ви зможете визначити апаратні пристрої. Ось запис для жорсткого диска sda. Це фізичний жорсткий диск на 10 ГБ.

Тепер, коли ми знаємо ідентифікатор одного з апаратних пристроїв, ми можемо попросити fdisk повідомити лише про цей елемент.

sudo fdisk -l /dev/sda

Отримуємо вихід значно зменшеної довжини.

5. Файли /proc

Псевдофайли в /proc можна переглянути, щоб отримати деяку системну інформацію. Ми розглянемо файл /proc/mounts, який надасть нам деяку інформацію про змонтовані файлові системи. Ми не будемо використовувати нічого більш грандіозного, ніж cat для перегляду файлу.

cat /proc/mounts

У списку показано спеціальний файл пристрою в /dev, який використовується для взаємодії з пристроєм і точкою монтування на дереві файлової системи.

Ми можемо уточнити список, використовуючи grep, щоб шукати записи з /dev/sd в них. Це відфільтрує фізичні диски.

cat /proc/mounts | grep /dev/sd

Це дає нам набагато більш керований звіт.

Ми можемо бути дещо більш інклюзивними, використовуючи grep для пошуку пристроїв, які мають /dev/sd і /dev/sr спеціальні файли пристроїв. Це включатиме жорсткі диски та компакт-диск для цієї машини.

cat /proc/partitions | grep s[rd]

Тепер у вихідних даних є два пристрої та один розділ.

  Як встановити OnlyOffice 6.3 на свій ПК з Linux

6. Команда lspci

Список команд lspci всі пристрої PCI у вашому комп’ютері.

lspci

Наведена інформація:

Слот: гніздо, в яке вставлено пристрій PCi
Клас: Клас пристрою.
Назва виробника: назва виробника.
Назва пристрою: назва пристрою.
Підсистема: назва постачальника підсистеми (якщо пристрій має підсистему).
Назва підсистеми: якщо пристрій має підсистему.
Номер версії: номер версії пристрою
Інтерфейс програмування: інтерфейс програмування, якщо пристрій його надає.

7. Команда lsusb

Команда lsusb покаже список пристроїв, які є підключені до портів USB на вашому комп’ютері, а також пристрої з підтримкою USB, які вбудовані у ваш комп’ютер.

lsusb

До цього тестового комп’ютера приєднано сканер Canon як USB-пристрій 5, а зовнішній USB-накопичувач як USB-пристрій 4. Пристрої 3 і 1 є внутрішніми обробниками інтерфейсу USB.

Ви можете отримати більш докладний список, використовуючи опцію -v (дослівний), і ще більш докладну версію, використовуючи -vv.

8. Команда lsdev

Команда lsdev відображає інформацію про всі встановлені пристрої.

Ця команда генерує багато вихідних даних, тому ми збираємося передавати її менше.

lsdev | less

У виводі перераховано багато апаратних пристроїв.

9. Команда lshw

Команда lshw перелічує пристрої підключено до комп’ютера. Це ще одна команда з великою кількістю результатів. На тестовому комп’ютері було згенеровано понад 260 рядків інформації. Ми ще раз пройдемо менше.

Зауважте, що вам потрібно використовувати sudo з lshw, щоб отримати від нього максимальну користь. Якщо цього не зробити, він не матиме доступу до всіх пристроїв.

sudo lshw | less

Ось запис для компакт-диска з інтерфейсом SCSI. Як бачите, інформація для кожного пристрою дуже детальна. lshw зчитує більшу частину своєї інформації з різних файлів у /proc.

Якщо ви хочете отримати коротший, менш детальний результат, ви можете використовувати параметр –short.

10. Команда lsscsi

Як ви вже могли собі уявити, команда lsscsi перелічує пристрої SCSI підключено до комп’ютера.

lsscsi

Ось пристрої SCSI, підключені до цієї тестової машини.

11. Команда dmidecode

Команди dmidecode декодують Таблиці інтерфейсу керування робочим столом (DMI)., і витягує інформацію, пов’язану з апаратним забезпеченням, підключеним до комп’ютера та всередині комп’ютера.

DMI також іноді називають SMBIOS (система базової системи введення/виводу), хоча насправді це два різні стандарти.

Знову ж таки, ми розглянемо це менше.

dmidecode | less

Команда dmidecode може повідомляти про понад 40 різних типів обладнання.

12. Команда hwinfo

Команда hwinfo є найбільш багатослівною з усіх. Коли ми говоримо, що вам потрібно передати щось менше, цього разу це не обов’язково. На тестовому комп’ютері він згенерував 5850 рядків виводу!

Ви можете почати м’яко, включивши опцію –short.

hwinfo --short

Якщо вам дійсно потрібно побачити найдрібніші деталі, повторіть це і пропустіть параметр –short.

Загорніть це

Отже, ось наші десятки способів дослідження пристроїв у вашому комп’ютері або під’єднаних до нього.

Яким би не був ваш особливий інтерес до пошуку цього обладнання, у цьому списку буде метод, який дозволить вам знайти те, що вам потрібно.