Dowiedz się, jakie dokładnie urządzenia znajdują się w Twoim komputerze z systemem Linux lub są do niego podłączone. Omówimy 12 poleceń do wyświetlania listy podłączonych urządzeń.
Dlaczego 12 poleceń?
Bez względu na to, jak wiele jest sposobów na oskórowanie kota, byłbym skłonny założyć się, że istnieje więcej sposobów, aby wymienić urządzenia, które są podłączone do komputera z systemem Linux lub w nim znajdują się. Pokażemy Ci 12 z nich. A to nie wszystko!
W sposób nieunikniony informacje, które można uzyskać z tych poleceń, pokrywają się, więc po co opisywać tak wiele z nich?
Po pierwsze, różnice w treści i szczegółach sprawiają, że są one na tyle różne, że niektórzy ludzie będą preferować jedną metodę od drugiej. Format wyjściowy jednego polecenia może szczególnie dobrze nadawać się do konkretnego przypadku użycia. Format innego polecenia może być idealnie dopasowany do przesyłania go potokiem przez grep lub do innej metody dalszego przetwarzania.
Przede wszystkim jednak chodzi o to, aby artykuł był jak najbardziej ogólny. Zamiast decydować, które polecenia będą interesujące lub używane przez naszych czytelników, wolimy raczej podać szeroką próbkę dostępnych poleceń i poprosić naszych czytelników, aby wybrali, które z nich będą używać, a które pozostawią nietknięte.
Wymagana instalacja
Większość tych poleceń jest domyślnie zawarta w Twojej dystrybucji Linuksa. Ubuntu, Fedora i Manjaro były używane jako reprezentatywna próbka dystrybucji z głównych gałęzi rodzin Debian, Red Hat i Arch.
Wszystkie trzy dystrybucje potrzebne do zainstalowania procinfo, który udostępnia polecenie lsdev. Polecenie lsscsi również musiało zostać zainstalowane na wszystkich trzech.
Aby zainstalować lsdev i lsscsi, użyj tych poleceń.
Ubuntu:
sudo apt-get install procinf
sudo apt-get install lsscsi
Fedora:
sudo dnf install procinfo
sudo dnf install lsscsi
Manjaro
sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi
Zaskakujące jest, że Manjaro – znana z tego, że jest dystrybucją typu bare-bone – była dystrybucją, która zawierała większość poleceń, którym przyjrzymy się, wstępnie zainstalowanych.
Ubuntu i Fedora wymagały instalacji hwinfo, a Fedora również wymagała instalacji lshw i hdparm.
Ubuntu:
sudo apt-get install hwinfo
Fedora:
sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm
1. Polecenie montowania
Do tego służy polecenie mount montować systemy plików.
Jednak wydanie polecenia bez parametrów powoduje wyświetlenie listy wszystkich zamontowanych systemów plików, a także urządzeń, na których się znajdują. Więc możemy to wykorzystać jako sposób na odkrycie tych urządzeń.
mount
Dane wyjściowe z montowania mogą być dłuższe niż oczekiwano, szczególnie jeśli użyłeś metody przyciągania do zainstalowania oprogramowania. Za każdym razem, gdy używasz snap, pozyskujesz inny pseudosystem plików i są one wyświetlane po zamontowaniu. Oczywiście nie są one powiązane z fizycznymi urządzeniami, więc tylko przesłaniają prawdziwy obraz.
Jeśli zauważysz prawdziwy system plików na liście znajdujący się na dysku twardym, możemy go wyizolować za pomocą grep.
Dyski twarde są identyfikowane na podstawie nazwy, zwykle nazywanej „sd”, po której następuje litera rozpoczynająca się od „a” dla pierwszego dysku, „b” dla drugiego dysku i tak dalej. Partycje są identyfikowane przez dodanie 1 dla pierwszej partycji i 2 dla drugiej partycji i tak dalej.
Zatem pierwszym dyskiem twardym będzie sda, a pierwsza partycja na tym dysku będzie miała nazwę sda1. Dyski twarde są połączone za pomocą specjalnych plików urządzeń (zwanych plikami blokowymi) w / dev, a następnie montowane gdzieś w drzewie systemu plików.
To polecenie użyło grep do odfiltrowania szczegółów dowolnego dysku, który zaczyna się od „sd”.
mount | grep /dev/sd
Dane wyjściowe zawierają pojedynczy dysk twardy w maszynie, który był używany do badania tego artykułu.
Odpowiedź z mount mówi nam, że dysk / dev / sda jest zamontowany w / (katalogu głównym drzewa systemu plików) i ma system plików ext4. „Rw” oznacza, że został zamontowany w trybie do odczytu i zapisu
Relatime to schemat używany przez procedury aktualizacji znaczników czasu plików. Czas dostępu nie jest zapisywany na dysku, chyba że czas modyfikacji (mtime) lub czas zmiany (ctime) pliku jest nowszy niż czas ostatniego dostępu lub czas dostępu (atime) jest starszy niż próg zdefiniowany przez system . To znacznie zmniejsza liczbę aktualizacji dysku, które muszą mieć miejsce w przypadku często używanych plików.
Parametr „errors = remount-ro” wskazuje, że jeśli wystąpią wystarczająco poważne błędy, system plików zostanie ponownie zamontowany w trybie tylko do odczytu.
Aby móc przewijać dane wyjściowe z montowania i łatwiej znaleźć systemy plików zamontowane na urządzeniach, potokuj wyjście z mount do less.
mount | less
Przewiń dane wyjściowe, aż zobaczysz systemy plików, które są połączone z plikami specjalnymi / dev.
2. The lsblk Command
The lsblk command lists the block devices, their mount point, and other information. Type lsblk at a command line:
lsblk
The output shows:
Name: the name of the block device
Maj:Min: The major number shows the device type. The minimum number is the number of the current device out of the list of devices of that type. 7:4, for example, means loop device number 4.
RM: Whether the device is removable or not. 0 means no, 1 means yes.
Size is the capacity of the device.
RM: Whether the device is read-only or not. 0 means no, 1 means yes.
Type: The type of the device, for example, loop, dir (directory), disk, rom (CD ROM), and so on.
Mountpoint: Where the filesystem of the device is mounted.
To de-clutter the output and remove the loop devices, we can use the -e (exclude) option and provide the number of the type of devices we wish to ignore.
This command will cause lsblk to ignore the loop (7) and cd room (11) devices.
lsblk -e 7,11
The results now only contain the hard drive sda.
3. The df Command
The df command reports on drive capacities and used and free space.
Type df on the command line and press Enter.
df
The output table shows:
Fileystem: The name of this filesystem.
1K-Blocks: The number of 1K blocks that are available on this filesystem.
Used: The number of 1K blocks that have been used on this file system.
Available: The number of 1K blocks that are unused on this file system.
Use%: The amount of space used in this file system given as a percentage.
File: The filesystem name, if specified on the command line.
Mounted on: The mount point of the filesystem.
To remove unwanted entries from the output, use the -x (exclude) option. This command will prevent the loop device entries from being listed.
df -x squashfs
The compact output is much easier to parse for the important information.
4. The fdisk Command
The fdisk command is a tool designed to manipulate the disk partition table, but it can be used to view information as well. We can use this to our advantage when we are investigating the devices in a computer.
We will use the -l (list) option to list the partition tables. Because the output might be very long, we will pipe the output from fdisk through less. Because fdisk has the potential to alter disk partition tables, we must use sudo.
sudo fdisk -l
By scrolling through less you will be able to identify the hardware devices. Here is the entry for hard drive sda. This is a physical hard drive of 10 GB.
Now that we know the identity of one of the hardware devices we can ask fdisk to report on that item alone.
sudo fdisk -l /dev/sda
We get an output of considerably reduced length.
5. The /proc Files
The pseudo-files in /proc can be viewed to obtain some system information. The file we will look at is /proc/mounts, which will give us some information regarding the mounted filesystems. We will use nothing grander than cat to view the file.
cat /proc/mounts
The listing shows the special device file in /dev that is used to interface to the device and the mount point on the filesystem tree.
We can refine the listing by using grep to look for entries with /dev/sd in them. This will filter out the physical drives.
cat /proc/mounts | grep /dev/sd
This gives us a much more manageable report.
We can be slightly more inclusive by using grep to look for devices that have /dev/sd and /dev/sr special device files. This will include hard drives and the CD ROM for this machine.
cat /proc/partitions | grep s[rd]
Dane wyjściowe zawierają teraz dwa urządzenia i jedną partycję.
6. Polecenie lspci
Lista poleceń lspci wszystkie urządzenia PCI w Twoim komputerze.
lspci
Podane informacje to:
Gniazdo: Gniazdo, w którym jest zamontowane urządzenie PCi
Klasa: klasa urządzenia.
Nazwa dostawcy: nazwa producenta.
Nazwa urządzenia: nazwa urządzenia.
Podsystem: nazwa dostawcy podsystemu (jeśli urządzenie ma podsystem).
Nazwa podsystemu: jeśli urządzenie ma podsystem.
Numer wersji: numer wersji urządzenia
Interfejs programowania: Interfejs programowania, jeśli urządzenie go udostępnia.
7. Polecenie lsusb
Polecenie lsusb wyświetli listę urządzeń, które są podłączony do portów USB na komputerze, a także na urządzeniach USB wbudowanych w komputer.
lsusb
Ten komputer testowy ma podłączony skaner firmy Canon jako urządzenie USB 5 i zewnętrzny napęd USB jako urządzenie USB 4. Urządzenia 3 i 1 są wewnętrznymi programami obsługi interfejsu USB.
Możesz otrzymać bardziej szczegółową listę, używając opcji -v (szczegółowa), a jeszcze bardziej szczegółową wersję, używając opcji -vv.
8. Polecenie lsdev
Polecenie lsdev wyświetla informacje o wszystkie zainstalowane urządzenia.
To polecenie generuje dużo danych wyjściowych, więc zamierzamy przepuścić je przez mniej.
lsdev | less
W danych wyjściowych znajduje się wiele urządzeń sprzętowych.
9. Polecenie lshw
Polecenie lshw wyświetla listę urządzeń podłączony do komputera. To kolejna komenda z dużą ilością danych wyjściowych. Na komputerze testowym wygenerowano ponad 260 wierszy informacji. Jeszcze raz przepuścimy go mniej.
Zauważ, że musisz użyć sudo z lshw, aby jak najlepiej go wykorzystać. Jeśli tego nie zrobisz, nie będzie miał dostępu do wszystkich urządzeń.
sudo lshw | less
Oto wpis dotyczący CD ROM z interfejsem SCSI. Jak widać, informacje podane dla każdego urządzenia są bardzo szczegółowe. lshw czyta większość informacji z różnych plików w / proc.
Jeśli chcesz uzyskać krótszy, mniej szczegółowy wynik, możesz użyć opcji –short.
10. Polecenie lsscsi
Jak można sobie teraz wyobrazić, polecenie lsscsi wyświetla listę urządzeń SCSI podłączony do komputera.
lsscsi
Oto urządzenia SCSI podłączone do tej maszyny testowej.
11. Polecenie dmidecode
Polecenia dmidecode dekodują plik Tabele interfejsu zarządzania pulpitem (DMI)i wyodrębnia informacje związane ze sprzętem podłączonym do komputera i wewnątrz komputera.
DMI jest czasami określany jako SMBIOS (podstawowy system wejścia / wyjścia zarządzania systemem), chociaż są to tak naprawdę dwa różne standardy.
Ponownie przepuścimy to przez mniej.
dmidecode | less
Polecenie dmidecode może generować raporty dotyczące ponad 40 różnych typów sprzętu.
12. Polecenie hwinfo
Polecenie hwinfo jest najbardziej szczegółowym z nich wszystkich. Kiedy mówimy, że musisz przepuścić coś przez mniej, tym razem nie jest to opcjonalne. Na komputerze testowym wygenerował 5850 linii wyjściowych!
Możesz zacząć wszystko delikatnie, włączając opcję –short.
hwinfo --short
Jeśli naprawdę potrzebujesz zobaczyć najdrobniejsze szczegóły, powtórz to i pomiń opcję –short.
Wrap It Up
Oto kilkanaście sposobów badania urządzeń znajdujących się w komputerze lub podłączonych do niego.
Bez względu na to, jakie jest twoje szczególne zainteresowanie polowaniem na ten sprzęt, na tej liście będzie metoda, która pozwoli ci znaleźć to, czego potrzebujesz.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.