
Zoek uit of een opdracht wordt omgezet in een alias, een schijfbestand, een shell-functie, een ingebouwde opdracht of een gereserveerd woord. Gebruik type om te ontdekken hoe uw Linux-opdrachten worden uitgevoerd en om uw systeem beter te begrijpen.
Doe mijn biedingen
Wanneer we een terminalvenster openen en opdrachten naar onze Linux-computer gaan geven, denken we zelden na over welke softwarecomponenten in het besturingssysteem op onze opdrachten reageren en ze voor ons uitvoeren. We typen de opdracht, krijgen het resultaat en gaan verder met onze werklast.
Weten hoe de commando’s worden uitgevoerd, geeft ons een beter begrip van de manier waarop ons Linux of ander Unix-achtig besturingssysteem is opgebouwd. Een kijkje onder de motorkap kan ons een beter geïnformeerde chauffeur maken.
De instructies die we aan de opdrachtregel geven, vallen in een van de volgende categorieën:
- Alias: Een door de gebruiker (of systeem) gedefinieerd commando dat ervoor zorgt dat andere, meestal langdradige of complexe commandoreeksen plaatsvinden.
-
Disk-bestand: Een binair uitvoerbaar bestand, zoals
/usr/bin/top. - Shell-functie: Een door de gebruiker (of systeem) gedefinieerde functie die kan worden gebruikt op de opdrachtregel of kan worden opgenomen in scripts.
-
Ingebouwd opdracht: Een commando dat wordt uitgevoerd door de shell zelf, zoals
pwd. -
Gereserveerd woord: Een woord dat is gereserveerd door de shell, zoals
ifenelif. Ze worden ook wel trefwoorden genoemd.
De type commando vertelt ons tot welke categorie een van de Linux-commando’s behoort. Hier is een korte tutorial om de uitvoer van de opdracht te begrijpen.
Het type Command
Laten we eens wat snelle voorbeelden doornemen voor elk van de opdrachtcategorieën.
type date

De date commando is een uitvoerbaar schijfbestand.
type ls

De ls commando is een alias, die de onderliggende ls commando om het --color=auto optie standaard.
type lowdown

De lowdown commando is een door de gebruiker gedefinieerde functie die is ingesteld op de forens die is gebruikt om dit artikel te onderzoeken. Het biedt een snelle momentopname van enkele systeembronnen. Het is een combinatie van whoami , w , free en df .
type pwd

De pwd commando is een ingebouwd commando van de Bash-shell.
type elif

De elif commando is een gereserveerd woord in de Bash-shell.
Meerdere opdrachten gebruiken
Jij kan geven type meerdere opdrachten om tegelijk te identificeren.
type date top ls

De -t optie
Geen van de opties die type accepteert hebben namen. Zodat we ons namenboek kunnen krijgen en ze zelf kunnen dopen. Als je denkt aan de -t optie als staat voor “beknopt”, u zult niet ver verkeerd zijn. Het vermindert de reacties van type op antwoorden met één woord.
type -t date
type -t pwd
type -t lowdown

De -a optie
Laten we deze de “alle” optie noemen. Het geeft een lijst van alle locaties waar de opdracht zich bevindt. Merk op dat deze optie dat wel zal doen niet werken als u ook de -p optie.
Als u bijvoorbeeld een alias heeft met dezelfde naam als de onderliggende opdracht, kunt u informatie krijgen over de alias en de opdracht.
type -a ls

De -f optie
De -f optie krachten type naar niet zoeken naar door de gebruiker of het systeem gedefinieerde functies. Beschouw deze optie als ‘functie zoeken uit’. Merk op dat als het commando is een functie, type zal melden dat de opdracht niet kan worden gevonden.
type -f top
type -f lowdown

De -P-optie
Als u de -P optie, type zoekt alleen in de mappen in $ PATH. We kunnen deze optie dus ‘pad’ noemen. Merk op dat deze optie een hoofdletter “P” gebruikt.
type -P date chmod adduser

De -p-optie
Als u de -p optie, type reageert alleen als de opdracht een bestand op de harde schijf is. Merk op dat deze optie een kleine “p” gebruikt.
type -p mount
type -p ls
type -p -a ls

type geeft geen reactie op ls omdat ls een alias, en niet een schijfbestand.
Maar als we de -a optie zodat type zoekt naar alle exemplaren van de ls commando, geeft het het onderliggende schijfbestand weer dat het ls alias maakt gebruik van.
Samenvatting
Dat was leuk en simpel, maar toch verhelderend.
We hebben de neiging om alles wat we typen in een terminalvenster te beschouwen als een “commando”, en we laten het daarbij. Maar eigenlijk worden commando’s op verschillende manieren geïmplementeerd in het Linux-systeem. En type laat je zien welke het is.