Existe-t-il des terminaux similaires à Mac/Linux pour Windows ?


D'après mon expérience, la "sensation de Windows" provient des caractéristiques profondes de la signature du système d'exploitation. J'ai essayé cygwin, msysgit, mingw, Powershell comme terminal principal, différents émulateurs de terminal comme Con{sole2, soleZ, Emu}... vous le nommez. Même si vous ignorez les choses évidentes comme les lecteurs ayant des lettres ayant chacune leur propre arbre de système de fichiers (un reliquat des premiers jours du DOS avant même qu'il ne supporte les sous-répertoires), et l'insensibilité à la casse de NTFS (que vous êtes tenu d'utiliser sur Windows), considérez...

  • Les barres obliques avant sont utilisées pour indiquer les options de ligne de commande, et la barre oblique inverse est parfois utilisée comme délimiteur de chemin, et parfois utilisée comme caractère d'échappement. L'échappement de n'importe quel nom avec un espace ou un caractère spécial est fréquemment un énorme tracas et aboutit à un rituel consistant à déterminer exactement quelle combinaison de guillemets doubles imbriqués/échappés fera que la chaîne de commande fera réellement ce que vous vouliez.
  • Un support à moitié conçu pour les liens de système de fichiers. Et vous ne pouvez créer ou modifier un lien qu'en tant qu'administrateur. Le format de "raccourci" .lnk, beaucoup plus courant, est un format binaire destiné à être consommé par l'explorateur Windows, de sorte qu'ils ne peuvent pas être déréférencés, édités ou même imprimés à partir de la ligne de commande. Bien sûr, le concept de symlinks et de hardlinks est étranger à de nombreux utilisateurs ; même le système de base de Windows ne les utilise pas quand il le pourrait (à l'exception de quelques endroits choisis), peut-être pour éviter de dérouter les administrateurs.
  • Pas d'escalade de privilèges temporaire de type sudo. Windows dispose de l'UAC, mais pas sur la ligne de commande. Vous pouvez utiliser `runas/user:Administator cmd` pour démarrer une toute nouvelle session de ligne de commande en tant que root, nouvelle fenêtre et tout. Bien sûr, cela nécessite que vous ayez le mot de passe Admin de la machine (que vous n'avez peut-être pas si vous la partagez).

D'autres shells portés sur Windows essaient d'utiliser la sémantique Unix habituelle malgré ces problèmes sous-jacents, avec plus ou moins de succès. Mais selon mon expérience, il est tout simplement impossible d'échapper à cette sensation de Windows sans utiliser un autre système d'exploitation.