¿El terminal de Windows es tan poderoso como el terminal de Linux? Si no, ¿por qué?

Un terminal (TTY) es solo una interfaz. Cuando trabaja desde la línea de comandos, ejecuta programas y estos programas marcan la diferencia. Muchos programas que se originaron en Linux se han portado a Windows, por lo que también puede llamarlos desde la línea de comandos de Windows. Además, puede instalar cygwin, que es un entorno de programas Linux compilados para Windows. La mayoría de las veces cuando escribe un “comando” en la terminal, en realidad está llamando a un programa.

De todos modos, además de los programas disponibles, que son diferentes de la terminal, tiene algunos intérpretes de script. En Linux, el más popular es bash (/ bin / bash o / bin / sh) pero hay docenas de otros. En Windows, tradicionalmente, es básico, pero las secuencias de comandos .bat son interpretadas por un motor nativo en los sistemas operativos Windows al igual que las secuencias de comandos bash en Linux. En mi humilde opinión, los intérpretes de script comunes en Linux son más potentes, pero no hay nada que te impida usarlos también en Windows, algunos están portados.

Luego, hay aplicaciones de terminal, los terminales de GUI, como xterm en Linux, como gnome-terminal en Ubuntu, hay muchos de ellos. En Windows, pensaría que solo hay un terminal de línea de comando para la GUI, pero si busca, también encontrará alternativas. Pero, por supuesto, cosas como gnome-terminal son más ricas en funciones que la aplicación de terminal GUI estándar de Windows. Por ejemplo, puede tener varias pestañas en una ventana de terminal, puede tener un fondo translúcido y puede personalizar algunos otros aspectos también en muchas aplicaciones GUI de terminal de Linux.

Todos estos son solo comentarios, no una respuesta en sí misma. Ahora, personalmente creo, y es una creencia puramente subjetiva, que tienes un mejor conjunto de herramientas disponibles cuando trabajas desde la línea de comandos en Linux que en Windows, porque tradicionalmente en el software Linux se estaba diseñando para proporcionar amplios parámetros de línea de comandos incluso si Es un software GUI. En Windows, tradicionalmente se suponía que el software permitía a los usuarios hacer clic y arrastrar cosas, y ni siquiera mencionar que hay una línea de comando. Sin embargo, Windows reconoce a sus usuarios avanzados y proporciona muchas más herramientas de línea de comandos de lo que imaginan los usuarios normales. Solo que en la corriente principal nunca hubo ningún impulso para mencionar o promocionar especialmente estas herramientas entre los usuarios no expertos. Lo creas o no, Windows y Linux tienen mucho en común bajo el capó, a pesar de las grandes diferencias, por lo que la mayoría de las cosas genéricas del sistema operativo, como administrar sistemas de archivos / particiones, administrar procesos, administrar redes, secuencias de comandos, etc. existen en ambos y tienen mucha analogía . Además, el concepto de tuberías y operadores relacionados con tuberías (redirección, anexos, etc.) existen en Linux y Windows. Además, algunas herramientas en Linux que le permiten controlar aspectos de la GUI desde la línea de comandos, como xdotool, wmctrl, etc., básicamente envían mensajes del sistema a los procesos. Windows también tiene que ver con los mensajes, por lo que hay (o puede escribir usted mismo) herramientas que, al igual que en Linux, podrían hacer que simule eventos de teclado / mouse, o incluso eventos de ventana (movimiento, cambio de tamaño, cambio de estado u orden z, etc) En resumen, creo que la ventaja de Linux es la cantidad de herramientas de línea de comandos disponibles de forma predeterminada, ya que la línea de comandos simplemente siempre ha sido una interfaz de usuario importante, y todavía está en escenarios de escritorio con sesiones gráficas.

Supongo que estamos hablando de esa ventana de texto negro. Aunque parece no ser importante, consta de dos partes. Uno es un emulador de modo terminal / consola / texto (llámelo como desee). En Linux (y, por supuesto, también en otros Unixes), la ventana negra era en realidad una pantalla con un teclado conectado a la computadora principal. Esta pantalla con el teclado podría simplemente transferir caracteres de ida y vuelta y no estamos hablando de esto. Estamos hablando de la posibilidad de escribir comandos inteligentes que faciliten la vida del usuario.

