Sådan viser du din computers enheder fra Linux-terminalen

Find ud af præcis, hvilke enheder der er inde i din Linux-computer eller forbundet til den. Vi dækker 12 kommandoer til at vise dine tilsluttede enheder.

Hvorfor 12 kommandoer?

Uanset hvor mange måder der er at flå en kat på, vil jeg være villig til at vædde på, at der er flere måder at angive de enheder, der er tilsluttet til eller placeret inde i din Linux-computer. Vi skal vise dig 12 af dem. Og det er ikke dem alle!

Der er uundgåeligt meget overlap i den information, du kan få ud af disse kommandoer, så hvorfor besvære at beskrive så mange af dem?

For det første gør variationerne i indhold og detaljer dem tilstrækkeligt forskellige til, at nogle mennesker vil foretrække en metode frem for en anden. Outputformatet af en kommando kan egne sig særligt godt til en specifik use case. Formatet på en anden kommando kan være ideelt egnet til, at den sendes gennem grep eller en anden metode til yderligere behandling.

Primært er det dog for at gøre artiklen så generel som muligt. I stedet for at beslutte, hvilke kommandoer der vil være af interesse eller brug for vores læserskare, vil vi hellere give et bredt udsnit af de kommandoer, der er tilgængelige, og få vores læsere til at vælge, hvilke de vil bruge, og hvilke de vil lade urørt.

Noget installation påkrævet

De fleste af disse kommandoer er inkluderet i din Linux-distribution som standard. Ubuntu, Fedora og Manjaro blev brugt som et repræsentativt udsnit af distributioner fra hovedgrenene af Debian-, Red Hat- og Arch-familierne.

Alle tre distributioner er nødvendige for at installere procinfo, som giver kommandoen lsdev. Kommandoen lsscsi skulle også installeres på alle tre.

Brug disse kommandoer for at installere lsdev og lsscsi.

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

Overraskende nok var Manjaro – berømt for at være en bare-bones type distribution – den distribution, der havde de fleste af de kommandoer, vi skal se på, forudinstalleret.

Ubuntu og Fedora havde brug for installation af hwinfo, og Fedora krævede også installation af lshw og hdparm.

Ubuntu:

sudo apt-get install hwinfo

Fedora:

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

1. Mount Command

Monteringskommandoen bruges til mount filsystemer.

Men udsendelse af kommandoen uden parametre får den til at liste alle de monterede filsystemer, såvel som de enheder, de er placeret på. Så vi kan bruge dette som et middel til at opdage disse enheder.

mount

Outputtet fra mount kan være længere, end du forventede, især hvis du har brugt snap-metoden til at installere software. Hver gang du bruger snap anskaffer du et andet pseudo-filsystem, og disse bliver listet efter mount . Disse har naturligvis ikke fysiske enheder tilknyttet, så de slører blot det virkelige billede.

  Sådan installeres Lightworks på Linux

Hvis du får øje på et rigtigt filsystem i listen, der sidder på en harddisk, kan vi isolere det med grep.

Harddiske identificeres ved navn, normalt kaldet “sd” efterfulgt af et bogstav, der starter med “a” for det første drev, “b” for det andet drev og så en. Partitioner identificeres ved at tilføje et 1 for den første partition og 2 for den anden partition, og så videre.

Så den første harddisk ville være sda, og den første partition på det drev ville blive kaldt sda1. Harddiske forbindes gennem specielle enhedsfiler (kaldet blokfiler) i /dev og monteres derefter et sted på filsystemtræet.

Denne kommando brugte grep til at filtrere detaljerne fra ethvert drev, der begynder med “sd”.

mount | grep /dev/sd

Outputtet indeholder den enkelte harddisk i maskinen, der blev brugt til at undersøge denne artikel.

Svaret fra mount fortæller os, at drevet /dev/sda er monteret på / (roden af ​​filsystemtræet), og det har et ext4-filsystem. “rw” angiver, at den er blevet monteret i læse-skrivetilstand

Relatime er det skema, der bruges af rutinerne til opdatering af filtidsstempel. Adgangstiden skrives ikke til disken, medmindre enten den ændrede tid (mtime) eller ændringstidspunktet (ctime) for en fil er nyere end det sidste adgangstidspunkt, eller adgangstiden (atime) er ældre end en systemdefineret tærskel. . Dette reducerer i høj grad antallet af diskopdateringer, der skal finde sted for ofte tilgåede filer.

