Ontdek precies welke apparaten zich op uw Linux-computer bevinden of erop zijn aangesloten. We behandelen 12 opdrachten voor het weergeven van uw verbonden apparaten.
Waarom 12 commando’s?
Hoeveel manieren er ook zijn om een kat te villen, ik durf te wedden dat er meer manieren zijn om de apparaten te vermelden die zijn aangesloten op of zijn ondergebracht in uw Linux-computer. We laten je er 12 zien. En dat zijn ze niet allemaal!
Onvermijdelijk is er veel overlap in de informatie die u uit deze opdrachten kunt halen, dus waarom zou u er zoveel van beschrijven?
Ten eerste zorgen de variaties in inhoud en detail ervoor dat ze zo verschillend zijn dat sommige mensen de ene methode verkiezen boven de andere. Het uitvoerformaat van een commando leent zich wellicht bijzonder goed voor een specifiek gebruik. Het formaat van een ander commando is wellicht ideaal voor het doorlussen grep
, of een andere methode voor verdere verwerking.
Maar in de eerste plaats is het om het artikel zo algemeen mogelijk te maken. In plaats van te beslissen welke commando’s interessant zullen zijn of welke commando’s zullen worden gebruikt voor onze lezers, geven we liever een brede steekproef van de commando’s die beschikbaar zijn en laten we onze lezers kiezen welke ze zullen gebruiken en welke ze onaangeroerd laten.
Enige installatie vereist
De meeste van deze opdrachten zijn standaard opgenomen in uw Linux-distributie. Ubuntu, Fedora en Manjaro werden gebruikt als een representatieve steekproef van distributies van de belangrijkste takken van de families Debian, Red Hat en Arch.
Alle drie de distributies die nodig zijn om te installeren procinfo
, die de lsdev
opdracht. De lsscsi
commando moest ook op alle drie worden geïnstalleerd.
Installeren lsdev
en lsscsi
, gebruik deze commando’s.
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
Verrassend genoeg was Manjaro – bekend als een kale distributie – de distributie met de meeste commando’s die we gaan bekijken voorgeïnstalleerd.
Ubuntu en Fedora nodig hwinfo
installeren, en Fedora ook vereist lshw
en hdparm
installeren.
Ubuntu:
sudo apt-get install hwinfo
Fedora:
sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm
1. Het mount-commando
Het mount commando wordt gebruikt om bestandssystemen te mounten.
Maar als je het commando zonder parameters geeft, worden alle aangekoppelde bestandssystemen weergegeven, evenals de apparaten waarop ze zich bevinden. We kunnen dit dus gebruiken om die apparaten te ontdekken.
mount
De output van mount
kan langer zijn dan u had verwacht, vooral als u de snap
methode om software te installeren. Elke keer dat u gebruikt snap
je schaft een ander pseudo-bestandssysteem aan en deze worden weergegeven door mount
. Natuurlijk zijn hier geen fysieke apparaten aan gekoppeld, dus ze verdoezelen alleen het echte beeld.
Als je een echt bestandssysteem in de lijst ziet zitten op een harde schijf, kunnen we het isoleren met grep
.
Harde schijven worden geïdentificeerd met hun naam, meestal “sd” genoemd, gevolgd door een letter die begint met “a” voor de eerste schijf, “b” voor de tweede schijf, enzovoort. Partities worden geïdentificeerd door een 1 toe te voegen voor de eerste partitie en 2 voor de tweede partitie, enzovoort.
Dus de eerste harde schijf zou sda zijn en de eerste partitie op die schijf zou sda1 worden genoemd. Harde schijven worden gekoppeld via speciale apparaatbestanden (blokbestanden genoemd) in / dev en vervolgens ergens in de bestandssysteemboom gemount.
Dit commando gebruikt grep
om de details uit te filteren van elk station dat begint met “sd”.
mount | grep /dev/sd
De uitvoer bevat de enkele harde schijf in de machine die werd gebruikt om dit artikel te onderzoeken.
De reactie van mount
vertelt ons dat drive / dev / sda is gemount op / (de root van de bestandssysteemboom) en dat het een ext4-bestandssysteem heeft. De “rw” geeft aan dat het is aangekoppeld in de lees-schrijfmodus
Relatime is het schema dat wordt gebruikt door de routines voor het bijwerken van het tijdstempel van bestanden. De toegangstijd wordt niet naar de schijf geschreven, tenzij de gewijzigde tijd (mtime) of de wijzigingstijd (ctime) van een bestand recenter is dan de laatste toegangstijd, of de toegangstijd (atime) ouder is dan een door het systeem gedefinieerde drempel . Dit vermindert aanzienlijk het aantal schijfupdates dat moet plaatsvinden voor vaak gebruikte bestanden.
De “errors = remount-ro” geeft aan dat als er voldoende ernstige fouten zijn, het bestandssysteem opnieuw zal worden gemount in de alleen-lezen modus.
Om door de output van mount
en vind gemakkelijker de bestandssystemen die op apparaten zijn gemount, leid de uitvoer van mount
door less
.
mount | less
Blader door de uitvoer totdat je bestandssystemen ziet die zijn verbonden met / dev speciale bestanden.
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]
Er zijn nu twee apparaten en één partitie in de uitvoer opgenomen.
6. Het lspci-commando
De lspci
commando geeft een lijst van alle PCI-apparaten op uw computer.
lspci
De verstrekte informatie is:
- Sleuf: De sleuf waarin het PCi-apparaat is geplaatst
- Klasse: De klasse van het apparaat.
- Naam van de leverancier: De naam van de fabrikant.
- Toestelnaam: De naam van het apparaat.
- Subsysteem: Naam van de leverancier van het subsysteem (als het apparaat een subsysteem heeft).
- Subsysteem naam: Als het apparaat een subsysteem heeft.
- Revisienummer: Het versienummer van het apparaat
- Programmeerinterface: De programmeerinterface, als het apparaat er een biedt.
7. Het lsusb-commando
De lsusb
commando geeft een lijst van apparaten die zijn aangesloten op USB-poorten op uw computer, evenals USB-apparaten die in uw computer zijn ingebouwd.
lsusb
Op deze testcomputer is een Canon-scanner aangesloten als USB-apparaat 5, en een externe USB-schijf als USB-apparaat 4. Apparaten 3 en 1 zijn interne USB-interfacehandlers.
U kunt een meer uitgebreide lijst krijgen door de -v
(uitgebreide) optie, en nog meer uitgebreide versie door -vv
.
8. Het lsdev-commando
De lsdev
commando geeft informatie weer over alle geïnstalleerde apparaten.
Deze opdracht genereert veel output, dus we gaan er minder doorheen.
lsdev | less
Er zijn veel hardwareapparaten vermeld in de uitvoer.
9. Het lshw-commando
De lshw
commando toont de apparaten die op uw computer zijn aangesloten. Dit is een ander commando met veel output. Op de testcomputer werden meer dan 260 regels met informatie gegenereerd. We zullen het erdoorheen leiden less
nog een keer.
Merk op dat u sudo
met lshw
om er het maximale uit te halen. Als u dat niet doet, heeft het geen toegang tot alle apparaten.
sudo lshw | less
Hier is de vermelding voor de cd-rom met een SCSI-interface. Zoals u kunt zien, is de informatie die voor elk apparaat wordt verstrekt, zeer gedetailleerd. lshw
leest de meeste informatie uit de verschillende bestanden in / proc.
Als u een kortere, minder gedetailleerde uitvoer wilt, kunt u de --short
optie.
10. Het lsscsi-commando
Zoals u zich inmiddels kunt voorstellen, is de lsscsi
commando geeft een lijst van de SCSI-apparaten die op uw computer zijn aangesloten.
lsscsi
Hier zijn de SCSI-apparaten die op deze testmachine zijn aangesloten.
11. De opdracht dmidecode
De dmidecode
commando’s decodeert de Desktop Management Interface (DMI) -tabellen en extraheert informatie met betrekking tot de hardware die is aangesloten op de computer en in de computer.
De DMI wordt ook wel SMBIOS (het System Management Basic Input / Output System) genoemd, hoewel het in feite twee verschillende standaarden zijn.
Nogmaals, we zullen dit doornemen less
.
dmidecode | less
De dmidecode
commando kan rapporteren over meer dan 40 verschillende hardwaretypes.
12. Het hwinfo-commando
De hwinfo
commando is de meest uitgebreide van allemaal. Als we zeggen dat je iets door moet pijpen less
, deze keer is het niet optioneel. Op de testcomputer genereerde het 5850 regels output!
U kunt voorzichtig beginnen door het --short
optie.
hwinfo --short
Als je echt het fijnste detail wilt zien, herhaal dit dan en laat de --short
optie.
Wikkel het af
Hier zijn onze tientallen manieren om de apparaten op of aangesloten op uw computer te onderzoeken.
Wat uw specifieke interesse in het opsporen van deze hardware ook moge zijn, er zal een methode in deze lijst zijn waarmee u kunt vinden wat u nodig heeft.