Scopri se un comando si risolve in un alias, un file su disco, una funzione di shell, un comando integrato o una parola riservata. Usa il tipo per scoprire come vengono eseguiti i tuoi comandi Linux e capire meglio il tuo sistema.
Sommario:
Fai la mia offerta
Quando apriamo una finestra di terminale e iniziamo a impartire comandi al nostro computer Linux, raramente ci fermiamo a pensare quali componenti software all’interno del sistema operativo stanno reagendo ai nostri comandi e li eseguono per noi. Digitiamo il comando, otteniamo il risultato e procediamo con il nostro carico di lavoro.
Sapere come vengono eseguiti i comandi ci dà una migliore comprensione del modo in cui è costruito il nostro sistema operativo Linux o altro tipo Unix. Dare un’occhiata sotto il cofano può renderci un guidatore più informato.
Le istruzioni che inviamo alla riga di comando sono in una delle seguenti categorie:
Alias: un comando definito dall’utente (o dal sistema) che causa l’esecuzione di altre sequenze di comandi, solitamente prolisse o complesse.
File su disco: un file eseguibile binario, come / usr / bin / top.
Funzione shell: una funzione definita dall’utente (o dal sistema) che può essere utilizzata sulla riga di comando o inclusa negli script.
Comando incorporato: un comando eseguito dalla shell stessa, come pwd.
Parola riservata: una parola riservata dalla shell come if ed elif. Sono anche chiamate parole chiave.
Il comando type ci dice quale categoria uno qualsiasi dei comandi Linux appartiene a. Ecco un breve tutorial per comprendere l’output del comando.
Il tipo Command
Analizziamo alcuni rapidi esempi, per ciascuna delle categorie di comandi.
type date
Il comando date è un file eseguibile su disco.
type ls
Il comando ls è un alias, che racchiude il comando ls sottostante per utilizzare l’opzione –color = auto per impostazione predefinita.
type lowdown
Il comando lowdown è una funzione definita dall’utente che è stata impostata sul pendolare utilizzato per la ricerca in questo articolo. Fornisce una rapida istantanea di alcune risorse di sistema. È una combinazione di whoami, w, free e df.
type pwd
Il comando pwd è un comando integrato della shell Bash.
type elif
Il comando elif è una parola riservata della shell Bash.
Utilizzo di più comandi
Puoi dare al tipo più comandi da identificare contemporaneamente.
type date top ls
L’opzione -t
Nessuna delle opzioni che il tipo accetterà avrà nomi. Così possiamo tirare fuori il nostro libro di nomi e battezzarli noi stessi. Se pensi che l’opzione -t stia per “conciso”, non sbaglierai molto. Riduce le risposte dal tipo alle risposte di una singola parola.
type -t date
type -t pwd
type -t lowdown
L’opzione -a
Chiamiamo questa opzione “tutto”. Elenca tutte le posizioni in cui si trova il comando. Notare che questa opzione non funzionerà se si utilizza anche l’opzione -p.
Ad esempio, se si dispone di un alias con lo stesso nome del comando sottostante, è possibile ottenere informazioni sull’alias e sul comando.
type -a ls
L’opzione -f
L’opzione -f forza il tipo a non cercare funzioni definite dall’utente o dal sistema. Pensa a questa opzione come “funzione di ricerca disattivata”. Nota che se il comando è una funzione, il tipo segnalerà che il comando non può essere trovato.
type -f top
type -f lowdown
L’opzione -P
Se usi l’opzione -P, il tipo cercherà solo le directory in $ PATH. Quindi possiamo chiamare questa opzione “percorso”. Tieni presente che questa opzione utilizza una “P” maiuscola
type -P date chmod adduser
L’opzione -p
Se utilizzi l’opzione -p, il tipo risponderà solo se il comando è un file del disco rigido. Tieni presente che questa opzione utilizza una “p” minuscola.
type -p mount
type -p ls
type -p -a ls
type non fornisce alcuna risposta per ls perché ls è un alias e non un file su disco.
Ma se includiamo l’opzione -a in modo che il tipo cerchi tutte le istanze del comando ls, elenca il file del disco sottostante utilizzato dall’alias ls.
Sommario
Era carino e semplice, ma ugualmente illuminante.
Tendiamo a pensare a qualsiasi cosa digitiamo in una finestra di terminale come un “comando”, e lo lasciamo a questo. Ma in realtà, i comandi sono implementati in una varietà di modi nel sistema Linux. E il tipo ti consente di scoprire qual è.