INTRODUCCIÓN
Os traigo una recopilación de comandos Linux para diferentes usos, desde Redes a gestión de discos pasando por adminstración de servicios. Espero que sea de utilidad, estaré actualizando esta entrada.
DESARROLLO
Operaciones de Archivos:
Comando | Descripción |
---|---|
ls | Lista todos los archivos y directorios en el directorio de trabajo actual |
ls -R | Lista los archivos en subdirectorios también |
ls -a | Muestra archivos ocultos |
ls -al | Lista archivos y directorios con información detallada como permisos, tamaño, propietario, etc |
cd nombredeldirectorio | Cambia al directorio especificado |
cd .. | Retrocede un nivel |
pwd | Muestra el directorio de trabajo actual |
cat > nombredelarchivo | Crea un nuevo archivo |
cat archivo1 archivo2 > archivo3 | Une dos archivos (archivo1 y archivo2) y guarda el resultado en un nuevo archivo (archivo3) |
touch nombredelarchivo | Crea o modifica un archivo |
rm nombredelarchivo | Elimina un archivo |
cp origen destino | Copia archivos desde la ruta de origen a la ruta de destino |
mv origen destino | Mueve archivos desde la ruta de origen a la ruta de destino |
find / -name nombredelarchivo | Encuentra un archivo o directorio por su nombre, comenzando desde la raíz |
file nombredelarchivo | Determina el tipo de archivo |
less nombredelarchivo | Muestra el contenido del archivo página por página |
head nombredelarchivo | Muestra las primeras diez líneas de un archivo |
tail nombredelarchivo | Muestra las últimas diez líneas de un archivo |
lsof | Muestra qué archivos están abiertos por qué proceso |
du -h –max-depth=1 | Muestra el tamaño de cada directorio. Usa –max-depth=1 para limitar la salida al directorio actual y sus hijos inmediatos |
fdisk | Comando de manipulación de particiones de disco |
Operaciones con paquetes:
Comando | Descripción |
---|---|
apt update | (Debian) Actualiza la base de datos de los paquetes con los repositorios |
apt upgrade | (Debian) Actualiza los paquetes usando la ultima versión de los repositorios |
apt autoremove | (Debian) Elimina los paquetes obsoletos despues de un upgrade |
apt install ‘paquete’ | (Debian) Instala un paquete |
apt-cache ‘paquete’ | (Debian) Busca un paquete |
apt remove ‘paquete’ | (Debian) Desinstala un paquete |
dpkg -i ‘paquete descargado’ | (Debian) Instala un paquete descargado previamente |
dpkg –configure -a | (Debian) Configura los paquetes pendientes |
yum update | (RedHat) Actualiza la base de datos de los paquetes con los repositorios |
yum upgrade | (RedHat) Actualiza los paquetes usando la ultima versión de los repositorios |
yum install ‘paquete’ | (RedHat) Instala un paquete |
yum remove ‘paquete’ | (RedHat) Desinstala un paquete |
rpm -qa | Lista los paquetes instalados en el sistema, recomendable usar con ‘grep’ |
package-cleanup –oldkernels –count=2 | (RedHat) Elimina los kernels antiguos manteniendo los dos mas actuales |
Operaciones de Procesos:
Comando | Descripción |
---|---|
ps | Muestra los procesos activos en el momento |
top | Muestra todos los procesos en ejecución |
kill pid | Finaliza el proceso con el PID (identificador del proceso) dado |
pkill nombre | Finaliza el proceso con el nombre especificado |
bg | Reactiva trabajos suspendidos sin llevarlos al primer plano |
fg | Lleva el trabajo más reciente al primer plano |
fg n | Lleva el trabajo n al primer plano |
renice +n [pid] | Cambia la prioridad de un proceso en ejecución |
&>nombredelarchivo | Redirige tanto la salida estándar como la de error al archivo especificado |
1> nombredelarchivo | Redirige la salida estándar al archivo especificado |
2> nombredelarchivo | Redirige la salida de error al archivo especificado |
Permisos de Archivos:
Comando | Descripción |
---|---|
chmod octal nombredelarchivo | Cambia los permisos del archivo a octal, que puede estar entre 0 (sin permisos) y 7 (permisos completos) |
chown nombredepropietario nombredelarchivo | Cambia el propietario del archivo |
chown nombredepropietario:nombredelgrupo nombredelarchivo | Cambia el propietario y el grupo del archivo |
chgrp nombredelgrupo nombredelarchivo | Cambia el grupo propietario del archivo |
Redes:
Comando | Descripción |
---|---|
ping host | Realiza un ping a un host y muestra los resultados |
whois dominio | Obtiene información whois para un dominio |
dig dominio | Obtiene información DNS para un dominio |
netstat -pnltu | Muestra información relacionada con la red, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz, etc |
ifconfig | Muestra las direcciones IP de todas las interfaces de red |
ssh usuario@host | Inicio de sesión remoto en el host como usuario |
scp | Transfiere archivos entre hosts a través de ssh |
wget url | Descarga archivos desde la web |
curl url | Envía una solicitud a una URL y devuelve la respuesta |
traceroute dominio | mtr combina la funcionalidad de los programas traceroute y ping en una sola herramienta de diagnóstico de red |
mtr dominio | Cambia el propietario y el grupo del archivo |
ss | Otra utilidad para investigar sockets. Es una alternativa más moderna a netstat |
nmap | Herramienta de exploración de redes y escaneo de seguridad |
Compresión y Archivos:
Comando | Descripción |
---|---|
tar cf archivo.tar archivos | Crea un archivo tar llamado archivo.tar que contiene los archivos especificados |
tar xf archivo.tar | Extrae los archivos de archivo.tar |
gzip archivo | Comprime el archivo y lo renombra a archivo.gz |
gzip -d archivo.gz | Descomprime archivo.gz y lo restaura al archivo original |
zip -r archivo.zip archivos | Crea un archivo zip llamado archivo.zip que contiene los archivos especificados |
unzip archivo.zip | Extrae el contenido de un archivo zip |
tar -cvf archiv.tar directorio/ | Crea un archivo tar |
tar -xvf archiv.tar | Extrae un archivo tar |
tar -jcvf archiv.tar.bz2 directorio/ | Crea un archivo bz2 comprimido |
tar -jxvf archiv.tar.bz2 | Extrae un archivo bz2 comprimido |
Procesamiento de Texto:
Comando | Descripción |
---|---|
grep patrón archivos | Busca un patrón en los archivos |
grep -r patrón directorio | Busca de forma recursiva un patrón en un directorio |
comando | grep patrón | Envia la salida del comando a grep para buscar |
echo ‘texto’ | Imprime texto |
sed ‘s/cadena1/cadena2/g’ nombredelarchivo | Reemplaza cadena1 con cadena2 en el archivo |
diff archivo1 archivo2 | Compara dos archivos y muestra las diferencias |
wc nombredelarchivo | Cuenta líneas, palabras y caracteres en un archivo |
awk | Un lenguaje de programación versátil para trabajar con archivos |
Uso del Disco:
Comando | Descripción |
---|---|
df | Muestra el uso del disco |
du | Muestra el uso del espacio en directorios |
free | Muestra el uso de memoria y swap |
whereis aplicación | Muestra las posibles ubicaciones de una aplicación |
dd if=/dev/zero of=/tmp/salida.img bs=8k count=256k | Crea un archivo de un tamaño determinado para probar la velocidad del disco. No usar con Veritas |
hdparm -Tt | Mide la velocidad de lectura de tu disco duro |
Veritas:
Comando | Descripción |
---|---|
hastatus -sum | Ver estado de cluster |
hagrp -online nombrecluster -sys nombreservidor | Levantar cluster en servidor indicado |
hagrp -ofline nombrecluster -sys nombreservidor | Desactivar cluster en servidor indicado |
hagrp -switch nombrecluster -to nombreservidor2 | Cambiar cluster de nodo |
hares -state nombreaplicacioncluster | Comprueba el estado de la aplicación |
Información del Sistema:
Comando | Descripción |
---|---|
date | Muestra la fecha y hora actual |
cal | Muestra el calendario del mes actual |
uptime | Muestra el tiempo de actividad actual |
w | Muestra quién está en línea |
whoami | Muestra el nombre del usuario actual |
uname -a | Muestra información del kernel |
df -h | Uso del disco en formato legible para humanos |
du -sh | Uso del disco del directorio actual en formato legible para humanos |
free -m | Muestra la memoria libre y utilizada en MB |
SELinux:
Comando | Descripción |
---|---|
ausearch -m AVC,USER_AC,SELINUX_ERR,USER_SELINUX_ERR -ts recent | Muestra las rutas bloqueadas por SELinux |
matchpathcon -V rutadelarchivodelog | Muestra las etiquetas actuales y las que debe tener |
chcon -Rv –type=nombreetiqueta rutadelarchivo | Realiza un reetiquetado temporal |
semanage fcontext -a -t nombreetiqueta “rutadelarchivo” | Realiza un reetiquetado permanente añadiendo una etiqueta |
semanage fcontext -m -t nombreetiqueta “rutadelarchivo” | Realiza un reetiquetado permanente modificando una etiqueta |
rescorecon -v rutadelarchivo | Ejecuta los cambios realizados por chcon o semanage |
ls -Z | Muestra las etiquetas de una carpeta o archivo |
Otros (principalmente utilizados en scripts):
Comando | Descripción |
---|---|
comando1 ; comando2 | Ejecuta comando1 y luego comando2 |
comando1 && comando2 | Ejecuta comando2 solo si comando1 es exitoso |
comando1 || comando2 | Ejecuta comando2 solo si comando1 no es exitoso |
comando & | Ejecuta el comando en segundo plano |
Variables de Entorno:
Comando | Descripción |
---|---|
env | Muestra todas las variables de entorno |
echo $VARIABLE | Muestra el valor de una variable de entorno |
export VARIABLE=valor | Establece el valor de una variable de entorno |
alias nuevo_comando=’viejo_comando opciones’ | Ejecuta el comando en segundo plano |
echo $PATH | Imprime la variable de entorno PATH |
export PATH=$PATH:/nueva/ruta | Agrega /nueva/ruta a la variable de entorno PATH |
Programación de Tareas (Cron Jobs):
Comando | Descripción |
---|---|
crontab -l | Lista todas tus tareas cron |
crontab -e | Edita tus tareas cron |
crontab -r | Elimina todas tus tareas cron |
crontab -v | Muestra la última vez que editaste tus tareas cron |
crontab archivo | Instala una tarea cron desde un archivo |
@reboot comando | Programa una tarea para que se ejecute al inicio |
Scripting de Shell:
Comando | Descripción |
---|---|
#!/bin/bash | Línea shebang para especificar el intérprete de scripts |
$0, $1, …, $9, ${10}, ${11} | Argumentos del script |
if [condición]; then … fi | Estructura de la declaración if en scripts de bash |
for i in {1..10}; do … done | Bucle for en scripts de bash |
while [condición]; do … done | Bucle while en scripts de bash |
función nombre() {…} | Define una función |
Monitoreo y Rendimiento del Sistema:
Comando | Descripción |
---|---|
iostat | Informa estadísticas de la Unidad Central de Procesamiento (CPU) y estadísticas de entrada/salida para dispositivos, particiones y sistemas de archivos de red |
vmstat | Argumentos del script |
htop | Estructura de la declaración if en scripts de bash |
Búsqueda y Encontrar:
Comando | Descripción |
---|---|
locate nombredelarchivo | Encuentra un archivo por su nombre. La base de datos se actualiza con el comando updatedb |
whereis nombredeprograma | Localiza los archivos binarios, de origen y de página de manual para un comando |
which nombredelcomando | Muestra la ruta completa de los comandos (shell) |
Otros:
Comando | Descripción |
---|---|
yes > /dev/null & | Usa este comando para llevar un sistema al límite |
”:(){ :|:& };::” | Una bomba: úsala con cuidado. No ejecutes este comando en un sistema de producción |
RECOMENDACIÓN
Recuerda que siempre puedes usar el comando man (por ejemplo, man ls) para obtener más información sobre cada comando.