Scopri se un comando si risolve in un alias, un file su disco, una funzione di shell, un comando integrato o una parola riservata. Utilizzo type
per scoprire come vengono eseguiti i comandi di Linux e comprendere meglio il tuo sistema.
Fai la mia offerta
Quando apriamo una finestra di terminale e iniziamo a inviare comandi al nostro computer Linux, raramente ci fermiamo a pensare quali componenti software all'interno del sistema operativo stanno reagendo ai nostri comandi ed eseguendoli per noi. Scriviamo il comando, otteniamo il risultato e andiamo avanti con il nostro carico di lavoro.
Sapere come vengono eseguiti i comandi ci dà una migliore comprensione del modo in cui sono costruiti i nostri sistemi operativi Linux o altri Unix.. Dare un'occhiata sotto il cofano può renderci un guidatore più informato.
Le istruzioni che diamo alla riga di comando rientrano in una delle seguenti categorie:
- Alias: Un comando definito dall'utente (o il sistema) che fa sì che si verifichino altri script, generalmente lungo o complesso.
- File su disco: Un file eseguibile binario, Che cosa
/usr/bin/top
. - Funzione shell: Un ruolo impostato dall'utente (o il sistema) che può essere utilizzato sulla riga di comando o può essere incluso negli script.
- Incorporato comando: Un comando che esegue la shell stessa, Che cosa
pwd
. - Riservato parola: Una parola riservata dalla conchiglia, Che cosa
if
eelif
. Sono anche chiamate parole chiave.
il type
comando ci dice quale categoria uno qualsiasi dei comandi linux appartiene. Ecco un breve tutorial per capire l'output del comando.
Il tipo di comando
Facciamo qualche rapido esempio, per ciascuna delle categorie di comandi.
digita data
il date
Il comando è un file su disco eseguibile.
digita ls
il ls
il comando è un alias, avvolgendo il sottostante ls
comando per usare il --color=auto
opzione predefinita.
digita lowdown
il lowdown
Il comando è una funzione impostata dall'utente che è stata configurata sullo switch utilizzato per indagare su questo post. Fornisce una rapida istantanea di alcune risorse di sistema. È una combinazione di whoami
, w
, free
e df
.
digita pwd
il pwd
Il comando è un comando shell bash integrato.
digita elif
il elif
comando è una parola riservata alla shell Bash.
Utilizzo di più comandi
Puoi dare type
più comandi da identificare contemporaneamente.
digita data top ls
L'opzione -t
Nessuna delle alternative che type
accetterà di avere nomi. Così possiamo prendere il nostro libro dei nomi e battezzarli noi stessi. Se pensi a lui -t
opzione come “conciso”, non sbaglierai molto. Riduci le risposte da type
alle risposte di una parola.
digita -t data
digitare -t pwd
digita -t lowdown
L'opzione -a
Chiamiamola l'opzione “tutti”. Elenca tutte le posizioni in cui si trova il comando. Nota che questa opzione no funziona se usi anche il -p
opzione.
Come esempio, se hai un alias con lo stesso nome del comando sottostante, puoi ottenere informazioni sull'alias e sul comando.
digitare -a ls
L'opzione -f
il -f
forze di opzione type
per no trova funzioni definite dall'utente o dal sistema. Pensa a questa opzione come “funzione di ricerca disabilitata”. Nota che se il comando è Una funzione, type
segnalerà che il comando non può essere trovato.
digitare -f in alto
type -f lowdown
L'opzione -P
Se usi il -P
opzione, type
cercherà solo le directory in $ IL PERCORSO. Quindi possiamo chiamare questa opzione “rotta”. Tieni presente che questa opzione utilizza a “P” lettera maiuscola.
digita -P data chmod adduser
L'opzione -p
Se usi il -p
opzione, type
risponderà solo se il comando è un file del disco rigido. Tieni presente che questa opzione utilizza a “P” minuscolo.
digitare -p mount
digitare -p ls
digitare -p -a ls
type
non dà alcuna risposta per ls
perché ls
un alias e non un file su disco.
Ma se includiamo il -a
opzione per cosa? type
cerca tutte le istanze di ls
comando, elenca il file del disco sottostante che ls
fa uso di alias.
Riepilogo
È stato bello e semplice, ma illuminante lo stesso.
Tendiamo a pensare a tutto ciò che digitiamo in una finestra di terminale come a “comando”, e lo lasciamo così. Ma veramente, i comandi sono implementati in vari modi sul sistema Linux. E type
ti permette di scoprire qual è.
impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);