Entrambe le applicazioni: Apple Terminal e iTerm2 integrati sono solo emulatori di terminali . Non implementano alcun comando, si occupano solo dello schermo.
Quando apri un terminale o una finestra di iTerm2, esegue automaticamente una shell (come bash o ksh ). Questo è il programma che interpreta la maggior parte dei comandi che conosci come CLI. Quando si digita un comando in una shell, per prima cosa cerca di abbinarlo con il suo set interno di comandi e lo interpreta di conseguenza. Se non viene trovato un comando, la shell proverà a trovare un programma il cui nome corrisponde al comando. Questo è ciò che potresti percepire come "comandi unix", tuttavia sono solo programmi standalone.
Ad esempio: se esegui un terminale su un Mac, esegue shell bash per impostazione predefinita. Quindi se digiti date
, la shell scoprirà che non è un comando interno della shell, quindi cercherà il disco (cercherà solo in posti definiti in una cosiddetta "variabile d'ambiente PATH") e molto probabilmente troverà un programma nel seguente posto /bin/date
. La shell eseguirà questo programma. Il Terminale stamperà quindi l'output standard del comando date
nella sua finestra.
iTerm2 non usa Terminale in background, ma eseguirà la stessa shell. Quindi il flusso è: iTerm2 esegue bash (di default), bash quindi esegue un comando date
e il comando date
invierà il suo output a iTerm2 che visualizzerà i caratteri per l'utente.