Otkrijte da li se vaša komanda izvršava kao pseudonim, datoteka na disku, funkcija ljuske, ugrađena komanda ili rezervisana reč. Upotrebite `type` kako biste saznali kako se vaše Linux komande procesuiraju i bolje razumeli vaš operativni sistem.
Istraživanje izvršavanja komandi
Kada pokrenemo terminal i počnemo da unosimo komande u naš Linux sistem, retko razmišljamo o softverskim komponentama koje reaguju na naše instrukcije. Jednostavno ukucamo komandu, dobijemo rezultat i nastavljamo dalje. Međutim, poznavanje načina na koji se komande izvršavaju pruža nam dublji uvid u strukturu Linux-a i drugih operativnih sistema sličnih Unix-u. Ovaj „pogled ispod haube“ može nas učiniti informisanijim korisnicima.
Instrukcije koje zadajemo putem komandne linije spadaju u jednu od sledećih kategorija:
- Pseudonim: Komanda koju definiše korisnik (ili sistem) koja aktivira druge, obično duže ili kompleksnije nizove komandi.
- Datoteka na disku: Izvršna binarna datoteka, kao što je `/usr/bin/top`.
- Funkcija ljuske: Korisnički (ili sistemski) definisana funkcija koja se može koristiti direktno u komandnoj liniji ili uključiti u skripte.
- Ugrađena komanda: Komanda koja se izvršava direktno od strane ljuske, kao što je `pwd`.
- Rezervisana reč: Reč koju je rezervisala ljuska, poput `if` ili `elif`. Ove reči se nazivaju i ključnim rečima.
Komanda `type` nam govori kojoj kategoriji pripada svaka pojedinačna Linux komanda. Sledi kratak vodič za razumevanje njenog izlaza.
Korišćenje komande type
Pogledajmo nekoliko primera za svaku od navedenih kategorija komandi.
type date
Komanda `date` je izvršna datoteka na disku.
type ls
Komanda `ls` je pseudonim koji zapravo koristi osnovnu komandu `ls` sa opcijom `–color=auto`.
type lowdown
Komanda `lowdown` je korisnički definisana funkcija koja pruža brz pregled sistemskih resursa. Ona je kombinacija komandi `whoami`, `w`, `free` i `df`.
type pwd
Komanda `pwd` je ugrađena komanda Bash ljuske.
type elif
Komanda `elif` je rezervisana reč Bash ljuske.
Identifikacija više komandi odjednom
Možete koristiti `type` za identifikaciju više komandi istovremeno:
type date top ls
Opcija `-t`
Opcije komande `type` nemaju standardna imena, tako da ih možemo sami nazvati. Ako opciju `-t` shvatimo kao „kratko“, nećemo pogrešiti. Ona skraćuje izlaz komande `type` na jednu reč.
type -t date
type -t pwd
type -t lowdown
Opcija `-a`
Nazovimo ovu opciju „sve“. Ona prikazuje sve lokacije na kojima se komanda nalazi. Napominjemo da ova opcija neće raditi u kombinaciji sa opcijom `-p`.
Na primer, ako imate pseudonim sa istim imenom kao osnovna komanda, možete dobiti informacije o pseudonimu i originalnoj komandi.
type -a ls
Opcija `-f`
Opcija `-f` primorava `type` da ne traži funkcije koje je definisao korisnik ili sistem. Zamislite ovu opciju kao „isključi pretragu funkcija“. Ukoliko je komanda funkcija, `type` će prijaviti da komanda nije pronađena.
type -f top
type -f lowdown
Opcija `-P`
Kada koristite opciju `-P`, `type` će pretraživati samo direktorijume navedene u promenljivoj `$PATH`. Možemo je nazvati opcijom „putanja“. Imajte na umu da ova opcija koristi veliko slovo „P“.
type -P date chmod adduser
Opcija `-p`
Opcija `-p` će dati odgovor samo ako je komanda datoteka na disku. Imajte na umu da ova opcija koristi malo slovo „p“.
type -p mount
type -p ls
type -p -a ls
`type` ne daje nikakav odgovor za `ls` jer je `ls` pseudonim, a ne datoteka na disku.
Međutim, ako uključimo opciju `-a`, tako da `type` traži sve instance komande `ls`, on navodi osnovnu datoteku na disku koju koristi `ls` pseudonim.
Zaključak
Ovo je bio jednostavan, ali koristan pregled funkcionalnosti komande `type`.
Skloni smo da sve što unosimo u terminal smatramo jednostavno „komandom“. Međutim, komande se izvršavaju na različite načine u Linux sistemu, a `type` nam omogućava da otkrijemo koji način je u pitanju za određenu komandu.