Cualquier respuesta aquí que no mencione Powershell es incorrecta y puede ser ignorada con seguridad.
¿Por qué? Porque Windows tiene dos interfaces de línea de comandos: «cmd» y «powershell».
Cuando la gente habla de la «línea de comandos» o «terminal», suele hablar de cmd. La cosa es….. cmd existe única y enteramente para la compatibilidad hacia atrás. Mientras que la consola en sí ha ganado una serie de capacidades en los últimos años (selección de texto, soporte de código VT-100, soporte de Windows Narrator, etc., Microsoft tiene un blog entero dedicado al tema: Windows Command Line Tools For Developers ), el «lenguaje» real de la línea de comandos no ha cambiado en absoluto. No pueden cambiarlo….. ¡demasiadas cosas dependen de que cmd se comporte exactamente como lo hace, con errores y todo!
Powershell es enormemente, y quiero decir enormemente, más potente. Tiene capacidades que bash nunca podrá tener, como el hecho de pasar objetos por la tubería en lugar de texto crudo. ¿Qué significa esto? Significa que puedo escribir un comando como:
- ls | where { $_.
luego presionar , y obtengo esto
y puedo explorar todas las propiedades y funciones que están disponibles para cada archivo que fue devuelto por ls. Sí, eso es Intellisense en el símbolo del sistema. Es mucho mejor que buscar en la documentación o adivinar. También completa el tabulador, por supuesto, así que siempre escribirá los parámetros correctamente.
Algunos ejemplos más:
Está leyendo correctamente: Generación de números aleatorios, funciones matemáticas, análisis de contenido URL y HTML, manipulación de cadenas….. la lista es aparentemente interminable. Y estas cosas están disponibles todo el tiempo. No hay que preocuparse por si curl, pup, bc, etc. están instalados y disponibles.
Si dices que Windows no tiene un potente símbolo del sistema, te equivocas.
Una cosa más: Powershell es de código abierto y funciona en Mac y Linux. PowerShell/PowerShell