1  Conceptos básicos de UNIX Shell

1.1 Introducción

El shell de UNIX es una interfaz de línea de comandos que proporciona una forma de interactuar con el sistema operativo, permitiendo a los usuarios ejecutar comandos, gestionar archivos y realizar diversas operaciones del sistema (Bollinger 1999). El shell es una potente herramienta tanto para usuarios como para administradores, ya que ofrece una amplia gama de comandos y utilidades para navegar por el sistema de archivos, gestionar procesos y automatizar tareas.

Esta guía sirve como introducción a los comandos y conceptos esenciales del shell UNIX, con el objetivo de dotar a los principiantes de los conocimientos necesarios para empezar a navegar y manipular el sistema de archivos, comprender la estructura de directorios y utilizar comandos básicos para operaciones con archivos y directorios.



1.2 Estructura de directorios de Linux

  • /bin: Binarios esenciales de comandos de usuario (programas).
  • /dev: Archivos de dispositivos (por ejemplo, unidades USB).
  • /etc: Archivos de configuración del sistema.
  • /home: Directorios de inicio para los usuarios.
  • /lib: Bibliotecas compartidas esenciales y módulos del kernel.
  • /media: Puntos de montaje para medios extraíbles (USB, CDs).
  • /mnt: Puntos de montaje temporales para sistemas de archivos.
  • /opt: Aplicaciones de software opcionales/adicionales.
  • /proc: Sistema de archivos virtual que proporciona información del sistema.
  • /root: Directorio de inicio para el usuario root.
  • /sbin: Binarios esenciales del sistema.
  • /tmp: Archivos temporales, se borran al reiniciar.
  • /usr: Jerarquía secundaria para los datos de usuario; contiene la mayoría de los programas de usuario.
  • /var: Archivos de datos variables (logs, bases de datos).

1.3 Acceso al Shell

  • Mac: Aplicaciones > Utilidades > Terminal.
  • Windows: Utilice WSL o Git-bash o PuTTY, un emulador de terminal.

1.4 Comandos básicos del shell

1.4.2 Visualización y examen de archivos

  • Mostrar el contenido de un archivo: cat myfile.txt.
  • Visualización paginada: less myfile.txt.
  • Mostrar el inicio de un archivo: head myfile.txt.
  • Mostrar el final de un archivo: tail myfile.txt.
Nota

Cuando se utiliza el comando less, se pueden utilizar las siguientes teclas para la navegación:

  • Espacio: Avanza a la página siguiente.
  • `Enter: Desplaza hacia abajo N líneas (por defecto es 1).
  • b: Vuelve a la página anterior.
  • y: Desplaza hacia arriba N líneas (por defecto es 1).
  • q: Sale del modo de visualización.

1.4.3 Manipulación de ficheros y directorios

  • Copiar archivos: cp source.txt destination.txt.
  • Mover/renombrar archivos: mv oldname.txt newname.txt.
  • Crear directorios: mkdir newdir.
  • Eliminar archivos: rm myfile.txt, directories: rm -r mydir.
  • Crear archivos vacíos o actualizar marcas de tiempo: touch newfile.txt.

1.4.4 Enlaces y búsqueda de archivos

  • Crear un enlace duro: ln source.txt link.txt.
  • Crear un enlace simbólico: ln -s source.txt symlink.txt.
  • Buscar archivos: find . -name "*.txt".

1.4.5 Tamaños de ficheros y directorios

  • Uso del disco de archivos/directorios: du -sh target.
  • Uso del espacio en disco: df -h.

1.4.6 Visualización de páginas del manual

  • Acceder a la documentación de comandos: man command.

1.4.7 Atajos de shell y comodines

  • Acceso directo al directorio de inicio: ~.
  • Directorio actual: ., parent directory: ...
  • Comodín para buscar nombres de archivo: * (por ejemplo, *.txt para todos los archivos de texto).

Embarcarse en el viaje de la maestría de la cáscara de UNIX comienza con estos conceptos fundamentales y comandos, allanando el camino para la interacción del sistema más avanzado y las tareas de gestión.