INTRODUCCIÓN A LA TERMINAL DE LINUX

por Rafael Michelin Salomon

¡Bienvenidos!

Antes que nada, quisiera agradecerte por haber elegido este material. Espero que te sea de mucha utilidad, que te guíe y que puedas aprender con facilidad esta herramienta imprescindible hoy en día en el mundo informático. He dividido este tutorial en distintas paǵinas y cada sección cuenta con ejercicios para aplicar lo aprendido. Al final de esta guía encontrarás varios sitios donde poder seguir aprendiendo y de más está decir que te invito a recomendar otros que conozcas para agregarlos en actualizaciones posteriores.

Prefacio

Para la mayoría de los usuarios que estamos habituados a Windows, introducirse en este mundo nuevo puede resultar abrumador. Es muy fácil desorientarse y este sistema de archivos y carpetas es muy diferente. Al principio puede ser muy confuso y admitamos que también resulta difícil "despegarse" de los programas a los que estamos acostumbrados desde siempre. Sin embargo y afortunadamente, cada vez son más las aplicaciones que se lanzan para Windows, Linux y Mac, y aunque persistan algunos problemas de compatibilidad, existen alternativas geniales. Una de las grandes ventajas de este sistema operativo es que no es necesario pagar licencias costosas para tener programas excelentes. La comunidad de Linux es gigantesca y variada y continúa creciendo a una velocidad asombrosa, gracias a la maravilla del código abierto.

Si bien las interfaces gráficas de las distribuciones han mejorado increíblemente, la terminal de Linux sigue siendo fundamental porque es el cerebro para el buen funcionamiento y el uso cotidiano de este sistema operativo. La más popular es BASH (Bourne Again SHell) y en este documento trataremos únicamente sobre ella.

Una manera rápida de acceder a Bash es con las teclas Ctrl+Alt+T, y lo primero que aparecerá será el prompt:

usuario@computadora:directorio$

El primer término que vemos es usuario (que aparece en color verde) e indica justamente quién está operando en la computadora actual (también en verde) y que está situado actualmente en un directorio dado (en azul claro). El signo $ indica que el usuario tiene privilegios de uso normal; si el signo es #, se trata del superusuario que tiene control total sobre el sistema.

Al iniciar la consola, el directorio suele ser la carpeta personal del usuario, identificada con una virgulilla (~). La carpeta raíz (root) se indica con la barra diagonal (/) y es el directorio de partida de todos los demás subdirectorios. Las rutas de los archivos y carpetas se pueden escribir de dos formas:

Es importantísimo recordar que Linux distingue entre mayúsculas y minúsculas, por lo tanto no es lo mismo directorio que Directorio. Igual de importante es el manejo de los espacios.

Una función muy útil de la terminal es la función de la tecla TAB que autocompleta lo que se está escribiendo. En la consola de Linux no existen las combinaciones Ctrl+C ni Ctrl+V para copiar y pegar, pero sí Ctrl+Shift+C y Ctrl+Shift+V.

NOTA: De hecho, Ctrl+C es una combinación imprescindible porque detiene el proceso que se está ejecutando actualmente.
También debemos tener mucho cuidado con la combinación Ctrl+S que comúnmente se emplea en Windows para guardar los cambios, porque en este caso se usa para congelar la pantalla de la consola. Para descongelarla debemos simplemente teclear Ctrl+Q, que también sirve para salir de varias aplicaciones (también suelen cerrarse simplemente con la tecla Q).
Otra combinación que debe usarse con cautela es Ctrl+Z, que en Windows se usa para deshacer una acción.

Cada comando cuenta con ciertas opciones (también llamadas flags, banderas) que siempre van precedidas por un guion (-) y se pueden escribir separadas (ls -l -a) o bien combinadas (ls -la). Cuando la opción es una expresión larga, se utilizan dos guiones: --version.

Índice

Como mencioné más arriba, los temas están organizados por páginas y aquí tienes un índice para recorrerlas:

  1. Comandos básicos
  2. Archivos y directorios
  3. Permisos de acceso
  4. Procesos
  5. Aplicaciones y paquetes
  6. Primeros scripts
  7. Operaciones aritméticas
  8. Cadenas de texto (strings)
  9. Arrays
  10. Operadores y estructuras condicionales
  11. Estructuras iterativas (bucles)
  12. Funciones
  13. Herramientas útiles
  14. Bibliografía

¡Comencemos!