Ya hemos visto la importancia de aprender a programar. Habrá gente que ya sabe lo que es un lenguaje de programación y sabrá que hay varios; este artículo está dirigido a quienes aún no lo tengan tan claro.  Uno de los primeros que se escuchan cuando la gente se interesa por este mundo puede ser C. No obstante yo he decidido hablar de BASH y Python. En éste artículo vamos a centrarnos en las razones por las que creo que debéis aprender BASH. No he tomado ésta decisión por capricho. Siento aburriros, pero en efecto, esta clase me temo que será teórica. Pero tranquilos, que no entra para examen.

Uno de los motivos es que Shell Script está presente tanto en GNU/Linux, como en Minix, Solaris, BSD o Mac, dado que es compatible con el estándar POSIX y los sistemas operativos mencionados anteriormente lo cumplen. BASH, como no puede ser de otra manera, es compatible con POSIX y tras la decisión de Microsoft de incluirlo en su sistema operativo, también está disponible en Windows 10 por defecto; igualmente si eres usuario del S.O. de la ventana pero usas otras versiones puedes buscar intérpretes de BASH para ejecutarlo sin problemas (la existencia de estos intérpretes y la decisión de la compañía de incluirlo por defecto, os dará una idea de lo potente que puede ser, por muchas cosas que se puedan hacer desde el CMD o el PowerShell). Cuando se instala git, también se instala un intérprete de BASH, si estáis usando éste sistema de control de versiones,deberíais tener algo parecido a esto:

Así que una vez que sabemos que nuestra máquina está preparada… ¿qué hacemos ahora?

Como es un intérprete de línea de comandos necesitamos conocer algunos de esos comandos. No todos porque son muchos, de hecho literalmente todos cuantos quieras, cuando hagamos nuestros scripts podremos hacer nuestros propios comandos. Para hacéroslo más fácil, según se vayan necesitando conocimientos de los comandos los iremos publicando y referenciándolos en los posts que sean mencionados con el fin de que tengáis las bases necesarias para continuar con la formación. La serie conociendo la terminal se hará de forma conjunta a ésta. Igualmente, en los comentarios podéis dejar vuestras dudas que intentaremos revolverlas.

¿Pero no decían que para usar GNU/Linux no se necesitaba usar la consola?

Efectivamente, para un usuario normal no es necesario usar la consola. Pero nosotros queremos ir mas allá: tanto para ser desarrollador como administrador de sistemas, sea un único ordenador o una red entera vamos a necesitar teclear. La mejor forma de aprender a programar es asentar unas buenas bases y escribir mucho código.
Una de las ventajas que tiene BASH son los comandos de ayuda y el manual. Es una solución muy eficiente ante pequeñas dudas que puedan invadirnos.  Os los enseñaremos en la serie de conociendo la terminal, así que no dudéis en seguirnos.

Dicho todo esto…¿qué cabe esperar?

Como hay lectores de todos los niveles y con la intención de que todos seamos capaces de defenderos en el mundo de la programación esta serie será de un nivel básico. Habrá más y con más nivel, mi intención es seguir formándome en programación y ayudar a aquellos que quieran aprender.

Las series didácticas requieren un tiempo para preparar el material que se ofrece, no quiero que os resulte muy lioso así que a cualquier duda, pregunta o sugerencia os agradecería que lo dejaseis en los comentarios. A parte de eso, cuando se alcance cierta cantidad de conocimientos, haremos actividades para poner en práctica lo aprendido. Además, os pido que en comentarios no sólo expongáis vuestras dudas también que, si tenéis los conocimientos necesarios, intentéis resolver las dudas de los demás. Si creamos una comunidad, por pequeña que sea, podremos crecer al enfrentarnos tanto a nuestros problemas como a los del resto.

Dicho esto, la siguiente publicación será práctica para ir adentrándonos poco a poco en el mundo de la programación. Sólo necesitáis un editor de texto plano o de código avanzado y ganas de aprender y practicar. Si tenéis editores de código avanzado favoritos, podéis recomendarlos. En colaboratorio.net preferimos el FLOSS así que algunos editores de texto plano con licencia GPL que vienen con nuestras distribuciones y podéis usar:

  • gEdit
  • Pluma o Xed
  • Leafpad
  • MousePad
  • Kate

También está el editor de código avanzado Geany con licencia GPL. Algunos de los de código avanzados con licencia MIT y gran cantidad de complementos para aumentar sus funcionalidades son:

Espero que les sea útil la lista ¡Nos vemos en clase compañeros!


 La imagen de cabecera tiene licencia CC BY-SA 4.0

