Casi todas las herramientas de programación tienen una versión de línea de comando; muchos de los cuales también tienen una versión gui. Se necesita mucho tiempo y esfuerzo de memorización para aprender los diferentes comandos y varias opciones / interruptores de la versión de línea de comandos.
Entonces tengo un par de preguntas (que no son necesariamente mutuamente excluyentes):
1) ¿Cuándo se molestaría en aprender / memorizar los comandos en la versión de línea de comandos de una herramienta que también viene en una versión gui?
2) ¿De qué herramientas debo aprender la versión de línea de comando? .... compiladores? sistema de control de versiones? etcétera etcétera
learning
command-line
explorest
fuente
fuente
Respuestas:
Puedo ver dos razones por las cuales deberías aprender las opciones de línea de comando de un programa:
Cuando necesite automatizar el programa de alguna manera: cree scripts, procesamiento por lotes, etc.
Cuando necesite optimizar el comportamiento del programa, reduzca la huella de memoria, etc.
En cuanto a qué herramientas debe aprender, bueno, eso depende totalmente de lo que quiera hacer a continuación.
fuente
Muchas buenas respuestas ya. Añado un punto de vista adicional más.
Reemplaza la GUI con herramientas de línea de comando, cuando quieres sacar al humano de la ecuación / proceso. Algunas razones y / o beneficios para hacer esto:
Cuando hacerlo Cuando te encuentres repitiéndote.
Por supuesto, hay lugar y tiempo para la GUI. Pero si realmente desea aprovechar el poder de las computadoras y navegar la ola de la Ley de Moore, debe aprender a programar sus tareas.
Editar : bonificación extra. Puedes ponerte esta camiseta :)
fuente
Las minas son:
1) Para ser más productivo . Para mí, es más rápido hacer cosas en un shell que simplemente hacer clic. Estoy hablando de usar una herramienta, no configurar un servicio / herramienta / etc., porque a veces es más rápido tener un asistente y simplemente hacer clic en
Next
Next
Next
, aunque esos asistentes también existen en versiones de línea de comandos :)2) Para usar la versión de línea de comandos en sus aplicaciones. Por ejemplo, supongamos que desea convertir un PDF a un archivo de texto . Si usa la versión GUI, está bien. Pero si también proporciona una interfaz de línea de comandos donde puede hacer algo como:
./pdf2text input.pdf output.txt
entonces, si necesita desarrollar una aplicación que lea texto de un PDF, puede usarlo fácilmente, sin usar ninguna API o hacer algunos ajustes. .3) Aprender las cosas generales de una aplicación. Por ejemplo, si tiene diff instalado en Windows y un front-end para comparar dos archivos. Eso es perfecto. Pero, ¿y si necesita usarlo en Linux ? Puede encontrar el mismo front-end para Linux, pero ¿qué pasa si no existe? Tendrá que aprender nuevamente cómo usarlo en Linux, instalar un nuevo front-end y acostumbrarse a trabajar con él. Si ha aprendido a usar la versión de línea de comandos, no la habría necesitado;)
Aproximadamente 3) ... algunas personas tienen muchos problemas para acostumbrarse a trabajar con Git en Windows. Dicen que no hay buenos front-end en Windows, pero si solo aprende la línea de comandos, no tendrá problemas. Funciona de la misma manera. Por supuesto, el problema es que a veces las personas tienen miedo de la línea de comandos ;)
Le sugiero que aprenda versiones de línea de comandos de:
fuente
vimdiff
también es una herramienta de línea de comandos, ¿no?gvimdiff
¿Por qué necesita confirmar la sintaxis del parámetro en la memoria? Por eso
man
existe y--help
(/?
si estás en tierra winblowz).Creo que puedo buscar las opciones para casi cualquier cosa en menos de un minuto. El objetivo es recordar lo que los comandos hacen , para que sepa lo que debe mirar hacia arriba!
fuente
Pragmáticamente, todo se reduce a si la herramienta de interfaz gráfica de usuario no tiene una característica o no, o si es más rápida desde la línea de comandos.
Sin embargo, el beneficio adicional de usar una línea de comando es que es más probable que lea la documentación y descubra lo que realmente está sucediendo. Especialmente con su ejemplo de control de versiones, hacerlo desde la línea de comandos le enseñará bastante.
fuente
Pero no necesita memorizar las opciones para el compilador o make; una vez que estén configurados para el proyecto, no tiene que cambiarlos con frecuencia.
fuente
Creo que los beneficios de aprender una herramienta de línea de comandos superan con creces los beneficios de usar la GUI. Hay muchas veces que las características de GUI pierden, sin embargo, no sería justo decir que este es siempre el caso (es decir, mire cmake en Windows; no hay razón para usar la línea de comandos fuera de las circunstancias normales).
En lo que respecta a la memorización, no hay necesidad particular de recordar el conjunto de comandos de ese programa la primera vez que lo usa. Simplemente marque el manual (si usa el manual en línea, de lo contrario use "man" en * nix) y si necesita una funcionalidad particular (que no haya memorizado), simplemente consulte el manual. La memorización de estas cosas debería venir naturalmente por el uso. Por ejemplo, ejecuto "tar" y "gzip" desde la línea de comandos muy a menudo, pero tendría que hacer referencia al manual para realizar tareas que normalmente no hago.
Sobre todo, si está enviando un producto o enviando algún tipo de código fuente o de otro modo a otro desarrollador, es mucho más fácil incluir un esqueleto de comandos que escribir instrucciones detalladas sobre el uso de la GUI. Si el desarrollador no comprende las opciones de línea de comando que usó, simplemente puede buscarlas. Explicar una GUI a alguien no siempre es la solución más portátil.
Saludos,
Dennis M.
fuente
Todo, para que no dependas de X11 / Windows para el desarrollo. Es bueno poder desarrollarse completamente desde una terminal.
fuente
Respuesta corta: El mejor momento para cambiar (es decir, usar la línea de comandos) es AHORA . Los hombres de verdad usan el teclado. Los hombres de verdad NO hacen clic. Período.
Respuesta más larga: en una perspectiva a largo plazo, además de ser más productivo y, por lo tanto, más valioso (menos probable que sea despedido), el uso de la línea de comandos puede / lo hará / debería hacerlo más inteligente (debido a la práctica / memorización sustancial) y más saludable (porque usar ambas manos simultáneamente en la interfaz de línea de comandos en lugar de una con el mouse es más adecuado para la ergonomía).
Aquí hay un artículo / ensayo altamente recomendado, " Por qué Windows causa estupidez ", en http://www.over-yonder.net/~fullermd/rants/winstupid/1
fuente
No estoy seguro de que alguna vez intentes memorizar los interruptores en una herramienta de línea de comandos. Si está creando un script de shell o lo que sea para automatizar alguna tarea, será mejor que busque todas esas cosas; pase los treinta segundos ahora, para evitar horas de dolor descubriendo qué salió mal más tarde. Si está utilizando la misma herramienta de línea de comandos una y otra vez, tal vez debería hacer un script de shell ...
fuente