Ci sono terminali simili a Mac/Linux per Windows?

Nella mia esperienza la "sensazione di Windows" viene dal profondo delle caratteristiche di firma del sistema operativo. Ho provato cygwin, msysgit, mingw, Powershell come terminale primario, diversi emulatori di terminale come Con{sole2, soleZ, Emu}... e così via. Anche se si ignorano le cose ovvie come le unità che hanno lettere ciascuna con il proprio albero del filesystem (un retaggio dei primi giorni del DOS prima che supportasse le sottodirectory), e l'insensibilità alle maiuscole e alle minuscole di NTFS (che si deve usare su Windows), si consideri...

  • Le barre in avanti sono usate per indicare le opzioni della riga di comando, e il backslash è talvolta usato come delimitatore di percorso, e talvolta usato come carattere di escape. L'escape di qualsiasi nome con uno spazio o un carattere speciale è spesso un'enorme seccatura e si traduce in un rituale per capire esattamente quale combinazione di doppi apici annidati/esclusi farà sì che la stringa di comando faccia effettivamente ciò che si vuole.
  • Un supporto incompleto per i collegamenti al file system. E si può creare o modificare un collegamento solo come amministratore. Il ben più comune formato .lnk "shortcut" è un formato binario pensato per essere consumato da Windows Explorer, quindi non può essere dereferenziato, modificato o anche stampato dalla riga di comando. Naturalmente il concetto di symlink e hardlink è estraneo a molti utenti; nemmeno il sistema di base di Windows li usa dove potrebbe (esclusi pochi posti selezionati), forse per evitare di confondere gli amministratori.
  • Nessuna escalation temporanea di privilegi tipo sudo. Windows ha UAC, ma non sulla linea di comando. Puoi usare `runas/user:Administator cmd` per iniziare un'intera nuova sessione di linea di comando come root, nuova finestra e tutto il resto. Naturalmente, questo richiede che tu abbia la password di amministratore della macchina (che potresti non avere se la condividi).

Altre shell portate su Windows cercano di usare la solita semantica Unix nonostante questi problemi di fondo, con vari gradi di successo. Ma nella mia esperienza non c'è proprio modo di sfuggire alla sensazione di Windows senza usare un sistema operativo diverso.