Slik viser du datamaskinens enheter fra Linux-terminalen

Finn ut nøyaktig hvilke enheter som er inne i Linux-datamaskinen eller koblet til den. Vi vil dekke 12 kommandoer for å liste opp de tilkoblede enhetene dine.

Hvorfor 12 kommandoer?

Uansett hvor mange måter det er å flå en katt på, vil jeg være villig til å satse på at det er flere måter å liste opp enhetene som er koblet til, eller plassert inne i, Linux-datamaskinen din. Vi skal vise deg 12 av dem. Og det er ikke alle!

Det er uunngåelig mye overlapping i informasjonen du kan få ut av disse kommandoene, så hvorfor bry deg med å beskrive så mange av dem?

Vel, for det første gjør variasjonene i innhold og detaljer dem tilstrekkelig forskjellige til at noen mennesker vil foretrekke en metode fremfor en annen. Utdataformatet til en kommando kan egne seg spesielt godt til en spesifikk brukstilfelle. Formatet til en annen kommando kan være ideelt egnet for å sendes gjennom grep, eller en annen metode for videre behandling.

Men først og fremst er det for å gjøre artikkelen så generell som mulig. I stedet for å bestemme hvilke kommandoer som skal være av interesse eller bruk for leserne våre, vil vi heller gi et bredt utvalg av kommandoene som er tilgjengelige, og la leserne våre velge hvilke de vil bruke og hvilke de vil la stå urørt.

Noe installasjon nødvendig

De fleste av disse kommandoene er inkludert i Linux-distribusjonen som standard. Ubuntu, Fedora og Manjaro ble brukt som et representativt utvalg av distribusjoner fra hovedgrenene til Debian-, Red Hat- og Arch-familiene.

Alle tre distribusjonene trengs for å installere procinfo, som gir kommandoen lsdev. Kommandoen lsscsi måtte også installeres på alle tre.

For å installere lsdev og lsscsi, bruk disse kommandoene.

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 – kjent for å være en bare-bones type distribusjon – distribusjonen som hadde de fleste kommandoene vi skal se på forhåndsinstallert.

Ubuntu og Fedora trengte hwinfo-installering, og Fedora krevde også installasjon av lshw og hdparm.

Ubuntu:

sudo apt-get install hwinfo

Fedora:

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

1. Monteringskommandoen

Monteringskommandoen brukes til montere filsystemer.

Men å gi kommandoen uten parametere fører til at den viser alle de monterte filsystemene, så vel som enhetene de er plassert på. Så vi kan bruke dette som et middel til å oppdage disse enhetene.

mount

Utgangen fra mount kan være lengre enn du forventet, spesielt hvis du har brukt snap-metoden for å installere programvare. Hver gang du bruker snap skaffer du deg et annet pseudo-filsystem, og disse blir listet opp etter mount . Disse har selvfølgelig ikke fysiske enheter knyttet til seg, så de skjuler bare det virkelige bildet.

  Slik bruker du curl for å laste ned filer fra Linux-kommandolinjen

Hvis du ser et ekte filsystem i oppføringen på en harddisk, kan vi isolere det med grep.

Harddisker identifiseres ved navn, vanligvis kalt «sd» etterfulgt av en bokstav som begynner på «a» for den første stasjonen, «b» for den andre stasjonen og så en. Partisjoner identifiseres ved å legge til en 1 for den første partisjonen og 2 for den andre partisjonen, og så videre.

Så den første harddisken ville være sda, og den første partisjonen på den stasjonen ville bli kalt sda1. Harddisker kobles sammen gjennom spesielle enhetsfiler (kalt blokkfiler) i /dev og monteres deretter et sted på filsystemtreet.

Denne kommandoen brukte grep for å filtrere ut detaljene til enhver stasjon som begynner med «sd».

mount | grep /dev/sd

Utdataene inneholder den enkle harddisken i maskinen som ble brukt til å undersøke denne artikkelen.

Svaret fra mount forteller oss at stasjonen /dev/sda er montert på / (roten til filsystemtreet) og den har et ext4-filsystem. «rw» indikerer at den har blitt montert i lese-skrivemodus

Relatime er ordningen som brukes av rutinene for oppdatering av filtidsstempel. Tilgangstiden skrives ikke til disken med mindre enten den endrede tiden (mtime) eller endringstiden (ctime) for en fil er nyere enn siste tilgangstidspunkt, eller tilgangstiden (atime) er eldre enn en systemdefinert terskel. . Dette reduserer antallet diskoppdateringer som må finne sted for ofte åpnede filer.