“errors=remount-ro” angiver, at hvis der er tilstrækkeligt alvorlige fejl, vil filsystemet blive genmonteret i skrivebeskyttet tilstand.

For at være i stand til at rulle gennem outputtet fra mount og nemmere få øje på filsystemerne, der er monteret på enheder, skal du røre output fra mount gennem mindre.

mount | less

Rul gennem outputtet, indtil du ser filsystemer, der er forbundet til /dev specialfiler.

2. lsblk-kommandoen

lsblk kommandoen viser blokenhederne, deres monteringspunkt og andre oplysninger. Skriv lsblk på en kommandolinje:

lsblk

Udgangen viser:

Navn: navnet på blokenheden
Maj:Min: Hovedtallet viser enhedstypen. Minimumsantallet er antallet af den aktuelle enhed ud af listen over enheder af den type. 7:4 betyder for eksempel sløjfeenhed nummer 4.
RM: Om enheden er aftagelig eller ej. 0 betyder nej, 1 betyder ja.
Størrelse er enhedens kapacitet.
RM: Om enheden er skrivebeskyttet eller ej. 0 betyder nej, 1 betyder ja.
Type: Enhedens type, for eksempel loop, dir (mappe), disk, rom (cd-rom) og så videre.
Mountpoint: Hvor enhedens filsystem er monteret.

  Sådan installeres Teamspeak-klienten på Linux

For at rydde op i outputtet og fjerne sløjfe-enhederne kan vi bruge -e (ekskludere)-indstillingen og angive antallet af den type enheder, vi ønsker at ignorere.

Denne kommando vil få lsblk til at ignorere loop (7) og cd room (11) enhederne.

lsblk -e 7,11

Resultaterne indeholder nu kun harddisken sda.

3. df-kommandoen

Kommandoen df rapporterer om drevkapaciteter og brugt og ledig plads.

Skriv df på kommandolinjen, og tryk på Enter.

df

Udgangstabellen viser:

Filsystem: Navnet på dette filsystem.
1K-blokke: Antallet af 1K-blokke, der er tilgængelige på dette filsystem.
Brugt: Antallet af 1K blokke, der er blevet brugt på dette filsystem.
Tilgængelig: Antallet af 1K blokke, der er ubrugte på dette filsystem.
Brug%: Mængden af ​​plads brugt i dette filsystem angivet i procent.
Fil: Filsystemnavnet, hvis det er angivet på kommandolinjen.
Monteret på: Monteringspunktet for filsystemet.

For at fjerne uønskede poster fra outputtet, skal du bruge -x (ekskluder) muligheden. Denne kommando forhindrer sløjfeenhedens indgange i at blive vist.

df -x squashfs

Det kompakte output er meget nemmere at parse for vigtige oplysninger.

4. Kommandoen fdisk

Kommandoen fdisk er et værktøj designet til at manipulere diskpartitionstabellen, men den kan bruges til se oplysninger såvel. Vi kan bruge dette til vores fordel, når vi undersøger enhederne i en computer.

Vi vil bruge muligheden -l (liste) til at liste partitionstabellerne. Fordi outputtet kan være meget langt, vil vi sende output fra fdisk gennem mindre. Fordi fdisk har potentialet til at ændre diskpartitionstabeller, skal vi bruge sudo.

sudo fdisk -l

Ved at rulle gennem mindre vil du være i stand til at identificere hardwareenhederne. Her er indgangen til harddisk sda. Dette er en fysisk harddisk på 10 GB.

Nu hvor vi kender identiteten af ​​en af ​​hardwareenhederne, kan vi bede fdisk om at rapportere om det element alene.

sudo fdisk -l /dev/sda

Vi får et output af betydeligt reduceret længde.

5. /proc-filerne

Pseudo-filerne i /proc kan ses for at få nogle systemoplysninger. Filen vi vil se på er /proc/mounts, som vil give os nogle oplysninger om de monterede filsystemer. Vi vil ikke bruge noget større end kat til at se filen.

cat /proc/mounts

Listen viser den specielle enhedsfil i /dev, der bruges til at forbinde til enheden og monteringspunktet på filsystemtræet.

