Как да изброите устройствата на вашия компютър от терминала на Linux

Разберете какви точно устройства има във вашия 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. Разбира се, те нямат физически устройства, свързани с тях, така че те просто затъмняват реалната картина.

  Как да извлечете файлове от .tar.gz или .tar.bz2 файл в Linux

Ако забележите истинска файлова система в списъка на твърд диск, можем да я изолираме с grep.

Твърдите дискове се идентифицират по име, обикновено наричано „sd“, последвано от буква, започваща с „a“ за първото устройство, „b“ за второто устройство и така една. Дяловете се идентифицират чрез добавяне на 1 за първия дял и 2 за втория дял и т.н.

Така че първият твърд диск ще бъде sda, а първият дял на това устройство ще се нарича sda1. Твърдите дискове се свързват чрез специални файлове на устройства (наречени блокови файлове) в /dev и след това се монтират някъде в дървото на файловата система.

Тази команда използва grep за филтриране на подробностите за всяко устройство, което започва с „sd“.

mount | grep /dev/sd

Резултатът съдържа единствения твърд диск в машината, използван за изследване на тази статия.

Отговорът от монтирането ни казва, че устройството /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) и т.н.
Точка на монтиране: Където е монтирана файловата система на устройството.

  Как да играете Just Cause 3 на Linux

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

Тази команда ще накара lsblk да игнорира устройствата loop (7) и cd room (11).

lsblk -e 7,11

Резултатите вече съдържат само SDA на твърдия диск.

3. Командата df

Командата df отчита капацитета на задвижването и използвано и свободно пространство.

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

df

Изходната таблица показва:

Файлова система: Името на тази файлова система.
1K-Blocks: Броят на 1K блокове, които са налични в тази файлова система.
Използван: Броят на 1K блокове, които са били използвани в тази файлова система.
Налично: Броят на 1K блокове, които не се използват в тази файлова система.
Use%: Количеството пространство, използвано в тази файлова система, дадено като процент.
Файл: Името на файловата система, ако е посочено в командния ред.
Монтиран върху: Точката на монтиране на файловата система.

За да премахнете нежелани записи от изхода, използвайте опцията -x (изключване). Тази команда ще попречи на записите на устройствата за цикъл да бъдат изброени.

df -x squashfs

Компактният изход е много по-лесен за анализиране за важната информация.

4. Командата fdisk

Командата fdisk е инструмент, предназначен да манипулира таблицата с дялове на диска, но може да се използва за това преглед на информацията също така. Можем да използваме това в наша полза, когато изследваме устройствата в компютър.

Ще използваме опцията -l (списък), за да изброим таблиците на дяловете. Тъй като изходът може да е много дълъг, ние ще предаваме изхода от fdisk през по-малко. Тъй като fdisk има потенциал да променя таблиците с дялове на диска, трябва да използваме sudo.

sudo fdisk -l

Чрез превъртане през по-малко ще можете да идентифицирате хардуерните устройства. Ето записа за твърд диск sda. Това е физически твърд диск от 10 GB.

Сега, когато знаем самоличността на едно от хардуерните устройства, можем да помолим 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 специални файлове за устройства. Това ще включва твърди дискове и CD ROM за тази машина.

cat /proc/partitions | grep s[rd]

Вече има две устройства и един дял, включени в изхода.

  7-те най-добри инструменти за диспечер на задачи за 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

Ето записа за CD ROM със 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.

Увийте го

И така, ето нашите дузини начина да проучите устройствата в или свързани към вашия компютър.

Какъвто и да е вашият особен интерес към търсенето на този хардуер, в този списък ще има метод, който ще ви позволи да намерите това, от което се нуждаете.