Slik bruker du kommandoen Linux-typen

Finn ut om en kommando løser seg til et alias, en diskfil, en skallfunksjon, en innebygd kommando eller et reservert ord. Bruk type for å finne ut hvordan Linux-kommandoene utføres og forstå systemet ditt bedre.

Gjør mitt bud

Når vi åpner et terminalvindu og begynner å utstede kommandoer til Linux-datamaskinen vår, tenker vi sjelden på hvilke programvarekomponenter i operativsystemet som reagerer på kommandoene våre og utfører dem for oss. Vi skriver kommandoen, får resultatet og går videre med arbeidsmengden vår.

Å vite hvordan kommandoene utføres gir oss en bedre forståelse av måten Linux eller andre Unix-lignende operativsystemer er konstruert på. Å ta en titt under panseret kan gjøre oss til en mer informert sjåfør.

Instruksjonene vi sender til kommandolinjen er i en av følgende kategorier:

Alias: En bruker- (eller system-) definert kommando som får andre, vanligvis langdrakte eller komplekse, kommandosekvenser til å finne sted.
Diskfil: En binær kjørbar fil, for eksempel /usr/bin/top.
Shell-funksjon: En bruker- (eller system) definert funksjon som kan brukes på kommandolinjen eller inkluderes i skript.
Innebygd kommando: En kommando som utføres av skallet selv, for eksempel pwd.
Reservert ord: Et ord som er reservert av skallet som if og elif. De kalles også nøkkelord.

  Hvordan bruke portbanking på Linux (og hvorfor du ikke bør)

Type-kommandoen forteller oss hvilken kategori noen av Linux-kommandoene tilhører. Her er en rask veiledning for å forstå kommandoens utdata.

Typen Kommando

La oss rasle gjennom noen raske eksempler, for hver av kommandokategoriene.

type date

Dato-kommandoen er en kjørbar diskfil.

type ls

ls-kommandoen er et alias, som omslutter den underliggende ls-kommandoen til å bruke –color=auto-alternativet som standard.

type lowdown

Lowdown-kommandoen er en brukerdefinert funksjon som ble satt opp på pendleren som ble brukt til å undersøke denne artikkelen. Det gir et raskt øyeblikksbilde av noen systemressurser. Det er en kombinasjon av whoami , w , free og df .

type pwd

Pwd-kommandoen er en innebygd kommando i Bash-skallet.

type elif

elif-kommandoen er et reservert ord i Bash-skall.

  Slik spiller du Stick Fight: The Game på Linux

Bruke flere kommandoer

Du kan gi type flere kommandoer for å identifisere samtidig.

type date top ls

Alternativet -t

Ingen av alternativene som typen vil godta har navn. Så vi kan få ut navneboken vår og døpe dem selv. Hvis du tenker på alternativet -t som står for «konsistent», vil du ikke ta mye feil. Det reduserer svarene fra type til enkeltordsvar.

type -t date
type -t pwd
type -t lowdown

Alternativet -a

La oss kalle dette alternativet «alle». Den viser alle plasseringene som kommandoen er plassert i. Merk at dette alternativet ikke vil fungere hvis du også bruker -p-alternativet.

Hvis du for eksempel har et alias med samme navn som den underliggende kommandoen, kan du få informasjon om aliaset og kommandoen.

type -a ls

Alternativet -f

Alternativet -f tvinger typen til ikke å søke etter bruker- eller systemdefinerte funksjoner. Tenk på dette alternativet som «funksjonssøk av.» Merk at hvis kommandoen er en funksjon, vil type rapportere at kommandoen ikke kan bli funnet.

type -f top
type -f lowdown

Alternativet -P

Hvis du bruker alternativet -P, vil type kun søke katalogene i $PATH. Så vi kan kalle dette alternativet «sti». Merk at dette alternativet bruker en stor «P.»

type -P date chmod adduser

Alternativet -p

Hvis du bruker alternativet -p, vil type bare svare hvis kommandoen er en harddiskfil. Merk at dette alternativet bruker en liten «p.»

type -p mount
type -p ls
type -p -a ls

type gir ikke noe svar for ls fordi det er et alias, og ikke en diskfil.

  Slik bruker du pinky-kommandoen på Linux

Men hvis vi inkluderer alternativet -a slik at typen ser etter alle forekomster av ls-kommandoen, viser den den underliggende diskfilen som ls-aliaset bruker.

Sammendrag

Det var fint og enkelt, men likevel opplysende.

Vi har en tendens til å tenke på alt vi skriver inn i et terminalvindu som en «kommando», og vi lar det være. Men faktisk implementeres kommandoer på en rekke måter i Linux-systemet. Og type lar deg finne ut hvilken det er.