¿Cuándo aprender la versión de línea de comandos de una herramienta de programación? [cerrado]

12

Casi todas las herramientas de programación tienen una versión de línea de comandos; 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.

Por lo tanto, 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 debería aprender la versión de la línea de comandos? .... compiladores? sistema de control de versiones? etc, etc

    
pregunta explorest 05.02.2011 - 18:42

10 respuestas

21

Puedo ver dos razones por las que debes aprender las opciones de línea de comandos de un programa:

  1. Cuando necesite automatizar el programa de alguna manera: cree scripts, procesamiento por lotes, etc.

  2. Cuando necesite optimizar el comportamiento del programa, reduzca la huella de memoria, etc.

En cuanto a qué herramientas debes aprender, bueno, eso depende totalmente de lo que quieras hacer a continuación.

    
respondido por el ChrisF 05.02.2011 - 18:54
9

Muchas buenas respuestas ya. Añado un punto de vista adicional más.

Usted reemplaza la GUI con las herramientas de la línea de comando, cuando quiere sacar al humano de la ecuación / proceso. Algunas razones y / o beneficios para hacer esto:

  • Te deshaces del error humano (al repetir el comando)
  • Excelente para todo tipo de automatización, por ejemplo, implementación, creación o ejecución de pruebas con entradas aleatorias.
  • Puedes llegar a ser realmente un poder usuario. Te da la opción de escalar en la escala de la meta programación. No es necesario que realice cada acción (haga clic en la GUI) por sí mismo, ¡puede crearla fácilmente!
  • Puede encadenar herramientas (piense en tuberías de Unix).
  • Haga que las computadoras hagan el trabajo, usted no escala, las computadoras sí.

¿Cuándo hacerlo? Cuando te encuentras repitiendo.

Por supuesto, hay lugar y tiempo para GUI. Pero si realmente quiere aprovechar el poder de las computadoras y navegar por la ola de la Ley de Moore, necesita aprender a hacer scripts en sus tareas.

Editar : bonificación adicional. Tienes la oportunidad de usar esta camiseta :)

    
respondido por el Maglob 05.02.2011 - 22:21
7

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 la línea de comandos versiones :)

2) Para usar la versión de línea de comandos en sus aplicaciones. Por ejemplo, supongamos que desea convertir un PDF en un archivo de texto . Si usas 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 algunas ajustes ...

3) Para aprender las cosas generales de una aplicación. Por ejemplo, si tiene diff instalado en Windows, y un front-end para ello comparar dos archivos Eso es perfecto. ¿Pero qué pasa si necesitas usarlo en Linux ? Puedes encontrar el mismo front-end para Linux, pero ¿y si no existe? Tendrá que aprender de nuevo 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;)

Acerca de 3) ... algunas personas tienen muchos problemas para acostumbrarse a trabajar con Git en Windows. Dicen que no hay buenos frontales en Windows, pero si solo aprendes a través de la línea de comandos, no tendrás problemas. Funciona de la misma manera. Por supuesto, el problema es que a veces los pueblos tienen miedo de la línea de comandos ;)

Le sugiero que aprenda las versiones de la línea de comandos de:

respondido por el Oscar Mederos 05.02.2011 - 20:43
3

¿Por qué necesita confirmar la sintaxis de los parámetros en la memoria? Es por eso que man existe y --help ( /? si estás en tierra de winblowz).

Encuentro 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 qué buscar!

    
respondido por el Orbling 05.02.2011 - 22:38
1

Pragmáticamente, se reduce a si a la herramienta gui le falta una función, 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 será más probable que lea la documentación y descubra lo que realmente está sucediendo. Especialmente con tu ejemplo de control de versiones, hacer esto desde la línea de comandos te enseñará bastante.

    
respondido por el jdl 05.02.2011 - 18:54
1
  • Compilador: será necesario para compilaciones automatizadas
  • Cree o construya su sistema: las compilaciones automatizadas detectan errores
  • Control de versiones: creo que sí, pero es el menos importante de los tres. Pero luego puedo hacer otras operaciones de línea de comandos, por ejemplo, grep a través de los mensajes de cambio.

Pero no necesita memorizar las opciones para el compilador o make; una vez que estén configurados para el proyecto, no tendrá que cambiarlos con frecuencia.

    
respondido por el Brian Carlton 05.02.2011 - 19:20
1

Los beneficios de aprender una herramienta de línea de comandos, creo que superan con creces los beneficios de usar la GUI. Hay muchas veces que las características de pérdida de la GUI, sin embargo, no sería justo decir que este es siempre el caso (es decir, mirar cmake en Windows, no hay razón para usar la línea de comandos fuera de las circunstancias normales).

En cuanto a la memorización, no es necesario 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), consulte el manual. La memorización de estas cosas debe venir naturalmente por el uso. Por ejemplo, ejecuto "tar" y "gzip" desde la línea de comandos muy a menudo, pero tendría que consultar el 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 conjunto 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ó, él o ella simplemente puede buscarlas. Explicar una GUI a alguien no es siempre la solución más portátil.

Saludos,
Dennis M.

    
respondido por el RageD 05.02.2011 - 19:41
0

Todo, por lo que no depende de X11 / Windows para el desarrollo. Es bueno poder desarrollarse completamente desde una terminal.

    
respondido por el alternative 05.02.2011 - 20:40
0

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 reales NO hacen clic. Periodo.

Respuesta más larga: En la 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á más inteligente (debido a la práctica / memorización sustancial) y más saludable (porque el uso de ambas manos simultáneamente en la interfaz de la 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 enlace

    
respondido por el user17330 15.02.2011 - 06:41
0

No estoy seguro de que deba alguna vez tratar de 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 revise todas esas cosas: pase los treinta segundos ahora, para evitar horas de dolor y descubrir qué fue lo que no funcionó más tarde. Si está utilizando la misma herramienta de línea de comandos una y otra vez, tal vez debería crear un script de shell ...

    
respondido por el mjfgates 02.04.2012 - 23:53

Lea otras preguntas en las etiquetas