Featured image of post Terminal, línea de comandos, redirecciones y tuberías | Linux

Terminal, línea de comandos, redirecciones y tuberías | Linux

Conozca la terminal, su línea de comandos, redirecciones y tuberías que se usan con más frecuencia cuando se trabaja con sistemas operativos basados en Linux.

Temas

¿Qué es una terminal?

Un terminal, Shell, CLI o también conocido como interprete de comandos es un programa el cual tiene la capacidad de interpretar comandos u órdenes de un usuario, este permite la comunicación con el sistema haciendo más fácil la interacción directa con el núcleo y las herramientas propias del sistema operativo. Existen varios tipos de intérpretes como lo son Korn Shell (ksh), C Shell (csh), Bourne Shell (sh), Bourne Again Shell (bash) y Z Shell (Zsh) etc.

¿Qué es un comando?

Un comando es una palabra, instrucción o programa reservado, que permite la comunicación entre el usuario y su sistema operativo, además de que el usuario tiene la posibilidad de crear su propio comando, con el fin de automatizar algún proceso de interés. Los comandos cuentan con parámetros que de ser necesarios se pueden utilizar, cada comando cuenta con sus propias variantes así que es necesario conocerlas para ejecutarlas.

Normalmente, la mayoría de comandos cuenta con un patrón simple de sintaxis Comando [Opciones...] [Argumentos...], las opciones alteran el uso del comando obteniendo como resultado una variante del mismo. Como ejemplo:

  • El comando ls que sirve para listar archivos y directorios.
  • Pasándole la opción -a al comando ls, quedaría ls -a, este puede listar archivos y directorios ocultos.
  • Pasándole como argumento una carpeta, puede listar el contenido de la misma, ls -a Documents.

Cada comando tiene su propia lista de opciones, para acceder a ella, la mayoría de estos cuenta con la opción --help o en su defecto con el comando man que se le pasa como argumento el comando a consultar, ls --help o man ls.

Comandos básicos

Comando Descripción
pwd Muestra la ubicación del directorio actual
ls Muestra una lista de archivos y directorios
cd [dir] Cambia de directorio
rm [fich] Elimina ficheros
mkdir [nom_dir] Crea un directorio/carpeta
touch [nom_fich] Crea un archivo
echo [“text”] Imprime texto en terminal
cat [fich] Imprime por terminal el texto de un fichero
mv [fich1 …fichN dir] Mover archivo y/o cambiarle el nombre de archivo
cp [fich1 …fichN dir] Copiar archivo y/o cambiarle el nombre de archivo
grep [exp fich] Busca patrones en un archivo de texto
sudo apt update Busca actualizaciones de los paquetes del sistema
sudo apt upgrade Actualiza los paquetes del sistema
sudo dpkg -i [nom.deb] Instala un paquete ya previamente descargado
sudo apt remove [nom_pack] Borra un paquete en específico
chmod [permisos fich] Modifica los permisos de un fichero
ln Crea enlaces hacia archivos
curl Descarga el contenido de una web
find Busca dentro de directorios archivos
cut Corta columnas o campos de ficheros
sed Busca y remplaza en texto y/o ficheros

Redirecciones y Tuberías

Las tuberías y redirecciones son un complemento de la terminal que facilitan el uso de la misma. Las tuberías permiten conectar dos o más comandos y las redirecciones pueden cambiar la salida y entrada de los mismos, ya que como entrada estándar está el teclado, y como salida, la pantalla.

Las redirecciones en linux funcionan como flujos de datos y existen tres tipos:

  • Entrada estándar STDIN Input-0 (Teclado)
  • Salida estándar STDOUT Output-1 (Pantalla o terminal de comandos)
  • Error estándar STDERR Error-2 (Pantalla o terminal de comandos)

Los operadores o símbolos más utilizados para realizar redireccionamiento y conectar con tuberías son los siguientes:

Símbolo Descripción
| Operador Pipe o tubería, redirecciona la salida de un comando STDOUT sirviendo de entrada para otro STDIN.
> Redirecciona STDOUT hacía un archivo, creándolo o sobreescribiéndolo si existe.
>> Redirecciona STDOUT hacía un archivo ya existente, agregando una nueva línea al final del archivo.
< Redirecciona STDIN, su puede usar un archivo que sirva como parámetro de entrada para un comando.
2> Redirecciona STDERR hacía un archivo, creándolo o sobreescribiéndolo si existe.
2>> Redirecciona STDERR hacía un archivo ya existente, agregando una nueva línea al final del archivo.
1>&2 Redirecciona STDOUT hacía donde STDERR apunte.
2>&1 Redirecciona STDERR hacía donde STDOUT apunte.

Estos flujos de datos se pueden redireccionar hacia archivos, y en su lugar remplazar la salida o entrada estándar. Como ejemplo básico, se puede redireccionar la salida del comando ls -al y guardar su contenido en un archivo de texto, el operador de redireccionamiento a usar es >, su uso se puede llevar a cabo de la siguiente manera: ls -al > Ejemplo.txt.

Tips

Los siguientes atajos de teclado resultan útiles para agilizar y trabajar más rápidamente con el uso de terminal de comandos:

  • TAB : Permite autocompletar el comando que se está escribiendo y muestra posibles opciones.
  • Ctrl+L : Limpia la terminal y la deja lista para el siguiente comando.
  • Ctrl+C : Detiene un comando o proceso de forma segura.
  • Ctrl+Z : Detiene un comando o proceso de forma agresiva y lo envia a segundo plano, para volver a activar el proceso, con el comando fg.
  • Ctrl+A : Posiciona el cursor al inicio.
  • Ctrl+E : Posiciona el cursor al final.
  • Ctrl+U : Borra todo lo escrito en la terminal.
  • Ctrl+K : Borra todo desde la posición del cursor hasta el final.
  • Ctrl+W : Borra la palabra antes del cursor.
  • Ctrl+Y : Restaura todo lo borrado anteriormente.
  • Ctrl+S : Congela la terminal.
  • Ctrl+Q : Descongela la terminal.

🧾 Referencias