En Windows tiene un símbolo del sistema y Powershell. Un símbolo del sistema es una evolución de un entorno DOS y no es una competencia para un shell de Linux (que es el programa ubicado en el otro lado del terminal virtual en Linux).

Powershell es un entorno con capacidades de programación y es probablemente una respuesta de Windows al shell de Unix. El ambiente es similar pero diferente.

La página wiki sobre Powershell lo compara directamente con el shell de Unix y puede leerlo aquí: Windows PowerShell | Wikiwand

Una diferencia del entorno de Unix es que el caparazón es cuestión de gustos. Lo que significa que hay muchos de ellos y puedes elegir cuál quieres. Es un programa liviano que lee comandos de la entrada estándar y escribe su salida en stdout, por lo que puede utilizarlo fácilmente desde su propio programa. En Unix, los programas son pequeños y están ajustados a una simple cooperación.

Lo mismo es cierto para el emulador de terminal: hay muchos de ellos y puede elegir el que más le guste (cuando hablamos del entorno gráfico, que es más comparable a Windows).

El shell de Unix es universal en muchos sentidos: cuando usa el shell bash en Linux o en Mac o en HP-UX, funciona al 95% de la misma manera, por lo que lo aprende una vez y puede usarlo en muchas plataformas.

El poder del shell depende del poder de las herramientas de línea de comandos disponibles, porque el conjunto de comandos internos es limitado. Estos obviamente difieren entre plataformas.

Muchas cosas son solo cuestión de gustos y no es posible decidir de manera justa qué atributo es mejor, porque se trata del gusto.

No. El terminal de Linux es más poderoso que el símbolo del sistema de Windows.

¿Por qué?

  1. Windows se centra más en la GUI, no en el símbolo del sistema.
  2. Linux, a pesar de tener entornos gráficos bastante impresionantes, tiene que mantener su integridad de terminal, ya que el terminal es uno de los componentes principales de Linux.
  3. Windows impone muchas restricciones para que las personas no puedan dañar el sistema operativo y también para proteger al usuario de la exposición a cosas complicadas que ocurren en el sistema operativo. Linux también tiene estos, pero se puede anular con el comando sudo. Cuando sudo, tienes el control final, puedes hacer cualquier cosa. Incluso dañar el sistema operativo. (Lo hice muchas veces)

Estos factores hacen que el terminal de Linux sea más poderoso que el símbolo del sistema de Windows.

El terminal no es más que la pantalla. La CLI es donde emite los comandos.

Para la CLI, realmente es tan poderoso como tú. Para mí, bash es más poderoso que lo que use Windows. Para alguien más, Windows es probablemente más poderoso.

Estoy seguro de que cada CLI tiene sus beneficios, pero no puedo hablar de los beneficios en la CLI de Windows. Para bash, es muy personalizable para que pueda editar su solicitud y crear alias de comando para acortar los comandos.

Puede crear scripts de bash para hacer un trabajo corto de las tareas que realiza diariamente, lo cual es útil. Por ejemplo, para cargar una configuración de IPTABLES, puede usar un script.

Realmente se reduce al conocimiento personal de lo que estás usando. Para una persona, la otra puede no ser tan poderosa como lo es para usted mismo.

Sí, con Powershell es igual de poderoso, si no más, debido a la disponibilidad de bibliotecas .NET e interfaces COM. El principal inconveniente es que simplemente hay una forma más escrita sobre Bash disponible en Internet, y la comunidad de usuarios es mucho más amplia, por lo que encontrar soluciones y aprender es más fácil.

No

En el fondo, Windows Powershell y los scripts cmd.exe anteriores pasan alrededor de los objetos, mientras que las interfaces de terminal de estilo UNIX funcionan con texto. Por esta razón, es mucho más fácil escribir nuevas cadenas de herramientas de Linux, y son más flexibles.

La admisión tácita de Microsoft es que han decidido traer bash a Windows. Bash en Ubuntu en Windows

No estoy realmente seguro, sin embargo, creo que el terminal de Windows que para mí incluye cmd, cmd de desarrollador, bloc de notas, powershell, mmc y powershell ise. Que a través de enlaces duros o accesos directos (lo que les permitirá enlazar teclas y comenzar automáticamente como administrador) es una mejor manera de hacerlo para la mayoría. El terminal de Linux es ideal si no desea el sistema operativo Windows, lo mejor de Linux es que es de código abierto y gratuito. Pero es el conocimiento y la creatividad de los individuos que hacen la diferencia.