«errors=remount-ro» indikerer at hvis det er tilstrekkelig alvorlige feil, vil filsystemet bli remontert i skrivebeskyttet modus.

For å kunne bla gjennom utdataene fra monteringen og lettere se filsystemene som er montert på enheter, kan du røre utdataene fra monteringen gjennom mindre .

mount | less

Bla gjennom utdataene til du ser filsystemer som er koblet til /dev spesialfiler.

2. lsblk-kommandoen

lsblk-kommandoen viser blokkeringsenhetene, deres monteringspunkt og annen informasjon. Skriv lsblk på en kommandolinje:

lsblk

Utgangen viser:

Navn: navnet på blokkeringsenheten
Maj:Min: Hovednummeret viser enhetstypen. Minimumsantallet er nummeret til gjeldende enhet fra listen over enheter av den typen. 7:4 betyr for eksempel sløyfeenhet nummer 4.
RM: Om enheten er flyttbar eller ikke. 0 betyr nei, 1 betyr ja.
Størrelse er kapasiteten til enheten.
RM: Om enheten er skrivebeskyttet eller ikke. 0 betyr nei, 1 betyr ja.
Type: Enhetstypen, for eksempel loop, dir (katalog), disk, rom (CD ROM) og så videre.
Mountpoint: Hvor filsystemet til enheten er montert.

  Slik eksporterer og importerer du Linux-systemene dine på Windows 10

For å rydde opp i utdataene og fjerne løkkeenhetene, kan vi bruke alternativet -e (ekskludere) og oppgi antallet enheter vi ønsker å ignorere.

Denne kommandoen vil få lsblk til å ignorere loop (7) og cd rom (11) enhetene.

lsblk -e 7,11

Resultatene inneholder nå bare harddisken sda.

3. df-kommandoen

Kommandoen df rapporterer om stasjonskapasitet og brukt og ledig plass.

Skriv df på kommandolinjen og trykk Enter.

df

Utgangstabellen viser:

Filsystem: Navnet på dette filsystemet.
1K-blokker: Antall 1K-blokker som er tilgjengelig på dette filsystemet.
Brukt: Antall 1K blokker som har blitt brukt på dette filsystemet.
Tilgjengelig: Antall 1K blokker som er ubrukt på dette filsystemet.
Bruk%: Mengden plass som brukes i dette filsystemet gitt i prosent.
Fil: Filsystemnavnet, hvis det er angitt på kommandolinjen.
Montert på: Monteringspunktet til filsystemet.

For å fjerne uønskede oppføringer fra utdata, bruk alternativet -x (ekskluder). Denne kommandoen vil forhindre at løkkeenhetsoppføringene blir oppført.

df -x squashfs

Den kompakte utgangen er mye lettere å analysere for viktig informasjon.

4. fdisk-kommandoen

Kommandoen fdisk er et verktøy utviklet for å manipulere diskpartisjonstabellen, men den kan brukes til se informasjon også. Vi kan bruke dette til vår fordel når vi undersøker enhetene i en datamaskin.

Vi bruker alternativet -l (liste) for å liste partisjonstabellene. Fordi utgangen kan være veldig lang, vil vi sende utdataene fra fdisk gjennom mindre. Fordi fdisk har potensial til å endre diskpartisjonstabeller, må vi bruke sudo.

sudo fdisk -l

Ved å bla gjennom mindre vil du kunne identifisere maskinvareenhetene. Her er oppføringen for harddisk sda. Dette er en fysisk harddisk på 10 GB.

Nå som vi vet identiteten til en av maskinvareenhetene, kan vi be fdisk om å rapportere om den varen alene.

sudo fdisk -l /dev/sda

Vi får en utgang med betydelig redusert lengde.

5. /proc-filene

Pseudo-filene i /proc kan sees for å få litt systeminformasjon. Filen vi skal se på er /proc/mounts, som vil gi oss litt informasjon om de monterte filsystemene. Vi vil ikke bruke noe større enn katt for å se filen.

cat /proc/mounts

Listen viser den spesielle enhetsfilen i /dev som brukes til å koble til enheten og monteringspunktet på filsystemtreet.

