Guía rápida de referencia de comandos útiles de Linux:
- Saber versión de Linux instalada:
cat /etc/*release - Buscar un fichero:
locate -i fichero
- Actualizar indice de búsqueda de ficheros:
updatedb - Saber hasta cuando tiene soporte Ubuntu:
ubuntu-support-status - Montar carpeta de red en una carpeta local (crear unidad de red):
sudo mount -t cifs //servidor/carpeta /media/carpeta -o username=usuario,password=contraseña - Tamaño de las carpetas del directorio actual, incluidas las ocultas y ordenado por tamaño:
du -sh */ .[^.]*/ | sort -nr - Recuperar un listado de paquetes instalados:
apt list --installeddpkg --get-selections | grep -v deinstalldpkg-query -l - Comprimir archivos y/o carpetas:
tar -cvzf fichero.tar.gz carpeta_a_comprimir - Descomprimir archivos:
tar -xvzf fichero.tar.gz - Ver el contenido de un fichero comprimido:
tar -tzf fichero.tar.gz - Ver últimos comandos introducidos:
history - Vaciar listado de últimos comandos introducidos:
history -c - Saber nombre del equipo:
hostname - Cerrar programa:
pkill nombreprograma - Matar proceso:
kill -9 numeroproceso - Obtener PID del último proceso arrancado:
echo $!
- Obtener PID del proceso indicado:
pidof nombreproceso - Borrar todas las carpetas .svn del directorio actual :
find . -name .svn -print0 | xargs -0 rm -rf
- Cambiar todos los archivos de un grupo concreto a otro grupo:
find -type f -group users -exec chgrp newusers {} + - Exportar resultado de una consulta MySQL a un fichero de texto:
SELECT * INTO OUTFILE '/tmp/fichero.txt' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' FROM tabla; - Comprobar accesos por SSH en el log:
cat /var/log/auth.log | grep sshd - Contar ficheros de un directorio:
ls -1 | wc -l - Borrar ficheros con fecha de creación anterior a 50 días:
find . -maxdepth 2 -ctime +50 -exec rm {} \; //borra uno por uno
find . -maxdepth 2 -ctime +50 -exec rm {} + //borra varios a la vez - Buscar los archivos de un directorio que contengan la palabra indicada:
grep -r "palabra" /home/directorio/ - Conexión FTP con usuario y contraseña desde Midnight Commander:
cd ftp://usuario:contraseña@ftp.tuweb.com - Midnight Commander: Abrir la misma carpeta en ambos paneles:
Alt i - Midnight Commander: Abrir en el otro panel la carpeta seleccionada:
Alt o - POSTFIX: Consultar cola de mensajes de correo:
mailq - POSTFIX: Forzar envío de mensajes de la cola de correo:
postfix flush - POSTFIX: Mostrar contenido de un correo en cola:
postcat -q IDCORREO - POSTFIX: Vaciar cola de mensajes de correo:
postsuper -d ALL
- POSTFIX: Vaciar cola de mensajes para un dominio concreto:
mailq | tail -n +2 | awk 'BEGIN { RS = "" }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($7 == "abc@domain.tld")
print $1 }
' | tr -d '*!' | postsuper -d - - Herramienta para administrar cola de mensajes de correo postfix:
pfqueue - Borrar todos los ficheros, del directorio actual y subdirectorios, con una determinada extension:
find . -name "*.tmp" -deletefind -name "*.tmp" -exec ls {} \; - Borrar todos los ficheros del directorio actual con una determinada extension:
find -name "*.tmp" -exec rm {} \; - Matar todos los procesos cuyo nombre contenga una cadena:
ps aux |grep cadena|grep -v 'grep' |kill -9 $(awk 'print $2}') - Mostrar usuario y origen de las ultimas conexiones al sistema:
last - Mostrar usuario y origen de los últimos intentos fallidos de conexión al sistema:
lastb - Mostrar datos del último acceso de todos los usuarios, o del usuario indicado
lastlog - Análisis antivirus con ClamAV:
clamscan -ir - Actualizar base de datos de ClamAV:
freshclam - Comprimir varios directorios en archivos tar separados:
ls | awk '{system("tar -czf \""$0"\".tar.gz \""$0"\"")}' - Ver IPs desde donde hay intentos de acceso por ssh fallidos y mostrar número de intentos:
cat /var/log/auth.log | grep invalid | cut -d " " -f 13-13 | sort| uniq -c - Ver tiempo que lleva encendido el equipo y carga del sistema (load average):
uptime
w
- Ver cuando se reinicio el sistema:
last reboot - Borrar todos los archivos indicados en un fichero de texto:
xargs rm < file.txt - Dar todos los permisos a todas las carpetas del mismo nombre (imagenes):
find . -name imagenes -type d | xargs chmod 777 - Crear Enlaces simbólicos:
ln -s /rutacarpeta nombreenlace - Buscar ficheros mayores de 300 MBs en el directorio actual:
find . -xdev -type f -size +300M | xargs du -sh - Saber puertos usados por una aplicación:
netstat -putona | grep PID o PUERTO - Saber fecha instalacion Linux:
dumpe2fs -h /partición | grep createdtune2fs -l /partición | grep createdls -lct /etc | tail -1 | awk '{print $6, $7, $8}'
- Buscar en directorio actual archivos modificados los últimos 2 dias:
find . -mtime -2 -print - Buscar en directorio actual archivos modificados en 2023 y moverlos a carpeta /home:
find -type f -newermt 2023-01-01 -not -newermt 2023-12-31 -exec mv {} /home \; - Liberar espacio en disco eliminando versiones del kernel antiguas:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge - Reemplazar un texto por otro en todos los .txt del directorio actual (no subdirectorios):
sed -i 's/palabravieja/palabranueva/g' *.txt - Reemplazar un texto por otro en todos los documentos de cualquier tipo del directorio actual y los subdirectorios:
find . -type f -print0 | xargs -0 sed -i 's/palabravieja/palabranueva/g' - Montar archivo ISO en unidad virtual:
sudo mount -t udf -o loop imagen.iso /media/imageniso - Probar puertos UDP abiertos:
nmap -p PUERTO -sU IP_REMOTA
- Obtener MAC de todos los dispositivos de la red local:
sudo nmap -sn 192.168.0.0/24 - POSTFIX: Borrar de la cola de correo los mensajes de una cuenta específica, ej: usuario@dominio.com
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / usuario@dominio\.com/ { print $1 }' | tr -d '*!' | postsuper -d - - Añadir comillas al inicio de cada línea de un fichero:
sed 's/^/"/' fichero.txt - Añadir comillas al final de cada línea de un fichero:
sed 's/$/"/' fichero.txt - Buscar aplicaciones de apt-get:
apt-cache search nombre_aplicacion - Saber versión de MySQL instalada:
mysql -V - Saber versión de PHP instalada:
php -v - Saber versión de apache instalada:
apache2ctl -v - Listar modulos de apache activados:
apache2ctl -M - Ver módulos cargados en apache:
/usr/sbin/apache2ctl -t -D DUMP_MODULES - Activar un modulo de apache (ej. rewrite, mod-evasive...):
a2enmod modulo - Desactivar un modulo de apache (ej. rewrite, mod-evasive...):
a2dismod modulo - Mostrar información de samba (ficheros en uso, usuarios conectados...):
smbstatus - Listar usuarios de samba:
pdbedit -L - Añadir usuario de samba:
smbpasswd -a nombreusuario - Crear nuevo usuario con permisos de sudo y creando su carpeta /home:
sudo adduser --ingroup sudo nombreusuario - Añadir usuario a grupo para que pueda hacer sudo:
sudo usermod -aG sudo nombreusuario - Encontrar y borrar ficheros vacios en el directorio actual:
find . -empty -type f -delete - Buscar en el directorio actual ficheros modificados en la última semana, mostrando la fecha de modificación:
find . -mtime -7 -type f -printf "%p %Td-%Tm-%TY %TH:%TM\n" - Saber versión SSL y TLS soportada por el sistema:
openssl ciphers -v | awk '{print $2}' | sort | uniq - Saber IP pública:
wget -qO- http://ipecho.net/plain ; echo - Análisis de sectores defectuosos del disco duro (modo solo-lectura):
badblocks -sv /dev/sda1 - Actualizar cambios en smb.conf sin tener que parar samba:
killall -HUP smbd
- Ver paquetes actualizables:
apt list --upgradable - Actualizar un único paquete sin que intente instalarlo primero:
apt --only-upgrade install nombre-paquete - Mostrar cantidad de paquetes para actualizar y cuales de ellos son de seguridad:
/usr/lib/update-notifier/apt-check --human-readable - Instalar solo actualizaciones de seguridad:
sudo unattended-upgrades -d - Saber marca, modelo y número de serie del equipo:
sudo dmidecode -t system - Busca actualizaciones en los repositorios, actualiza los paquetes, borra los paquetes que ya no se usan y borra los paquetes con versiones antiguas sin pedir confirmación:
apt-get update && apt-get upgrade -y && apt-get autoremove -y && apt-get autoclean
- Cambiar idioma del teclado:
sudo dpkg-reconfigure keyboard-configurationloadkeys us - Comprobar puertos abiertos de una IP remota
nmap -Pn IP - Comprobar puertos abiertos y obtener versión sistema operativo
nmap -n -O IP_remota -v - Analizar tráfico de red:
tcpdump - Renombrar archivos cambiando el formato de fecha, para pasar por ejemplo de archivo31-12-2018.zip a archivo2018-12-31.zip:
rename 's/([0-9]{2})-([0-9]{2})-([0-9]{4})/$3-$2-$1/' *.zip - Devolver de log de apache la IP que más se repite y el número de veces que se repite:
cat access.log | cut -d ' ' -f1 | sort | uniq -c | sort -nr |head -n1 - Desactivar y activar tarjeta de red eth0 respectivamente (obsoleto)
ifdown eth0
ifup eth0 - Desactivar y activar tarjeta de red eth0 respectivamente (netplan)
sudo ip link set dev eth0 downsudo ip link set dev eth0 up - Descargar página web completa
wget -mnH -kK --html-extension www.pagina.com - Redireccionar salida estándar y de errores a un archivo log.txt
comando &> log.txtcomando > log.txt 2>&1
Clonar disco dañado:
ddrescue -f -n /dev/[baddrive] /dev/[gooddrive] /root/recovery.log