Programar una alarma en una sola línea o borrar archivos importantes: tú decides, pero estos comandos son esenciales.
¿Para qué usar la terminal si las distribuciones de Linux y la mayoría de las aplicaciones modernas tienen interfaz gráfica? A primera vista, parece más cómodo: no hay que leer documentación ni teclear comandos manualmente. Pero en Linux solo hay más de diez entornos de escritorio oficiales, y muchos más no oficiales. Difieren mucho entre sí y a menudo funcionan de manera diferente, mientras que los comandos son casi los mismos.
Además, si eres programador, seguramente tendrás que conectarte remotamente a un servidor con Linux, donde no habrá interfaz gráfica.
Incluso la interfaz gráfica más sofisticada nunca te dará la flexibilidad y funcionalidad que ofrece la línea de comandos. Por ejemplo, la posibilidad de crear y ejecutar complejas secuencias de varios comandos diferentes, escribir scripts diferidos, etc. Abrir la terminal y escribir un comando siempre será más rápido que hacer clic en los menús para seleccionar la opción deseada.
Finalmente, recordemos que Linux es solo uno de los muchos sistemas operativos similares a Unix. Al aprender la terminal de Linux, podrás desenvolverte en Unix, sistemas BSD y macOS. En otras palabras, obtendrás una herramienta universal, rápida y potente.
Antes de continuar, ten en cuenta estas reglas:
- No ejecutes comandos que no conozcas. Copiar comandos de internet e introducirlos en la terminal sin entender qué hacen es una mala práctica.
- Si la terminal indica que no encuentra un comando, puedes buscarlo en los repositorios e instalarlo con el gestor de paquetes. Verás cómo más abajo.
- Lee el manual. La terminal es buena porque tiene ayuda integrada detallada para todos los comandos, accesible con
man
ohelp
. El buen principio RTFM (read the fucking manual).
- Comandos básicos para la terminal Linux
- Comandos para obtener ayuda sobre comandos y la terminal
- Comandos para obtener información del sistema
- Comandos de Linux para gestionar archivos y carpetas
- Comandos para gestionar permisos de archivos y directorios
- Comandos para gestionar usuarios
- Comandos de gestión de red
- Comandos de archivado
- Comandos para trabajar con texto
- Comandos para gestionar procesos
- Administradores de paquetes. Cómo instalar una aplicación
- Comandos de apagado y reinicio
- Teclas y funciones útiles
- Atajos de teclado
- Los comandos más importantes
- Resumen
- $ ./guia-linux --descargar --gratis 🚀
Comandos básicos para la terminal Linux
Ctrl + Alt + T
— iniciar la terminal.Ctrl + Shift + T
— abrir una nueva pestaña.Ctrl + Shift + W
oCtrl + D
— cerrar la pestaña actual (o la terminal completa, si solo hay una pestaña).Ctrl + Shift + N
— abrir una nueva ventana de terminal.Ctrl + C
— cancelar la ejecución del comando introducido.clear
— limpiar la ventana de la terminal.history
— historial de comandos.
Para ver un número específico de comandos anteriores, agrega un número al comando history
:
history 5
1010 ip -h monitor
1011 whatis ls
1012 nethogs
1013 clear
1014 history 5
Puedes navegar por los comandos anteriores con las flechas arriba y abajo.
sleep [número]
— retrasar la ejecución del siguiente comando. Útil cuando la ejecución del siguiente comando depende de que el anterior termine correctamente.
Para especificar el tiempo de espera, usa estos símbolos:
s
— segundos;m
— minutos;h
— horas;d
— días.
Este ejemplo ejecuta el archivo song
con mplayer
después de 2 horas y 20 minutos:
sleep 2h 20m && mplayer song.mp3
Comandos para obtener ayuda sobre comandos y la terminal
Con la línea de comandos puedes obtener rápidamente información sobre programas, el estado del sistema y la configuración.
man [nombre_del_paquete]
— el manual principal de comandos de Linux.
Proporciona información detallada sobre el comando y su uso. Cada comando tiene muchas opciones; aprender a usar el manual es clave. Al principio, la salida de man
puede parecer confusa, pero una vez que la domines, reducirás al mínimo las búsquedas en Google.
Por ejemplo, man ls
mostrará información como esta:
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alpha‐
betically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
...
La salida de man
incluye:
Name
— el nombre del comando.Synopsis
— breve descripción del comando y su sintaxis.Description
— explicación de qué hace el programa.Options
— descripción de las opciones de línea de comandos y más información.
Las opciones son lo más útil. Por ejemplo, para listar archivos y sus autores:
ls --author -l
total 225824
-rw-r--r--. 1 adlinxin adlinxin adlinxin 5615374 Nov 29 2021 1default.png
-rw-r--r--. 1 adlinxin adlinxin adlinxin 5517455 Nov 29 2021 2default.png
-rw-r--r--. 1 adlinxin adlinxin adlinxin 5807674 Nov 29 2021 3default.png
-rw-r--r--. 1 adlinxin adlinxin adlinxin 6155385 Nov 29 2021 4default.png
-rw-r--r--. 1 adlinxin adlinxin adlinxin 6039516 Nov 29 2021 5default.png
-rw-r--r--. 1 adlinxin adlinxin adlinxin 5464565 Nov 29 2021 6default.png
LS (1)
indica la primera página. Navega con el ratón, flechas, barra espaciadora, PgUp/PgDn, Home y End. Una H mayúscula mostrará más opciones de navegación. Para buscar, usa ? [palabra_a_buscar]
y Enter.
help
— ayuda breve. Si el manual no tiene la información necesaria o necesitas ayuda rápida, usahelp
.
ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE with -l, scale sizes by SIZE when printing them;
e.g., '--block-size=M'; see SIZE format below
whatis [nombre_del_paquete]
— descripción breve de una utilidad.
whatis whatis
#whatis (1) - display one-line manual page descriptions
Comandos para obtener información del sistema
whoami
— información sobre el usuario actual.
whoami
#adictosalinux
whereis
— ruta a un programa.
Muestra la ruta completa al archivo ejecutable.
whereis firefox
#firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
lsblk
— información sobre los bloques de disco.
Muestra datos sobre discos, particiones y sus nombres (sda1, sda2, etc.).
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 128G 0 part /run/media/adictosalinux/25881-1
└─sda2 8:2 0 803.5G 0 part
zram0 252:0 0 8G 0 disk [SWAP]
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 200M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1G 0 part /boot
├─nvme0n1p3 259:3 0 439.1G 0 part /home
└─nvme0n1p4 259:4 0 36.7G 0 part /
df
— espacio en disco usado.
Muestra el espacio total y libre de un disco/partición. Por defecto, en kilobytes. Usa -m
para megabytes.
df -m
Filesystem 1M-blocks Used Available Use% Mounted on
devtmpfs 4 0 4 0% /dev
tmpfs 7896 195 7701 3% /dev/shm
tmpfs 3159 2 3157 1% /run
/dev/nvme0n1p4 36674 20796 13984 60% /
tmpfs 7896 46 7851 1% /tmp
/dev/nvme0n1p2 974 271 636 30% /boot
/dev/nvme0n1p3 441436 349935 69006 84% /home
/dev/nvme0n1p1 200 18 183 9% /boot/efi
tmpfs 1580 12 1568 1% /run/user/1000
du
— tamaño de un archivo o carpeta.
Muestra el espacio ocupado por un archivo o directorio. Usa -h
para un formato legible (MB, KB).
du -h ~/Desktop
15G /home/adictosalinux/Desktop
free
— memoria RAM disponible y usada. Usa-h
para mostrar en MB.
free -h
total used free shared buff/cache available
Mem: 15Gi 10Gi 536Mi 1.4Gi 4.3Gi 3.2Gi
Swap: 8.0Gi 6.9Gi 1.1Gi
uname
— información del sistema.uname -a
para más detalles (nombre del equipo y versión del kernel).
uname -a
Linux fedora 6.1.14-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 26 00:13:26 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
uptime
— tiempo de funcionamiento del sistema y número de usuarios.
uptime
22:18:30 up 14 days, 21:50, 1 user, load average: 0.48, 0.53, 0.54
date
— fecha y hora. Se puede formatear.
date
#Tue 18 May 22:18:58
cat /etc/*-release
— información sobre la distribución.
cat /etc/*-release
Fedora release 42 (Forty Two)
NAME="Fedora Linux"
VERSION="42 (Workstation Edition)"
Comandos de Linux para gestionar archivos y carpetas
pwd
— directorio actual. “¿Dónde estoy?” Te permite saber en qué carpeta te encuentras.
pwd
#/home/adictosalinux
file
— Definición del tipo de archivo. Muestra con qué estás trabajando (documento de texto, imagen, carpeta).
file Dropbox/
Dropbox/: directory
mount
/umount
— Se usa para montar discos, dispositivos, sistemas de archivos, imágenes ISO. Requiere privilegios de superusuario.
mount /dev/sdb1 /mnt # Montar una memoria USB
sudo umount /dev/sdb1 # Desmontar
ls
— listar el contenido de un directorio. Por defecto, el directorio actual.ls [ruta]
para otro directorio.-R
para incluir subdirectorios.
ls Desktop
#2014.pdf
#50689841.pdf
#959f945cb24b3d3f7b68306e5ce1b301.jpg
#98551794.pdf
#archive
#dir00
#dir01
#dir02
#dir03
Opciones útiles:
ls -l
: muestra una lista del contenido con información detallada.ls -a
: muestra los archivos ocultos.
du
— Información sobre el tamaño de un archivo o carpeta
du -h -s Desktop/
15G Desktop/
df
— análisis del espacio en disco.-h
para un formato legible.
Opciones útiles:
-h
: muestra los tamaños en un formato fácil de leer.-s
: muestra la información mínima.-d
: establece la profundidad de la recursión en las carpetas.
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 7.8G 212M 7.6G 3% /dev/shm
tmpfs 3.1G 1.9M 3.1G 1% /run
/dev/nvme0n1p4 36G 21G 14G 60% /
tmpfs 7.8G 54M 7.7G 1% /tmp
/dev/nvme0n1p2 974M 271M 636M 30% /boot
/dev/nvme0n1p3 432G 342G 68G 84% /home
/dev/nvme0n1p1 200M 18M 183M 9% /boot/efi
tmpfs 1.6G 12M 1.6G 1% /run/user/1000
cd
— cambiar de directorio/Navegación por carpetas.
cd [dirección_carpeta]
— te mueve a la carpeta deseada.
Invocarlo sin parámetros te devuelve al directorio de inicio.
cd ..
— salir un nivel hacia arriba.
cd -
— volver a la carpeta anterior.
cd Desktop/
[adictosalinux@fedora Desktop]$
Si necesitas ver a dónde puedes ir desde la carpeta actual, escribe cd
+ espacio + pulsa dos veces Tab.
cd +
archive/ iscan-gt-s600-bundle-2.30.4.x64.rpm/
dir00/ pics/
dir01/ OneDrive/
dir02/ OneDrive-2024/
dir03/ Photos/
dir04/ Photos_c/
dir05/ REACT/
Para saber qué carpetas empiezan, por ejemplo, con la letra D, escribe cd
+ D + doble Tab.
cd + D
dir00/ dir01/ dir02/ dir03/ dir04/ dir05/
diff
— Diferencia entre archivos
Muestra las diferencias entre dos documentos de texto.
diff archivotexto-1.txt archivotexto-2.txt
1,2c1,2
< Si necesitas ver a dónde puedes ir desde la carpeta actual, escribe cd + espacio + doble Tab.
< Para saber qué carpetas empiezan, por ejemplo, con la letra D, escribe cd + D + doble Tab.
---
> diff — Diferencia entre archivos.
> Muestra la diferencia entre dos archivos de texto.
mkdir
— Crear una nueva carpeta
Para crear toda la estructura de carpetas con subcarpetas, añade el parámetro -p
.
mkdir Desktop/micarpeta
La orden mkdir -p /home/MiNuevaCarpeta/AntiguaCarpeta
creará la carpeta MiNuevaCarpeta
en el directorio de inicio y moverá a esta nueva carpeta AntiguaCarpeta
, que fue creada previamente.
Para crear 33 carpetas a la vez, basta con escribir:
mkdir dir{00..33}
ls
#dir00 dir04 dir08 dir12 dir16 dir20 dir24 dir28 dir32
#dir01 dir05 dir09 dir13 dir17 dir21 dir25 dir29 dir33
#dir02 dir06 dir10 dir14 dir18 dir22 dir26 dir30
#dir03 dir07 dir11 dir15 dir19 dir23 dir27 dir31
touch
— Crear un archivo
Inicialmente la orden estaba destinada a cambiar la hora de la última apertura de un archivo o carpeta, pero en la práctica se usa más a menudo para crear archivos nuevos.
touch /home/adlinxin /miarchivo.txt
cp
— Copiar archivos y carpetas
Para copiar carpetas y archivos anidados, debes añadir el parámetro -r
(recursivo).
cp miarchivo.txt /home/adlinxin/Desktop
mv
— Mover/renombrar archivos y carpetas
En Linux, renombrar es como mover un archivo a la misma carpeta, pero con un nombre diferente.
mv viejoarchivo.txt nuevoarchivo.txt
Con esta orden puedes renombrar varios archivos a la vez.
for f in *.html; do
mv -- "$f" "${f%.html}.php"
done
El código anterior cambiará la extensión de todos los archivos de la carpeta de .html a .php.
Aquí se usa un bucle for
, que recorre todos los archivos con la extensión .html. El código de la segunda línea mueve cada elemento de la lista a una nueva ubicación (= lo renombra), reemplazando .html por .php. El fragmento ${file%.html}
elimina las partes del nombre del archivo .html. Done
en la tercera línea significa el final del bucle for
.
rename
— Renombrar archivos
Una orden más avanzada que mv
. Pero requiere conocimiento de expresiones regulares. Con rename
, la transformación de .html a .php se verá así:
rename 's/.html/.php/' *.html
Aquí s/
(operador de sustitución) es responsable de buscar la cadena (.html) y reemplazarla por .php. El cuantificador *
significa cero o más repeticiones.
rm
— Eliminar archivos y carpetas
Para eliminar carpetas y archivos anidados, añade el parámetro -r
. Importante: rm
elimina un archivo o carpeta sin posibilidad de recuperación con métodos convencionales.
rm -rf/
— fue una de las órdenes más peligrosas alguna vez, porque eliminaba todo para siempre. Aquí está su descripción:
rm
: eliminar archivos;-rf
: eliminar recursivamente, es decir, recorrer las carpetas anidadas;/
: empezar desde el directorio raíz.
Como había usuarios que no leían el manual y sufrían por culpa de bromistas que les aconsejaban reparar su sistema con esta orden, en versiones posteriores de Linux se limitaron sus capacidades destructivas. Y sí, incluso cuando funcionaba a la perfección, había que ejecutarla con privilegios de superusuario.
ln
— Crear un enlace duro o simbólico a un archivo
Un enlace simbólico es un análogo aproximado a un acceso directo en Windows. Simplemente apunta a un archivo, mientras que un enlace duro apunta a una dirección física en el disco y, de hecho, crea una copia del archivo.
Creación de un enlace duro:
ln /home/adictosalinux/videos/video.mp4 /home/adlinxin/Desktop/hard_link_to_video_file
Creación de un enlace simbólico:
ln -s /home/adictosalinux/video.mp4 soft_link_to_video_file
find
— Búsqueda en el sistema de archivos
Una orden muy útil. Permite no solo buscar archivos y carpetas según criterios dados, sino también realizar acciones adicionales con ellos.
find ./micarpeta -name archivo.txt
#busca un archivo con un nombre determinado (archivo.txt) en la carpeta ./micarpeta
find ./micarpeta -name *.txt
#busca todos los archivos con la extensión .txt en una carpeta específica
find ./micarpeta -name unarchivo.txt -exec rm -i {} \;
#busca y elimina un archivo con confirmación (es decir, tendrás que confirmar que realmente quieres eliminar el archivo)
Aquí decimos: busca (find
) en la carpeta ./micarpeta
un archivo con el nombre (-name
) unarchivo.txt
y ejecuta (-exec
) la orden de eliminación (rm
) de todos los archivos {}
, pidiendo confirmación cada vez (-i
).
Hay muchas más opciones, consulta man
.
dd
— Copiar y transformar archivos y particiones
Permite copiar y mover particiones enteras y archivos individuales.
Debes especificar el archivo de origen, el lugar donde copiar y las opciones adicionales necesarias.
Se usa a menudo para crear Live USB. Crear una imagen de disco:
sudo dd if=/dev/sda of=/tmp/sdadisk.img
wc
— Estadísticas de un archivo
Muestra el número de líneas, palabras, caracteres y bytes.
wc ~/Desktop/archivotexto-1.txt
# 2 32 312 /home/adictosalinux/Desktop/archivotexto-1.txt
wget
— Descargar archivos de Internet
Permite descargar imágenes, documentos y páginas web.
$ wget https://www.unsitioweb.es/imagen.jpg
$ wget ya.es
--2025-03-22 00:42:47-- http://ya.es/
Resolving ya.es (ya.es)... 2a02:6b8::2:242, 77.88.55.242, 5.255.255.242
Connecting to ya.es (ya.es)|2a02:6b8::2:242|:80... connected.
[...]
Length: 1727 (1.7K) [text/html]
Saving to: 'index.html'
index.html 100%[===================>] 1.69K --.-KB/s in 0s
2023-03-22 00:42:48 (69.8 MB/s) - 'index.html' saved [1727/1727]
Comandos para gestionar permisos de archivos y directorios
Muchas acciones en el sistema se realizan con privilegios de superusuario, como la instalación de actualizaciones, programas o su eliminación.
sudo
— Obtener privilegios de superusuario
Por ejemplo, con el siguiente comando actualizaremos los paquetes en Fedora Linux:
sudo dnf update
sudo su
— Opción útil si necesitas ejecutar varias órdenes como superusuario. Si lo introduces una vez, puedes escribir las órdenes necesarias.
Los usuarios experimentados recomiendan evitar este comando por razones de seguridad.
sudo !!
— Ejecutar el último comando introducido con privilegios de administrador.
sudo gksudo
— Ejecutar utilidades gráficas como superusuario.
El formato del comando es:
sudo gksudo [nombre_de_la_aplicación_que_se_debe_ejecutar].
Pero sudo
no está disponible por defecto en todas las distribuciones. Por ejemplo, en distribuciones como Arch Linux, Gentoo y otras que permiten al usuario configurar el sistema casi sin restricciones, sudo
debe instalarse por separado. Pero en todas existe su
.
chmod
— Cambiar los permisos de acceso a un archivo
Puedes dar permisos de lectura, escritura y ejecución de un archivo.
chmod opciones permisos /[ruta_al_archivo]
Hay tres tipos principales de permisos:
r
— lectura;w
— escritura;x
— ejecución.
Y tres tipos de usuarios:
u
— propietario del archivo;g
— grupo del archivo;o
— otros usuarios.
También existe un formato numérico de escritura:
0
— ningún permiso;1
— solo ejecución;2
— solo escritura;3
— ejecución y escritura;4
— solo lectura;5
— lectura y ejecución;6
— lectura y escritura;7
— lectura, escritura y ejecución.
chmod o+w *.txt
Este comando permitirá a otros usuarios (todos menos el propietario del archivo) leer y escribir en los archivos de texto.
chmod -R 777 /
Este comando dará a todos los usuarios el derecho a leer, escribir y ejecutar archivos en el sistema.
chown
— Cambiar el propietario de un archivo o carpeta
Para ejecutar este comando necesitas tener privilegios de superusuario.
Para cambiar el propietario de archivos y carpetas anidados, añade el parámetro -R
.
Comandos para gestionar usuarios
En Linux puede haber varios usuarios con diferentes permisos.
useradd
/userdel
/usermod
— Añadir, eliminar y modificar un usuario
useradd nombreUsuario
#añadir un usuario.
passwd nombreUsuario
#establecer una contraseña para el usuario. Al escribir la contraseña en el terminal no se mostrarán caracteres, pero el sistema tendrá en cuenta todas las teclas pulsadas.
userdel nombreUsuario
#eliminar una cuenta de usuario.
usermod nombreUsuario
#editar una cuenta de usuario.
Comandos de gestión de red
hostname
— Determinar el dominio
Muestra la dirección DNS de tu máquina.
hostname
#fedora
Con la opción -i
muestra la dirección IP actual del equipo.
ip
— Trabajar con la red
Este comando reemplaza muchos otros comandos que antes se usaban para la configuración de red, como ifconfig
, ipconfig
, netstat
, etc.
ip -a
— información sobre la configuración de red.
ip -a
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { address | addrlabel | amt | fou | help | ila | ioam | l2tp |
link | macsec | maddress | monitor | mptcp | mroute | mrule |
neighbor | neighbour | netconf | netns | nexthop | ntable |
ntbl | route | rule | sr | tap | tcpmetrics |
token | tunnel | tuntap | vrf | xfrm }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec | -j[son] | -p[retty] |
-f[amily] { inet | inet6 | mpls | bridge | link } |
-4 | -6 | -M | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
-c[olor]}
ip address show
— muestra información sobre las direcciones de red.
ip route
— gestionar el enrutamiento.
ip -help
— conocer todas las opciones de uso.
ping
— Diagnóstico de red
ping
se usa para comprobar la conexión a internet y probar la calidad de la conexión. La forma más sencilla de comprobar el funcionamiento de la red es introducir ping google.com
. Para cancelar la ejecución del comando, pulsa Ctrl + C. También puedes usar este comando para comprobar la conexión con tu servidor.
ping google.com
PING google.com(lb-in-f101.1e100.net (2a00:1450:4010:c1e::65)) 56 data bytes
64 bytes from lb-in-f101.1e100.net (2a00:1450:4010:c1e::65): icmp_seq=1 ttl=108 time=40.9 ms
traceroute
— Como ping, pero mejor
Muestra no solo la ruta de los paquetes de red, sino también datos sobre el nodo y el tiempo de entrega de los paquetes.
nethogs
— Información sobre el tráfico
Una utilidad útil que ayuda a determinar qué programa consume cuánto tráfico. No está instalada por defecto en todos los sistemas.
Comandos de archivado
zip
— Archivar un archivo
Empaqueta archivos en un archivo zip.
zip mi-archivo.zip /home/adlinxin/archivo-a-archivar.txt
unzip
— Descomprimir un archivo
Extrae archivos de un archivo.
tar
— Crear copias de seguridad
La utilidad tar
también crea archivos, pero con la extensión .tar. A diferencia de zip
, no comprime los archivos, por lo que se usa más a menudo para realizar copias de seguridad.
Se ejecuta con los parámetros -cf
. Puedes ver el contenido de un archivo .tar con las opciones -tvf
. Para descomprimir un archivo .tar se utilizan las opciones -xvf
.
tar -xvf nuevoarchivo.tar
-c, --create
— crear un nuevo archivo;-t, --list
— mostrar una lista del contenido del archivo;-x, --extract
— extraer archivos del archivo;-v, --verbose
— mostrar una lista con detalles;-f, --file
— archivo (archivo).
Comandos para trabajar con texto
Para ello se utilizan los editores Nano y Vim, que se ejecutan directamente en la ventana del terminal.
nano
— Ejecutar el editor de texto Nano
nano archivotexto-1.txt
En la parte inferior se ven las sugerencias para los comandos principales del editor. Después de introducir el texto, guárdalo pulsando la combinación de teclas Ctrl + O y sal con Ctrl + X.
vim
— Ejecutar el editor de texto Vim
Vim es mucho más potente y complejo que Nano, pero Vim se puede utilizar como un IDE completo para programar y/o trabajar con textos. Para salir del editor, introduce :q
.
echo
— Mostrar una cadena en el terminal
Un comando simple y popular, se usa para mostrar texto en el terminal o en un archivo.
echo ¡Hola, Mundo!
#¡Hola, Mundo!
Con la opción -e
puedes ejecutar secuencias especiales. Por ejemplo, añadiendo \n
, puedes mostrar palabras en nuevas líneas.
echo -e "Hola, \nMundo \n!"
#Hola,
#Mundo
#!
Puedes colorear la salida en diferentes colores, y añadiendo *
, mostrar el contenido de una carpeta.
echo *
#dir00 dir01 dir02 dir03 dir04 dir05 dir06 dir07 dir08 dir09 dir10 dir11 dir12 dir13 dir14 dir15 dir16 dir17 dir18 dir19 dir20 dir21 dir22 dir23 dir24 dir25 dir26 dir27 dir28 dir29 dir30 dir31 dir32 dir33 index.html
cat
— Ver el contenido de un archivo
El comando cat
muestra en el terminal el contenido del archivo que especifiques como parámetro. Así es como se ve: cat [ruta_al_archivo]
.
cat archivotexto-1.txt
#Si necesitas ver a dónde puedes ir desde la carpeta actual, introduce cd + espacio + doble Tab.
#Para saber qué carpetas empiezan, por ejemplo, con la letra D, introduce cd + D + doble Tab.
Este comando muestra el contenido del archivo proporcionado como parámetro.
Puedes proporcionar varios archivos a la vez.
Puedes combinar el contenido de varios archivos en uno nuevo usando el símbolo >
.
cat archivotexto-1.txt archivotexto-2.txt > archivotexto-3.txt
Con la opción -n
(Número) puedes mostrar un número determinado de líneas.
grep
— Buscar en archivos de texto
Un potente comando para buscar dentro de archivos. Busca por palabra, línea o expresión regular.
Para que el comando muestre lo encontrado en el terminal, debes introducir cat
antes.
Por ejemplo, para buscar la palabra “gato” en el archivo gatos.txt, puedes introducir:
cat gatos.txt | grep gato
head
— Ver el principio de un archivo
Similar a cat
, pero por defecto solo muestra las primeras 10 líneas de texto.
Para cambiar el número de líneas mostradas, existe el parámetro -n
.
head -n 5 ~/Escritorio/miarhchivo.txt
mostrará las cinco primeras líneas del archivo.
head -n 5 ~/Escritorio/archivotexto-1.txt
#Si necesitas ver a dónde puedes ir desde la carpeta actual, introduce cd + espacio + doble Tab.
#Para saber qué carpetas empiezan, por ejemplo, con la letra D, introduce cd + D + doble Tab.
tail
— Ver el final de un archivo
Muestra las últimas líneas de texto de un archivo.
Con la opción -c
puedes mostrar una cantidad determinada de bytes de información del archivo.
tail -c 100 archivotexto-3.txt
#mi
#Muestra la diferencia entre dos archivos de texto.
El parámetro -f
permite seguir los cambios en el archivo y mostrarlos en pantalla.
more
/less
— Ver textos largos
less
muestra parte de un texto largo de forma que ocupa una pantalla. Con la opción -N
muestra los números de línea. A continuación, se muestra un ejemplo del funcionamiento del comando (no es necesario leer el texto, no tiene relación con el comando en sí, es simplemente la salida de información de texto de un archivo de texto aleatorio).
less -N archivotexto-3.txt
#1. Si necesitas ver a dónde puedes ir desde la carpeta actual, introduce cd 1 + espacio + doble Tab.
#2. Para saber qué carpetas empiezan, por ejemplo, con la letra D, introduce cd + 2 D + doble Tab.
#3. diff -- diferencia entre archivos.
#4. Muestra la diferencia entre dos archivos de texto.
more
hace lo mismo que less
, pero tiene menos opciones adicionales. El siguiente comando mostrará el texto a partir de la décima línea.
more +10 nuevopruebatxt.txt
sort
— Ordenar líneas
Ordena las líneas de texto según diferentes criterios.
Opciones útiles:
-n
(Numérico) — ordenar por valor numérico.-r
(Invertir) — invertir la salida.
$ sort texto-a-ordenar.txt
computadora
datos
GUI
línea
linux
ratón
sorteo
terminal
$ sort -r texto-a-ordenar.txt
terminal
sorteo
ratón
linux
línea
GUI
datos
computadora
Comandos para gestionar procesos
top
— Mostrar procesos
Este comando muestra una lista de todos los procesos que se están ejecutando en el sistema.
Alternativas: atop
, xtop
o la combinación ps axu | grep [nombre_del_proceso]
.
ps axu | grep firefox
adlinxin 531905 1.0 3.0 5597628 498708 ? Sl Mar15 96:44 /usr/lib64/firefox/firefox
adlinxin 531917 0.0 0.0 4808 2320 ? Ss Mar15 1:20 /usr/libexec/cgroupify app-gnome-firefox-531905.scope
adlinxin 532027 0.0 0.0 253672 11184 ? Sl Mar15 0:00 /usr/lib64/firefox/firefox -contentproc -parentBuildID 20230214102510 -prefsLen 29270 -prefMapSize 240130 -appDir /usr/lib64/firefox/browser {f6b45f8f-ab5a-4190-88dc-cb4e27948d4e} 531905 socket
Otra opción: pidof
+ [nombre del proceso].
pidof firefox
782667 782616 782563 782548 782341 782031 781966 781483 759503 741791 741676 721674 719583 671683 651779 647050 646496 641065 638796 635042 634566 631565 586886 586388 584499 584009 567091 566046 565460 565175 562873 562301 560923 560876 557257 553088 550860 549445 543830 543783 541594 535504 532439 532437 532180 532096 532027 531905
kill
,xkill
,pkill
— Finalizar procesos forzosamente
Cerrar un programa o finalizar un proceso se puede hacer de varias maneras.
Con el comando kill
: kill [ID_del_proceso]
.
Para conocer el PID (identificador de proceso), introduce el comando top
.
Con el comando xkill
. Después de introducirlo, en lugar del cursor aparecerá una cruz, diríjelo a la ventana del programa que quieras cerrar.
Con el comando pkill
(finalizar un proceso por su nombre).
pkill firefox
killall
— Finalizar todos los procesos con el nombre especificado
killall firefox
Administradores de paquetes. Cómo instalar una aplicación
Para instalar y eliminar aplicaciones y actualizaciones en Linux se utilizan administradores de paquetes. En cada distribución o familia de distribuciones son diferentes.
En Ubuntu y Debian es APT, en Fedora es DNF, en Arch y Manjaro es Pacman, en Gentoo es Portage, en openSUSE es RPM.
Para instalar paquetes se necesitan privilegios de superusuario. Ejemplos de comandos:
dnf (Fedora)
sudo dnf install [nombre_del_paquete]
— instalar un paquete.sudo dnf update
— actualizar la información de los paquetes.sudo dnf upgrade
— actualizar los paquetes.sudo dnf remove [nombre_del_paquete]
— eliminar un paquete.dnf autoremove
— eliminación automática de archivos innecesarios con sus dependencias.
Puedes averiguar si un programa está en los repositorios o cómo se llama exactamente a través de una búsqueda. En Fedora es el comando dnf search [nombre del paquete]
.
dnf search firefox
Last metadata expiration check: 3:23:53 ago on Tue 21 Mar 2023 22:33:02 MSK.
========================== Name & Summary Matched: firefox ===========================
firefox.x86_64 : Mozilla Firefox Web browser
firefox-langpacks.x86_64 : Firefox langpacks
firefox-pkcs11-loader.x86_64 : Helper script for Firefox that sets up the browser for
: authentication with Estonian ID-card
firefox-wayland.x86_64 : Firefox Wayland launcher.
firefox-x11.x86_64 : Firefox X11 launcher.
============================== Summary Matched: firefox ==============================
icecat.x86_64 : GNU version of Firefox browser
mozilla-https-everywhere.noarch : HTTPS enforcement extension for Mozilla Firefox
mozilla-noscript.noarch : JavaScript white list extension for Mozilla Firefox
mozilla-ublock-origin.noarch : An efficient blocker for Firefox
profile-cleaner.noarch : Script to vacuum and reindex sqlite databases used by Firefox
: and by Chrome
textern.x86_64 : Firefox add-on for editing text in your favorite external editor
webextension-token-signing.x86_64 : Chrome and Firefox extension for signing with your
: eID on the web
También puedes descargar un archivo e instalarlo a través del terminal. Los programas compatibles con las distribuciones basadas en Debian tienen la extensión .deb.
Puedes instalar este archivo con el comando dpkg
: dpkg -i paquete.deb
.
dpkg --remove paquete
— eliminar un paquete.dpkg --purge paquete
— eliminar un paquete con todas sus dependencias.
Comandos de apagado y reinicio
Linux se puede apagar o reiniciar desde el terminal. Esta es una opción indispensable para quienes trabajan sin entorno gráfico, y útil si necesitas establecer diferentes condiciones de apagado y reinicio.
sudo shutdown
— apagar el sistema (ten en cuenta que este programa necesita privilegios de superusuario).
Opciones útiles del comando shutdown
:
shutdown +[tiempo en formato 24 horas]
shutdown 05:10
apagará el equipo en 5 horas y 10 minutos.shutdown +[tiempo en minutos]
shutdown +7
apagará el equipo en 7 minutos.shutdown +0
oshutdown now
— apagado inmediato del equipo.
Teclas y funciones útiles
- Tab — Autocompletado
Para no tener que introducir nombres largos de archivos, carpetas o comandos, basta con escribir las dos primeras letras y pulsar Tab, el sistema completará el comando o la ruta al archivo, pero solo hasta el símbolo donde comience la “ramificación”. Suena complicado, pero aquí tienes un ejemplo: si escribes /home/[nombre_de_usuario]/D
, el autocompletado no funcionará, porque en esa ruta hay tres carpetas que empiezan por la letra D: Downloads
, Documents
y Desktop
.
alias
— Crear sinónimos para comandos
Con alias
puedes renombrar comandos o crear los tuyos propios. Esto es útil si un comando tiene un nombre largo y lo usas con frecuencia.
Sintaxis: alias [comando_largo] [comando_corto]
.
Para saber qué alias ya existen en el sistema, introduce alias
:
$ alias
alias cp='cp -i'
alias df='df -h'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
alias free='free -m'
alias grep='grep --colour=auto'
alias ls='ls --color=auto'
alias more='less'
alias np='nano -w PKGBUILD'
Puedes crear un alias para el comando clear
de esta manera:
alias c='clear'
unalias [nombre_del_alias]
— eliminar un alias.
Los alias creados de esta manera solo se guardan hasta el siguiente reinicio del sistema. Para hacer un alias permanente, debes escribirlo en el archivo ~/.bashrc
.
& &
— Ejecutar varios comandos a la vez
Los comandos se pueden enlazar y ejecutar juntos.
[primer_comando] & & [segundo_comando]
|
(pipe) — Mostrar el resultado del primer comando en el segundo
ps axu | grep [nombre_del_proceso]
Atajos de teclado
- Ctrl + Shift + T — abrir una nueva pestaña en el terminal.
- Ctrl + Shift + C — copiar texto del terminal, análogo a Ctrl + C.
- Ctrl + Shift + V — pegar texto en el terminal, análogo a Ctrl + V.
- Ctrl + A, Ctrl + E — moverse al principio/final de la línea en el terminal.
- Alt + B, Alt + F — moverse palabra por palabra hacia atrás/adelante.
- Alt + D — eliminar la siguiente palabra.
- Ctrl + U — eliminar todo hasta el principio.
- Ctrl + K — eliminar todo hasta el final.
- Ctrl + L — limpiar la pantalla sin eliminar el comando actual.
Los comandos más importantes
Puede ser necesaria la instalación de los paquetes cowsay
y fortune
(sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru
).
cowsay
— La vaca que habla
cowsay
+ [cualquier palabra/frase].
Mostrará en pantalla una vaca que pronuncia la palabra introducida.
fortune | cowsay
— la vaca compartirá un pensamiento inteligente o una cita.
$ fortune | cowsay
_________________________________________
/ "Llama inmediatamente. Se acaba el tiempo. \
| Ambos necesitamos hacer algo monstruoso |
| antes de morir." |
| |
| -- Mensaje de Ralph Steadman a |
\ Hunter Thompson /
-----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
cowsay -l
— lista de otros animales.
Mostrará una lista de otras criaturas que puedes invocar en el terminal.
fortune | cowsay -f [animal]
Mostrará un animal pronunciando un pensamiento inteligente o una cita.
Resumen
- Ten en cuenta que los comandos y sus opciones en el terminal de Linux son sensibles a mayúsculas y minúsculas: escribir una letra mayúscula o minúscula afecta a su funcionamiento.
- Las habilidades para trabajar con la línea de comandos te ayudarán a interactuar fácilmente con prácticamente cualquier sistema operativo tipo Unix.
- El uso de atajos de teclado permite acelerar considerablemente el trabajo con el terminal; de hecho, sin ellos el trabajo sería bastante lento.
$ ./guia-linux –descargar –gratis 🚀
Descarga esta guía con comandos, atajos y trucos para dominar la terminal Linux. 💻 ¡Es gratis! Si te gusta, apóyanos con una donación para crear más contenido gratuito. 💖
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.