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.
Indholdsfortegnelse
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.
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.
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.
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.