5 1 voto
Article Rating
Subscribe
Notificarme de
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

29 Comments
más antiguo
más nuevo más votado
Reacciones en línea
Ver todos los comentarios
Anónimo

Soy un recién llegado a GNU/Linux y en el poco tiempo que llevo me entró la curiosidad por aprender sobre Bash y programación en general.
Estaré esperando con ansias el resto de los artículos 🙂

Marvin

Hola buenas noches soy un chico de Bolivia q vivo en Madrid estoy estudiando Informatica me gusta Linux quisiera saber si saben de algún curso de certificación de Linux y q tal son los LPI de Linux gracias de antemano y me gusta todo lo q hacen

RafaGCG

Genial!!. Atento quedo.

ppnman

pues yo escucho mi colección de música así: #!/bin/bash SOURCE=/home/yo/Música/ PLAYLIST=/home/yo/playlist.m3u SYNCLIST=/home/yo/.sync.list find $SOURCE -type f -name ‘*.mp3’ | shuf –head-count=9 –output=$PLAYLIST find $SOURCE -type f -name ‘*.ogg’ | shuf –head-count=3 >> $PLAYLIST find $SOURCE -type f -name ‘*.m4a’ | shuf –head-count=1 >> $PLAYLIST mplayer -playlist $PLAYLIST cat $PLAYLIST >> $SYNCLIST rm -v $PLAYLIST echo ‘reproducción concluida,have a nice day’ exit la .synclist es para sincronizar mi motorola,y esto lo hago así: #!/bin/bash SYNCLIST=/home/yo/.sync.list CONV=/home/yo/CONV/ MOTO=/home/yo/Datos/moto mkdir $CONV cp -v cat $SYNCLIST $CONV find $CONV -type f -name ‘*.ogg*’ -exec ffmpeg -i {} -c:a libmp3lame -b:a 128k -hide_banner {}.mp3 ; -exec rename -v ‘s/.ogg//’ {}.mp3 ; -exec rm -v {} ; find $CONV -type f -name ‘*.m4a*’ -exec ffmpeg -i {} -c:a libmp3lame -b:a 128k -hide_banner {}.mp3 ; -exec rename -v ‘s/.m4a//’ {}.mp3 ; -exec rm -v {} ; mv -v $CONV/*.mp3 $MOTO rm -rv $CONV rm -rv $SYNCLIST touch… Leer más »

Duncan

Por lo que he estado leyendo la versión de BASH para Windows 10 ha sido desarrollada en colaboración con Canonical (Bash on Ubuntu on Windows) y hay que instalarla ya que no viene por defecto. Excelente introducción al tema, Ish y estaré atento a la siguiente clase.

ApoLinux

Gracias por esta estupenda iniciativa, estaré al pendiente de este curso.

Cesitar

Yo estaba preparando un manual para desenvolverse en el terminal y en el intérprete de mandatos. Sería el equivalente a tu serie de conociendo el terminal.

Pero me quedé estancado en uno de sus primeros capítulos. Dicho capítulo debía dar una serie de notas históricas que ayudarían a comprender el resto de capítulos. Pero tuve problemas para enlazar unos hechos con otros de manera amena y sin alargarme demasiado. También tuve dificultades para ser riguroso en algunas cosas.

Así que tengo el manual abandonado; esperando a que aparezcan las musas.

Si quieres, puedo enviarte el esquema que tenía planeado por si te sirve de algo. Puedo enviarlo al correo del Colaboratorio o subirlo a algún sitio.

Quijote Libre

Te has dejado Emacs 😉

Marcelo

Me apunto al curso!!!! Va a estar bueno.

Iago_0M

yo soy usuario de Linux desde hace tiempo y este año he empezado un FP sobre programación web, ahora mismo nos están enseñado java, pero también me apuntaré al curso, a ver si consigo sacar tiempo de algún sitio.

SaulVS

Buen día,

¿Me pregunto si usted continuará con los post sobre aprender a programar que menciono anteriormente?

Gracias, le deseo mucho excito

gabriel

alguien me puede decir cuales son las ventajas de usar este lenguaje, y que tnto se puede hacer, soy nuevo en esto

Jose

Qué pasó con este hilo/post ???
Vas a volver ???

Ferran

Hola,

En si mismo bash no es un lenguaje de programación. Si Python.

Wikipedia: Bash es un Intérprete de comandos de tipo Unix (shell) escrito para el proyecto GNU.

Yo prefiero el editor vi que es el estándar en UNIX!

Tecprog World

Me interesa mucho el curso, un saludo desde Lima – Perú, GNU/Linux es la onda. <3