Ambas aplicaciones: Apple Terminal incorporado y iTerm2 son solo emuladores de terminal . No implementan ningún comando, solo se ocupan de la pantalla.
Al abrir una ventana de Terminal o iTerm2, se ejecuta automáticamente una shell (como bash o ksh ). Este es el programa que interpreta la mayoría de los comandos que usted conoce como CLI. Cuando escribe un comando en un shell, primero intenta asociarlo con su conjunto interno de comandos y lo interpreta en consecuencia. Si no se encuentra un comando, el shell intentará encontrar un programa cuyo nombre coincida con el comando. Esto es lo que podría percibir como "comandos de Unix", sin embargo, son solo programas independientes.
Por ejemplo: si ejecuta una Terminal en una Mac, ejecuta bash shell de forma predeterminada. Luego, si escribe date
, el shell descubrirá que no es un comando interno de shell, por lo que buscará en el disco (buscará solo en los lugares definidos en una llamada "variable de entorno PATH") y probablemente encontrará un programa en el siguiente lugar /bin/date
. El shell ejecutará este programa. La Terminal luego imprimirá la salida estándar del comando date
en su ventana.
iTerm2 no usa Terminal en segundo plano, pero ejecutará el mismo shell. Entonces, el flujo es: iTerm2 ejecuta bash (de forma predeterminada), bash ejecuta un comando date
y el comando date
enviará su salida al iTerm2, que mostrará los caracteres para el usuario.