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 comandols
, quedaríals -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 comandofg
.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.