Je suis curieux de savoir comment iterm2 travail ? Je veux dire que ce serait une tâche gargantuesque de réimplémenter toutes les commandes Unix et je suppose qu'il utilise d'une manière ou d'une autre le terminal intégré sous les couvertures pour exécuter les commandes réelles mais comment ?
Réponse
Trop de publicités?Les deux applications : le terminal Apple intégré et iTerm2 sont seulement émulateurs de terminal . Ils n'implémentent aucune commande, ils s'occupent simplement de l'affichage.
Lorsque vous ouvrez une fenêtre Terminal ou iTerm2, celle-ci exécute automatiquement un programme coquille (comme bash ou ksh ). Il s'agit du programme qui interprète la plupart des commandes que vous connaissez sous le nom de CLI. Lorsque vous tapez une commande dans un shell, celui-ci essaie d'abord de la faire correspondre à son ensemble interne de commandes et l'interprète en conséquence. Si une commande n'est pas trouvée, le shell essaie de trouver un programme dont le nom correspond à la commande. C'est ce que vous pourriez percevoir comme des "commandes unix", mais ce ne sont que des programmes autonomes.
Par exemple : Si vous exécutez un Terminal sur un Mac, il exécute le shell bash par défaut. Alors si vous tapez date
l'interpréteur de commandes constatera qu'il ne s'agit pas d'une commande interne à l'interpréteur de commandes, il cherchera donc sur le disque (il ne cherchera qu'aux endroits définis dans une variable d'environnement appelée "PATH") et il trouvera très probablement un programme à l'endroit suivant /bin/date
. Le shell exécutera ce programme. Le terminal imprimera ensuite la sortie standard du programme date
dans sa fenêtre.
iTerm2 n'utilise pas Terminal en arrière-plan, mais il exécute le même shell. Le flux est donc le suivant : iTerm2 exécute bash (par défaut), bash exécute ensuite un fichier date
et date
enverra sa sortie à l'iTerm2 qui affichera les caractères pour l'utilisateur.