From 19e2f1f46b23d5419014f87e7a257506a4a5ba5d Mon Sep 17 00:00:00 2001 From: santisoler Date: Sun, 25 Jul 2021 21:52:11 -0300 Subject: Agrega post sobre aprender a usar la terminal --- Gemfile | 1 + _posts/2021-07-25-unix-terminal.md | 115 +++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 _posts/2021-07-25-unix-terminal.md diff --git a/Gemfile b/Gemfile index f5e7d15..220d607 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,4 @@ source "https://rubygems.org" gem "jekyll" +gem "webrick" diff --git a/_posts/2021-07-25-unix-terminal.md b/_posts/2021-07-25-unix-terminal.md new file mode 100644 index 0000000..9b9e38c --- /dev/null +++ b/_posts/2021-07-25-unix-terminal.md @@ -0,0 +1,115 @@ +--- +title: Aprender a usar la terminal +layout: post +excerpt: | + Algunas razones sobre por qué es útil aprender a utilizar la terminal + y enlaces a recursos para empezar. +--- + +> Este artículo es una réplica del topic que abrí en el foro de Cybercirujas: +> [https://cybercirujas.rebelion.digital/foro/viewtopic.php?f=7&t=29](https://cybercirujas.rebelion.digital/foro/viewtopic.php?f=7&t=29) + +A la hora de recuperar equipos que el mercado y las big tech han decidido +dejado obsoletos, el mundo del Software Libre aparece como un oasis de libertad +y de sobrevida para ese hardware que, de regirse por las reglas de la +obsolesencia programa, hubiese terminado enterrado por miles de años, empujando +a sus previos usuarios a desembolsar una suma de dinero considerable en un +reluciente aparato nuevo. + +Esto no es nuevo para les cybercirujas. Todes conocemos las bondades del +Software Libre, y no solo en equipos viejos, sino que se nos presenta como la +primera -y para algunes, única- opción para instalar incluso en un hardware +nuevo. Sin embargo, muchas personas que están comenzando con la recuperación de +equipos, o bien las mismas personas que reciben equipos recuperados, se +enfrentan por primera vez a un Sistema Operativo de PC distinto a los +comerciales más utilizados. En general, les cybercirujas optamos por instalar +alguna distribución de GNU/Linux. + +Con ninguna certeza, pero cero dudas, diría que cualquier usuarie que +interactuó alguna vez con un interfaz gráfica de escritorio puede adaptarse muy +fácilmente a la mayoría de los Entornos de Escritorio que ofrecen las distros +de GNU/Linux, sea XFCE, GNOME, KDE, LXDE, LXQT, etc. Sin embargo en algún +momento se verán en la necesidad de interactuar con su computadora mediante una +interfaz de texto que se conoce como **Terminal**, **shell** o **línea +de comandos**. + +La reacción de las personas que tienen una larga historia con las interfaces +gráficas puede ir desde la curiosidad hasta un terror absoluto al verse en la +necesidad de introducir caracteres en una línea de comandos. Para muches, el +mundo de la terminal puede parecerles una lugar exclusivo para los mejores +hackers, programadores y especialistas informáticxs. + +La realidad es muy distinta. Antes de que apareciesen las interfaces gráficas +en las PC de consumo hogareño (allá por finales de los 80, principios de los +90), la mayoría de las personas interactuaban con sus computadoras mediante la +línea de comandos. Y con "las personas" me refiero a informáticxs +y científicxs, pero también a empresarixs, docentes, estudiantes, empleadxs +administrativxs, etc. Interactuar con la computadora mediante la terminal era +una habilidad que toda persona que quisiera utilizar una computadora necesitaba +adquirir. La aparición de las interfaces gráficas hizo que muchas personas +dejen de necesitar recurrir a la terminal para las tareas que realizaban +a diario. Sin embargo, para muchas tareas la terminal se presenta como una +interfaz muy eficiente para realizarlas, incluso hasta hoy en día. + +Por ejemplo, en distribuciones como Debian, Ubuntu y derivadas (como Huayra), +podemos actualizar todas las aplicaciones de nuestro sistema escribiendo solo +tres palabras en una sola línea: + +``` +sudo apt upgrade +``` + +¿Esta es la única forma que tengo en GNU/Linux de actualizar mis aplicaciones? +Claro que no! Muchas distribuciones ofrecen interfaces gráficas para hacerlo, +y en general apretando un solo botón. Entonces, si ya tengo un botón para +hacerlo, ¿vale la pena seguir usando la terminal? Claro! Por ejemplo, si cada +vez que instalo un GNU/Linux en una computadora quiero instalarle siempre las +mismas aplicaciones, podría utilizar la interfaz gráfica y buscar cada una de +esas aplicaciones (algo que probablemente requiera muchos clicks y scrolleos). +Ahora bien, si la primera vez que lo hago anoto el nombre de los paquetes de +esas aplicaciones, por ejemplo: + +``` +mpv firefox blender thunderbird libreoffice +``` + +En la próxima máquina puedo copiar esos nombres e instalar todos esos programas +en una sola línea: + +``` +sudo apt install mpv firefox blender thunderbird libreoffice +``` + +Si tenés que hacer esto en muchas máquinas, te ahorrás mucho tiempo! + +Las distribuciones de GNU/Linux siguen ofreciendo y promoviendo el uso de la +terminal, no por una cuestión elitista, sino por su eficiencia para realizar +muchas tareas. Y dado que GNU es un sistema operativo que nació inspirado en +Unix, los comandos que utilizamos en él soy muy similares a los que utilizamos +en una terminal de Unix. Muches aprendimos a utilizar la terminal medio a los +golpes, copiando y pegando lineas, buscando información en Internet, leyendo +las ayudas o **manpages** de los programas. A pesar de ser una forma muy +divertida de aprender, quizás está bueno tener una base para entender qué +estamos haciendo con esas líneas. + +Existe una comunidad de personas dedicadas a generar material y enseñar +a programar y proveer conocimientos sobre el manejo de datos a científiques de +todo el mundo: [The Carpentries](https://carpentries.org/). La idea +fundamental es que ellos ofrecen cursos a partir de materiales didácticos que +se construyen de manera comunitaria bajo licencias Creative Commons. La mayoría +de sus cursos están en inglés, pero hay uno en particular sobre aprender +a utilizar la [Terminal de +Unix](https://swcarpentry.github.io/shell-novice-es/) que se encuentra +traducido al español. + +Si bien la audiencia de The Carpentries está orientada al ambiente académico, +creo que el material de ese curso es muy útil para cualquier persona que quiera +aprender a utilizar la terminal sin contar con ningún conocimiento previo. +Además de la terminal, el material recorre contenidos como el sistema de +archivos de Unix y GNU/Linux, cómo leer la documentación de los programas, cómo +_encadenar_ programas para realizar diversas tareas y hasta como podemos +escribir **scripts** que nos permitan automatizar tareas. + +Espero que el material le pueda servir a algune cyberciruja que se está +iniciando con la terminal, o bien a les más expertes que quieren aprender algún +que otro truquito que no conocían. -- cgit v1.2.3