Vi kan forfine listen ved at bruge grep til at søge efter poster med /dev/sd i dem. Dette vil filtrere de fysiske drev fra.

cat /proc/mounts | grep /dev/sd

Dette giver os en meget mere overskuelig rapport.

Vi kan være lidt mere inkluderende ved at bruge grep til at lede efter enheder, der har /dev/sd og /dev/sr specielle enhedsfiler. Dette inkluderer harddiske og cd-rom’en til denne maskine.

cat /proc/partitions | grep s[rd]

Der er nu to enheder og en partition inkluderet i outputtet.

  Sådan vendes Tether fra Linux til Android med Gnirehtet

6. lspci-kommandoen

Kommandoen lspci viser alle PCI-enheder i din computer.

lspci

Oplysningerne er:

Slot: Det slot, som PCi-enheden er monteret i
Klasse: Enhedens klasse.
Leverandørnavn: Navnet på producenten.
Enhedsnavn: Navnet på enheden.
Undersystem: Navn på undersystemleverandør (hvis enheden har et undersystem).
Subsystem name: Hvis enheden har et subsystem.
Revisionsnummer: Enhedens versionsnummer
Programmeringsgrænseflade: Programmeringsgrænsefladen, hvis enheden har en sådan.

7. lsusb-kommandoen

lsusb-kommandoen vil vise enheder, der er tilsluttet USB-porte på din computer samt USB-aktiverede enheder, der er indbygget i din computer.

lsusb

Denne testcomputer har en Canon-scanner tilsluttet som USB-enhed 5 og et eksternt USB-drev som USB-enhed 4. Enhed 3 og 1 er interne USB-interfacehandlere.

Du kan modtage en mere udførlig liste ved at bruge -v (verbose) mulighed, og endnu mere udførlig version ved at bruge -vv.

8. lsdev-kommandoen

Kommandoen lsdev viser information om alle de installerede enheder.

Denne kommando genererer en masse output, så vi kommer til at røre den igennem mindre.

lsdev | less

Der er mange hardwareenheder angivet i outputtet.

9. lshw-kommandoen

lshw kommandoen viser enhederne tilsluttet din computer. Dette er en anden kommando med meget output. På testcomputeren blev der genereret over 260 linjer med information. Vi vil røre det igennem mindre en gang til.

Bemærk, at du skal bruge sudo med lshw for at få mest muligt ud af det. Hvis du ikke gør det, vil den ikke kunne få adgang til alle enheder.

sudo lshw | less

Her er indgangen til cd-rom’en med et SCSI-interface. Som du kan se, er oplysningerne for hver enhed meget detaljerede. lshw læser det meste af dets information fra de forskellige filer i /proc.

Hvis du ønsker et kortere, mindre detaljeret output, kan du bruge –short-indstillingen.

10. lsscsi-kommandoen

Som du ville forestille dig nu, lsscsi kommandoen viser SCSI-enhederne tilsluttet din computer.

lsscsi

Her er de SCSI-enheder, der er tilsluttet denne testmaskine.

11. Kommandoen dmidecode

Kommandoerne dmidecode afkoder Desktop Management Interface (DMI) tabeller, og udtrækker information relateret til den hardware, der er tilsluttet computeren og inde i computeren.

DMI omtales også nogle gange som SMBIOS (System Management Basic Input/Output System), selvom de i virkeligheden er to forskellige standarder.

Igen, vi vil røre dette igennem mindre.

dmidecode | less

Kommandoen dmidecode kan rapportere om over 40 forskellige hardwaretyper.

12. hwinfo-kommandoen

Kommandoen hwinfo er den mest omfattende af dem alle. Når vi siger, at du skal røre noget mindre igennem, er det denne gang ikke valgfrit. På testcomputeren genererede den 5850 linjers output!

Du kan starte tingene forsigtigt ved at inkludere -short-indstillingen.

hwinfo --short

Hvis du virkelig har brug for at se de fineste detaljer, skal du gentage dette og udelade indstillingen –short.

Pak den ind

Så her er vores dusin måder at undersøge enhederne i eller tilsluttet til din computer.

Uanset hvad din særlige interesse i at jage efter denne hardware måtte være, vil der være en metode på denne liste, som gør det muligt for dig at finde det, du har brug for.