Vi kan avgrense oppføringen ved å bruke grep for å se etter oppføringer med /dev/sd i dem. Dette vil filtrere ut de fysiske stasjonene.

cat /proc/mounts | grep /dev/sd

Dette gir oss en mye mer oversiktlig rapport.

Vi kan være litt mer inkluderende ved å bruke grep for å se etter enheter som har /dev/sd og /dev/sr spesielle enhetsfiler. Dette vil inkludere harddisker og CD-ROM for denne maskinen.

cat /proc/partitions | grep s[rd]

Det er nå to enheter og en partisjon inkludert i utgangen.

  Hvordan spille Battlefield V på Linux

6. lspci-kommandoen

Kommandoen lspci viser alle PCI-enhetene i datamaskinen din.

lspci

Informasjonen som gis er:

Spor: Sporet PCi-enheten er montert i
Klasse: Klassen til enheten.
Leverandørnavn: Navnet på produsenten.
Enhetsnavn: Navnet på enheten.
Undersystem: Navn på undersystemleverandør (hvis enheten har et undersystem).
Subsystem name: Hvis enheten har et subsystem.
Revisjonsnummer: Versjonsnummeret til enheten
Programmeringsgrensesnitt: Programmeringsgrensesnittet, hvis enheten har et.

7. lsusb-kommandoen

lsusb-kommandoen vil vise enheter som er koblet til USB-porter på datamaskinen din, samt USB-aktiverte enheter som er innebygd i datamaskinen.

lsusb

Denne testdatamaskinen har en Canon-skanner koblet til seg som USB-enhet 5, og en ekstern USB-stasjon som USB-enhet 4. Enhet 3 og 1 er interne USB-grensesnittbehandlere.

Du kan få en mer detaljert liste ved å bruke -v (verbose) alternativet, og enda mer detaljert versjon ved å bruke -vv.

8. lsdev-kommandoen

lsdev-kommandoen viser informasjon om alle installerte enheter.

Denne kommandoen genererer mye utdata, så vi kommer til å røre den gjennom mindre.

lsdev | less

Det er mange maskinvareenheter oppført i utdataene.

9. lshw-kommandoen

lshw-kommandoen viser enhetene koblet til datamaskinen. Dette er en annen kommando med mye utgang. På testdatamaskinen ble det generert over 260 linjer med informasjon. Vi vil røre det gjennom mindre en gang til.

Merk at du må bruke sudo med lshw for å få mest mulig ut av det. Hvis du ikke gjør det, vil den ikke kunne få tilgang til alle enheter.

sudo lshw | less

Her er oppføringen for CD-ROM med SCSI-grensesnitt. Som du kan se er informasjonen for hver enhet svært detaljert. lshw leser det meste av informasjonen fra de forskjellige filene i /proc.

Hvis du vil ha en kortere, mindre detaljert utgang, kan du bruke –short-alternativet.

10. lsscsi-kommandoen

Som du kan forestille deg nå, lsscsi-kommandoen viser SCSI-enhetene koblet til datamaskinen.

lsscsi

Her er SCSI-enhetene som er koblet til denne testmaskinen.

11. Kommandoen dmidecode

Dmidecode-kommandoene dekoder Desktop Management Interface (DMI) tabellerog trekker ut informasjon relatert til maskinvaren som er koblet til datamaskinen og inne i datamaskinen.

DMI blir også noen ganger referert til som SMBIOS (System Management Basic Input/Output System), selv om de egentlig er to forskjellige standarder.

Igjen, vi vil røre dette gjennom mindre.

dmidecode | less

Kommandoen dmidecode kan rapportere om over 40 forskjellige maskinvaretyper.

12. hwinfo-kommandoen

hwinfo-kommandoen er den mest omfattende av dem alle. Når vi sier at du trenger å røre noe mindre, er det denne gangen ikke valgfritt. På testdatamaskinen genererte den 5850 utdatalinjer!

Du kan starte ting forsiktig ved å inkludere –short-alternativet.

hwinfo --short

Hvis du virkelig trenger å se de fineste detaljene, gjenta dette og slipp alternativet –short.

Bli ferdig

Så, her er våre dusin måter å undersøke enhetene inne i, eller koblet til, datamaskinen din.

Uansett hva din spesielle interesse for å jakte på denne maskinvaren kan være, vil det være en metode i denne listen som lar deg finne det du trenger.