En el mundo moderno de hoy en día de aplicaciones basadas en navegador de varios gigabytes podemos llegar a estar abrumados por entornos gráficos que nos interrumpen continuamente. A veces es bueno reducir el tamaño y enfocarse al estilo VT100. Aprovechemos la potencia de la terminal para hacer las cosas con una selección de aplicaciones, utilidades y un par de juegos para la consola de Linux.
|
etiquetas: abstinencia , gráfica , entorno gráfico , gui , terminal , tui , vt100
Las consolas se usaban (y muchos las seguimos usando) porque tienen un ancho de banda brutal en la dirección humano->maquina y no necesitas mirar a la pantalla si tienes practica. El autocompletar está vivo y vive en Mayorca. Las paginas de manual tienen información util y al grano, y muchas veces puedes crear macros para comandos que usas constantemente. Los GUI no se hicieron para trabajar mejor, se hicieron para bajar el liston de habilidad necesaria para bajar, y para dar una cantidad brutal de ancho de banda maquina->humano a costa de quitarnos un monton de flexibilidad. No son un paso adelante si pretendes trabajar, la verdad.
Las consolas se usaban (y muchos las seguimos usando) porque tienen un ancho de banda brutal en la dirección humano->maquina y no necesitas mirar a la pantalla si tienes practica. El autocompletar está vivo y vive en Mayorca. Las paginas de manual tienen información util y al grano, y muchas veces puedes crear macros para comandos que usas constantemente. Los GUI no se hicieron para trabajar mejor, se hicieron para bajar el liston de habilidad necesaria para bajar, y para dar una cantidad brutal de ancho de banda maquina->humano a costa de quitarnos un monton de flexibilidad. No son un paso adelante si pretendes trabajar, la verdad.
Yo desde luego, en todas las sesiones de escritorio, tanto en el trabajo como en equipos domésticos siempre tengo una ventana de terminal abierta.
De la misma maneras es bastante absurdo usar el terminal para navegar por internet, realizar edición fotográfica o de vídeo, o tareas parecidas en el que el uso del ratón es intensivo.
Que la consola no deja de ser una evolución de los interruptores no hablas con la maquina directamente si no que usas binarios que hacen cosas limitándote ese ancho de banda que tanto mencionas va ser que somos demasiado analógicos para ese nivel de comunicación.
La consola no es binario, es un lenguaje que ha evolucionado hasta permitir logica, bucles, alias... y que permite cosas muy importantes para la productividad como es la memoria muscular y el uso sin mirar constantemente a la pantalla. Intenta tu usar un GUI mientras prestas atención a un proceso productivo o a otra cosa importante, como por ejemplo leer los datos que quieres introducir. Unas risas.
No digo que sea mejor para todo, pero tiene mucha utilidad y flexibilidad, y segun para que cosas efectivamente va mejor.
Los interfaces graficos no son para trabajar mejor, son para aprender mas rapido como funciona un proceso. En algunos casos de uso tal vez es deseable que tu aplicación sea para tontos, pero no siempre es asi.
Tu cafetera necesita un botón porque no han creado una que predica que la vas usar no que el botón sea el mejor método para controlarla.
El coche se usa en esencia para ir de A a B y por eso hay gente intentando crear coches que se conduzcan solos.
La consola con teclado es un método para comunicarse con la maquina no es efectivo pero si el mejor respecto a otros en muchas situaciones hasta que alguien cree un sistema mas eficaz.
Las TTY sí que son Linux, pero éstas son conectadas al emulador de terminal que crea el proceso de intérprete de comandos correspondiente, como GNU Bash.
Y ahí me di cuenta que no tienes ni p*** idea de lo que dices.
Pero si, hay muchas otras tareas que es absurdo empeñarse en seguir haciéndolas con el terminal, entre ellas destaco el puto VIM para editar texto que está diseñado por el mismísimo demonio...
www.youtube.com/watch?v=-AAZmfd0rtE
Puedes tener perfectamente un interprete Python gráfico y que te permita hacer esas tareas.
Sin ir mas lejos, OSX tiene/tenia una utilidad llamada "automator" (o algo así) con un lenguaje propio que te permitía hacer esas cosas.
Que las cosas como son, yo usaría la consola por comodidad y tradición.
Se agradece comentarios de cajón como el tuyo.
El otro día en un training deje en bragas al presentador pidiéndole que me dijera como hacer por CLI todo el ventaneo que se había tirado media hora para hacer.
>_
Como interfaz. Mucho más intuitivo. Y si te hubiese tenido que deletrear comando por comando por que el lumbreras no se le hubiese ocurrido pensar que comandos como "prntRsltIng: allrslt(0-10)" es fácil de leer y memorizar ya habría sido la hostia.
Por cierto, señalar que en el comando anterior hay una "i" mayúscula. Ahora imagínate leyendo eso de unas instrucciones impresas o escritas.
En resumen: que haya interfaces de mierda no quiere decir que el concepto de interfaz gráfica sea peor que el de línea de comandos. Sobre todo cuando no son excluyentes y puedes tener una interfaz que integre la interfaz gráfica para tareas poco repetitivas donde no quieres tener que recordar el comando y todos sus parámetros y una interfaz de comandos para tareas repetitivas donde puedes usar macros y lo que te salga del pirulo.
en.wikipedia.org/wiki/C_shell
Y por no hablar que para trabajar desde casa los días que quiero solo necesito el ancho de banda del SSH y no pasar toda lammierda gráfica. Mis compañeros se queja. De que no les va bien y yo encantado.
$ find /Volumes/Mac/Users/luser/imágenes -name "*.[jJ][pP][gG]" -size +40k -mtime +30 -exec mv {} /Volumes/Mac/Users/luser/imágenes_antiguas ;
Nota: Antes del ; final va la barra tumbada a izq. que el filtro html elimina al ponerla.
Claramente ese es el camino mas productivo.
Pero cuando los conoces, eso es una maravilla. Con un comando puedes, por ejemplo, convertir un vídeo de un formato a otro y extraer capturas de pantalla cada x minutos. Lo escribes y listo. Y lo puedes aplicar a toda una serie de vídeos, para a continuación subirlos a un servidor, hacer un backup, y enviar las capturas por correo a 6 emails distintos. Y mucho más.
Eso por GUI es más engorroso. De hecho no creo que ningún programa GUI permita convertir un vídeo, extraer capturas y que éstas se manden por correo.
Cuando entré en mi primer curro se reían de mí porque usaba Vim. Las risas pronto se tornaron en bocas abiertas.
En lo que Eclipse tardaba en arrancar, yo ya había hecho un par de commits
Además, de que si tienes que trabajar en remoto, con la consola reduces un montón de recursos y aumentas la velocidad si te conectas a una consola envez de a un escritorio remoto.
La consola te permite automatizar y unir comandos de una manera asombrosa. La GUI, reduce la dificultad de trabajo, pero también tiene consecuencias como menos flexibilidad, menos control de tu máquina.
Edito :Sí, se puede escapar, poniendo: \\ (para hacer esto he puesto 4 \ )
Eso, sí, si editas el comentario, tienes que volver a escaparlas Sino se te queda 1 y las pierdes.
La próxima vez.
O dar instrucciones de como hacer algo menú a menú que se tienen que hacer videos.
C&P
El interfaz gráfico es muy bonito e intuitivo, pero no es nada potente para la mayoría de cosas que la gente con conocimientos suelen hacer. La consola no ha sobrevivido hasta nuestros días como una reminiscencia del pasado, hace gala de su valor todos los días.
De hecho, cada vez que ves a alguien buscar en google, linuc s'a roto k'a pasao? La solución se suele reducir a una o dos líneas de código mientras que su equivalente gráfico son 4 minutos buscando por botones y pestañas. Y esto no sólo es aplicable a Linux, Powershell es de las cosas más potentes que se han parido y no es precisamente antiquísimo.
Lo dicho, es más raro, requiere tresmil veces más recursos pero se puede hacer.
Nunca te acostarás sin saber una cosa más.
Existe igualmente la opción de hacerlo por el tipo "mime", pero es menos eficiente buscando pero mas certera con el tipo de archivo.
Ya me contarás. cuando administrs 50 equipos...
No, tanto en la interfaz gráfica como en la consola tienen que dejarte hacer. Otra cosa es que en una aplicación de terminal puedes meter un comando para cambiar trescientas opciones de configuración en plan "set config option: value" y que hacerlo en una GUI sea algo más complicado pero solo hay que entrar en about:options en Firefox para ver que también posible.
Otra cosa es que me hables de una aplicación con trescientos formularios, con funcionalidad a la que solo se puede acceder a través menús contextuales que no aparecen indicados en ninguna parte y donde cada formulario siga su propia guía de diseño y demás... pero eso es lo mismo que una aplicación de consola con trescientos comandos distintos sin ningún tipo de jerarquía ni de orden ni de coherencia entre ellos.
Y, por cierto, saber de informática o de diseño o de bases de datos o de redes no es conocerte los comandos de una herramienta .
Yo no concibo el asunto sin tuberías (pipes), expansión de parámetros, expresiones regulares, etc.... tecnologías muy probadas y que son iguales en osx, linux, hpux, etc....
Lo que usted propone es machacar el botón del magic mouse cientos de veces y siempre tardando mas que con script en consola.
Un ejemplo de como lo resuelve apple:
github.com/apple/swift/tree/master/utils
Un saludico.
El terminal "es" scripting. El intérprete usado puede ser bash, csh, zsh... y por encima si quieres python, php...
Otra cosa es que uses scripts de orden única.
Si cambias la ip desde el terminal sabes administrar el sistema. Si necesitas una GUI, no tienes ni puta idea del sistema.
La consola está bien cuando tienes un margen de "creatividad" a la hora de realizar determinadas tareas, en especial si son sensibles a colocarse en un script. En general muchas cosas que utilizamos sólo los informáticos. Un ejemplo de mi día a día es Git, que aunque suelo usar Sourcetree para la interfaz (porque es más cómoda), en ocasiones hay que remangarse y abrir el terminal. Y yo creo que en muchas ocasiones así es como debería ser todo: funcionalidad básica en interfaz (la pueden utilizar perfiles no informáticos también! Trabajo en videojuegos y los artistas usan SourceTree), pero luego el modo avanzado por línea de comandos.
Además X Window es remoto desde el inicio, es decir permite mostrar gráficos en un terminal de un programa que se ejecuta en un servidor, algo que a día de hoy sigue sin permitir MS Windows. (No es Remote Desktop).
Si en Unix la consola sigue vigente es porque es más eficiente para muchas tareas, no porque no haya otra cosa.
Guardas y lo que se conoce "proceso por lotes" funcionando.
De echo en osx, arranque y parada de servicios son scripts de terminal.
developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BP
En las versiones modernas el "legible" xml en vez de texto plano.
- Descargar acciones ya creadas para añadirlas a automator.
- Crear acciones que ejecuten scripts de JavaScript o shell script.
- Usar Xcode para crear tus propias acciones.
Así que, por un lado, tienes las acciones que vienen con el sistema. Por otro lado tienes las acciones que instalan algunos programa para que puedas trabajar con ellos (como Outlook, por ejemplo), después tienes en Internet multitud de acciones que han hecho otras personas, puedes crearte tus propias acciones "nativas" y puedes hacer una acción con código script que interactue con las demás.
Generalmente administro una cantidad de servidores importante, la mayoría remotamente y sin terminal todo sería mucho mas lento. Es un dolor tener que administrar windows por el GUI.
Supongo que fuera del ecosistema osx no hay forma de hacer funcionar cosas de automator.
Aquí va una lista, así en plan rápido y guarro de memoria, de programas que me gustan:
ncdu, tmux, newsboat, vim, mutt, mosh, vimwiki, weechat.
Hecho de menos:
- un amulegui tipo ncurses
- un gestor de ficheros que se me amolde, aun no he encontrado ninguno, aunque a estas alturas con los comandos básicos ya me apaño
- hoja de cálculo; las pocas que hay no me gustan nada