UTILIDADES Y HERRAMIENTAS
Comandos Linux
Una ficha de consulta rápida con comandos habituales para trabajar desde la terminal de Linux.
TERMINAL
La terminal y el shell
La terminal permite interactuar con el sistema mediante comandos. El shell interpreta las órdenes introducidas y solicita al sistema que realice las operaciones correspondientes.
Antes de ejecutar un comando conviene conocer el directorio actual, entender sus argumentos y consultar la documentación cuando exista alguna duda.
pwd
whoami
echo "$SHELL"
pwdmuestra el directorio actual, whoamiidentifica el usuario efectivo y
$SHELLsuele indicar el shell configurado para el usuario.
Los comandos y opciones disponibles pueden variar entre distribuciones, shells y versiones de las herramientas.
SINTAXIS
Estructura básica de un comando
Muchos comandos siguen una estructura formada por el nombre del programa, opciones y argumentos.
comando [opciones] [argumentos]
Por ejemplo:
ls -la /etc
En este caso, lses el comando, -laagrupa opciones y /etces el
directorio sobre el que se realiza la operación.
La sintaxis exacta depende de cada herramienta, por lo que no debe asumirse que todas aceptan las mismas opciones.
RUTAS
Rutas absolutas y relativas
Una ruta absoluta identifica una ubicación desde la raíz del sistema, mientras que una ruta relativa se interpreta desde el directorio de trabajo actual.
/home/usuario/documentos
./documentos
../documentos
Algunos elementos habituales son:
/: raíz del sistema de archivos;.: directorio actual;..: directorio superior;~: directorio personal del usuario.
Comprender cómo se resuelven las rutas es especialmente importante antes de copiar, mover o eliminar archivos.
NAVEGACIÓN
Navegación por directorios
pwd, lsy cdson algunos de los comandos fundamentales para
desplazarse por el sistema de archivos.
pwd
ls
ls -la
cd /ruta/al/directorio
cd ..
cd ~
ls -laincluye entradas ocultas y muestra información adicional como permisos,
propietario, tamaño y fecha de modificación.
Un archivo cuyo nombre comienza por un punto, como .bashrc, se considera oculto por
convención.
ARCHIVOS
Archivos y directorios
Desde la terminal pueden crearse directorios y archivos, así como copiar, mover, renombrar y eliminar elementos.
mkdir proyecto
mkdir -p proyecto/documentacion
touch notas.txt
cp notas.txt copia.txt
mv copia.txt proyecto/
mv notas.txt apuntes.txt
Para copiar un directorio y su contenido puede utilizarse una opción recursiva:
cp -r proyecto copia-proyecto
La eliminación requiere especial atención porque normalmente no existe una papelera intermedia cuando
se utiliza rm.
rm archivo-temporal.txt
rmdir directorio-vacio
Antes de utilizar opciones recursivas o forzadas con rm, comprueba siempre la ruta y
entiende exactamente qué elementos serán eliminados.
CONTENIDO
Visualización de archivos
Existen diferentes comandos para consultar el contenido de archivos de texto.
cat archivo.txt
less archivo.txt
head archivo.txt
tail archivo.txt
catpuede resultar cómodo para archivos pequeños, mientras que lessfacilita
la navegación por contenidos más extensos.
head -n 10 archivo.txt
tail -n 20 archivo.log
tail -f aplicacion.log
tail -fmantiene la consulta abierta y muestra las nuevas líneas que se añaden al
archivo, algo habitual durante la revisión de logs.
ARCHIVOS
Identificar archivos y rutas
Algunos comandos ayudan a conocer qué tipo de archivo estamos utilizando o dónde se encuentra un ejecutable.
file documento.pdf
which python3
realpath archivo.txt
fileintenta determinar el tipo de contenido, whichlocaliza el ejecutable
que se utilizaría al invocar un comando y realpathmuestra una ruta absoluta resuelta.
BÚSQUEDA
Búsqueda de archivos
findpermite localizar archivos y directorios recorriendo una ruta.
find . -name "*.log"
find /var/log -type f -name "*.log"
find . -type d -name "backup"
El primer argumento indica desde dónde comienza la búsqueda. -type flimita los
resultados a archivos y -type da directorios.
Cuando se utilizan comodines como *, las comillas evitan que el shell expanda el patrón
antes de que llegue a find.
TEXTO
Buscar contenido con grep
grepbusca patrones dentro de texto y archivos.
grep "error" aplicacion.log
grep -i "error" aplicacion.log
grep -n "error" aplicacion.log
grep -R "texto" .
Algunas opciones habituales son:
-i: ignora diferencias entre mayúsculas y minúsculas;-n: muestra el número de línea;-R: realiza una búsqueda recursiva.
grepadmite patrones más complejos y expresiones regulares. Para profundizar en ellas
puedes consultar la ficha de expresiones
regulares .
ENTRADA Y SALIDA
Redirección de salida
La salida de un comando puede mostrarse en la terminal o redirigirse hacia un archivo.
echo "Primera línea" > archivo.txt
echo "Segunda línea" >> archivo.txt
>crea o sobrescribe el archivo de destino, mientras que >>añade
contenido al final.
Conviene comprobar el archivo de destino antes de utilizar >, ya que el contenido
anterior puede perderse.
COMPOSICIÓN
Tuberías o pipes
El operador |conecta la salida estándar de un comando con la entrada estándar del
siguiente.
ps aux | grep "python"
cat archivo.txt | less
Esto permite combinar herramientas pequeñas para construir operaciones más útiles. En algunos casos el primer comando puede trabajar directamente con el archivo:
less archivo.txt
grep "error" archivo.log
SEGURIDAD
Permisos
Linux utiliza permisos para controlar qué usuarios pueden leer, modificar o ejecutar archivos y directorios.
ls -l
Una salida puede comenzar con una representación similar a:
-rwxr-xr--
Las letras habituales son:
r: lectura;w: escritura;x: ejecución.
chmodpermite modificar los permisos:
chmod u+x script.sh
chmod g-w archivo.txt
chmod o-r archivo.txt
PERMISOS
Notación numérica
Los permisos también pueden expresarse mediante valores numéricos: 4para lectura,
2para escritura y 1para ejecución.
chmod 644 archivo.txt
chmod 755 script.sh
644suele representar lectura y escritura para el propietario y solo lectura para grupo y
otros. 755añade ejecución para todos manteniendo la escritura únicamente para el
propietario.
No conviene asignar permisos más amplios de los necesarios solo para resolver rápidamente un problema de acceso.
PROPIEDAD
Propietario y grupo
Además de los permisos, los archivos tienen un propietario y un grupo asociados.
ls -l archivo.txt
chown usuario archivo.txt
chown usuario:grupo archivo.txt
chownmodifica la propiedad de un archivo y normalmente requiere los privilegios
adecuados.
PROCESOS
Procesos
Un proceso es una instancia de un programa en ejecución. Cada proceso dispone de un identificador o PID.
ps
ps aux
ps aux | grep "python"
top
Si conocemos el PID, killpermite enviar una señal al proceso.
kill PID
De forma predeterminada, killsolicita una terminación mediante una señal que el proceso
puede gestionar. Las señales más agresivas deben reservarse para situaciones en las que el proceso
no responde a una terminación normal.
SHELL
Procesos en segundo plano
El shell puede ejecutar determinadas órdenes en segundo plano y gestionar trabajos asociados a la sesión actual.
comando &
jobs
fg
bg
&inicia una orden en segundo plano, jobsmuestra los trabajos conocidos
por el shell, fglleva un trabajo al primer plano y bgpermite continuar uno
detenido en segundo plano.
ALMACENAMIENTO
Espacio en disco
dfresume el espacio disponible en los sistemas de archivos montados, mientras que
duestima el espacio utilizado por archivos y directorios.
df -h
du -sh .
du -sh /var/log
Ambos comandos responden a preguntas diferentes: dfinforma sobre sistemas de archivos y
dusobre el espacio asociado al contenido examinado.
SISTEMA
Información del sistema
Diferentes comandos permiten consultar información básica sobre el sistema y el usuario.
uname -a
hostname
whoami
id
uptime
unameproporciona información sobre el sistema y el kernel, hostnamemuestra
el nombre del equipo, idinforma sobre identificadores de usuario y grupos, y
uptimemuestra cuánto tiempo lleva funcionando el sistema junto con información de
carga.
ENTORNO
Variables de entorno
El entorno del proceso contiene variables que pueden influir en el comportamiento de programas y del propio shell.
printenv
echo "$HOME"
echo "$PATH"
Para definir una variable en shells compatibles con esta sintaxis:
export ENTORNO="desarrollo"
echo "$ENTORNO"
Una variable definida de esta forma pertenece al entorno de la sesión y no implica necesariamente que vaya a conservarse después de cerrar el shell.
RED
Configuración y conectividad de red
La utilidad ippermite consultar información sobre interfaces y rutas de red.
ip address
ip link
ip route
Para realizar una comprobación básica de conectividad puede utilizarse pingcuando el
destino y la red permiten este tipo de tráfico.
ping -c 4 example.com
Que un destino no responda a pingno demuestra por sí solo que el servicio esté caído, ya
que ese tráfico puede estar filtrado.
RED
Resolución de nombres
Herramientas como hosto digpermiten consultar información relacionada con
DNS cuando están instaladas.
host example.com
dig example.com
Estas herramientas pueden no formar parte de una instalación mínima y su disponibilidad depende de la distribución y de los paquetes instalados.
HTTP
Peticiones HTTP desde la terminal
Cuando curlestá instalado, puede utilizarse para realizar peticiones a servicios HTTP y
APIs.
curl https://example.com
curl -I https://example.com
La opción -Isolicita únicamente las cabeceras de la respuesta en los casos compatibles.
Para interpretar las respuestas puedes consultar la ficha de códigos de estado HTTP .
ARCHIVOS
Archivos tar
tarpermite agrupar archivos y directorios y puede utilizarse junto con mecanismos de
compresión.
tar -cf copia.tar directorio/
tar -tf copia.tar
tar -xf copia.tar
En estos ejemplos, -ccrea un archivo, -tmuestra su contenido y
-xlo extrae. La opción -findica el archivo que se va a utilizar.
PRODUCTIVIDAD
Historial de comandos
Muchos shells mantienen un historial que facilita recuperar órdenes ejecutadas anteriormente.
history
Debe evitarse introducir secretos directamente en una línea de comandos cuando puedan quedar almacenados en el historial o ser visibles mediante otros mecanismos del sistema.
PRIVILEGIOS
Ejecución con privilegios
Determinadas tareas administrativas requieren privilegios que un usuario ordinario no posee. En
sistemas configurados para ello puede utilizarse sudo.
sudo comando
Utilizar sudono convierte un comando inseguro en seguro. Al contrario, amplía las
consecuencias que puede tener una orden incorrecta.
Antes de ejecutar comandos con privilegios, comprueba su finalidad, opciones, rutas y posibles efectos.
AYUDA
Ayuda y documentación
La documentación instalada en el propio sistema es una de las referencias más útiles para confirmar el funcionamiento de un comando.
man ls
man chmod
ls --help
grep --help
apropos permissions
Las páginas de manual describen sintaxis, opciones y comportamiento de las herramientas instaladas.
Ante diferencias entre ejemplos encontrados en Internet y el sistema utilizado, debe darse prioridad a la documentación de la versión instalada.
EJEMPLO
Ejemplo de trabajo básico
Una secuencia sencilla permite ver cómo varios comandos pueden combinarse durante una tarea cotidiana.
mkdir practica-linux
cd practica-linux
touch notas.txt
echo "Primera prueba" > notas.txt
cat notas.txt
cp notas.txt copia.txt
ls -la
La secuencia crea un directorio, accede a él, crea un archivo, escribe contenido, lo muestra, realiza una copia y finalmente lista los elementos del directorio.
ERRORES FRECUENTES
Qué conviene evitar
- Ejecutar comandos copiados de Internet sin comprender qué hacen.
- Eliminar archivos sin comprobar previamente el directorio actual.
- Utilizar rutas relativas sin saber desde dónde se interpretan.
- Ejecutar con privilegios una tarea que no los necesita.
- Asignar permisos excesivos para resolver rápidamente un problema.
- Utilizar señales agresivas antes de intentar una terminación normal.
- Sobrescribir archivos accidentalmente mediante una redirección.
- Incluir contraseñas, tokens u otros secretos directamente en comandos.
- Asumir que todas las distribuciones incluyen las mismas herramientas.
RESUMEN
Referencia rápida
pwd Directorio actual
ls -la Listar contenido
cd ruta Cambiar de directorio
mkdir nombre Crear directorio
touch archivo Crear archivo vacío
cp origen destino Copiar
mv origen destino Mover o renombrar
rm archivo Eliminar archivo
cat archivo Mostrar contenido
less archivo Consultar texto
head archivo Primeras líneas
tail archivo Últimas líneas
find ruta ... Buscar archivos
grep patrón archivo Buscar texto
chmod ... Modificar permisos
ps aux Consultar procesos
kill PID Enviar señal a un proceso
df -h Espacio de sistemas de archivos
du -sh ruta Espacio utilizado
ip address Consultar interfaces
ip route Consultar rutas
man comando Abrir el manual
Esta lista sirve como recordatorio. Las opciones y el comportamiento concreto deben comprobarse en la documentación del sistema cuando la operación tenga consecuencias importantes.
CRITERIO PROFESIONAL
Buenas prácticas
- Comprueba el directorio actual con
pwdantes de realizar operaciones destructivas. - Revisa el contenido con
lsantes de copiar, mover o eliminar. - Utiliza rutas claras y comprueba especialmente las que se ejecutan con privilegios.
- Consulta
mano--helpantes de utilizar opciones desconocidas. - Aplica únicamente los permisos necesarios.
- Evita introducir secretos directamente en órdenes que puedan quedar registradas.
- Realiza copias de seguridad cuando una operación pueda provocar pérdida de información.
La terminal es una herramienta muy potente precisamente porque permite realizar operaciones de forma directa. Esa misma capacidad exige comprobar cuidadosamente las órdenes antes de ejecutarlas.
SIGUE CONSULTANDO
Recursos relacionados
- Expresiones regulares — patrones para búsqueda, validación y procesamiento de texto.
- Códigos de estado HTTP — respuestas habituales en aplicaciones web y APIs.
- JSON: conceptos y sintaxis — estructuras de datos utilizadas habitualmente en APIs y configuración.
- Markdown: sintaxis básica — sintaxis habitual para documentación técnica.
PARA AMPLIAR
Documentación de referencia
Documentación primaria y referencias reconocidas para ampliar esta ficha y consultar el comportamiento detallado de los comandos.