Esta es una lista de comandos de todo tipo, de tratamiento de texto, busqueda de archivos,copia de bases de datos,... que me han sido útiles en alguna ocasión.

 

 

 

 

-Elimina los procesos a buscar, en este caso procesos de php que se llamen index.

ps ax | grep php | grep index | awk '{print $1}' | xargs kill -9

 

 

-Busca archivos de mas de 1GB de tamaño en todo el sistema raiz

find / -type f -size +1000M

 

-Remplaza el string1 por el string2

sed 's/string1/string2/g' example.txt

 

-Muestra desde la línea 20 hasta el final del archivo.

sed -n '20,$p' archivo.txt

 

-Crea una vista de los procesos a gusto, en ese caso cpu usada,memeoria virtual usada,pid,...

ps -e -o "pcpu vsz pid ppid s comm"

 

-Suma toda la CPU usada por los procesos, si cambias el parámetro $9 puedes sumar otros elementos como la ram. Para poder elegirlo observa el comando top -bn 1

top -bn 1 | awk 'NR>7{s+=$9} END {print s}'

 

-Muestra por pantalla cada 50 segundos la suma de todos los procesos que hay en marcha de php

watch -n 60 -t "ps aux | grep php | wc -l"

 

-Nos muestra todas las ips que hay en el log de syslog en el dia 30 de diciembre

cat syslog | grep "Dec 30" | egrep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | more

 

-Pone un script o commando en segundo plano que no se cierra al cerrar la sessión de consola

nohup ./script.sh &

 

-Dos formas de que no se quede un log de los commandos que escribimos en bash guardado

HISTSIZE=0 && exit
history -c

 

-Elimina todos los procesos Zombis del sistema

kill -HUP `ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}'`

 

-Muestra el id y su device id (/dev/sd?) de los dispositivos de almacenamiento

ls -l /dev/disk/by-uuid

 

-Pone todos los bits del dispositivo de almacenamiento a ceros, ideal para borrar datos de verdad

dd if=/dev/zero of=/dev/sdb bs=512 count=1

 

-Introduce bits random en el dispositivo de almacenamiento, el parámetro n expecifica cuantas veces lo hace.

shred -n 5 -vz /dev/sdb

 

-Lo mismo que shred.Puedes especificarle otros patrones.

scrub -p dod /dev/sdb

 

-Elimina un arvhivo o directorio y además llena el espacio del disco que vacia bits aleatorios para no poder recuperarlo nunca

srm -rfll pathname

 

-Transforma la codificación de un fichero de ISO-8859-1 a utf-8

iconv -f ISO-8859-1 -t utf-8 fichero.csv > fichero.utf-8.csv

 

-Transforma todas las codificaciones del archivo a sistema unix, perfecto para cuando se meten carácteres extraños que hacen petar la ejecución del script

dos2unix script.sh

 

-Busca dentro del directorio actual shells de php

grep '((eval.*(base64_decode|gzinflate|\$_))|\$[0O]{4,}|FilesMan|JGF1dGhfc|IIIl|die\(PHP_OS|posix_getpwuid|Array\(base64_decode|document\.write\("\\u00|sh(3(ll|11)))' . -lroE --include=*.php*

 

-Busca y elimina shells de php

find . -name "*.php" -exec grep -lroE '((eval.*(base64_decode|gzinflate|\$_))|\$[0O]{4,}|FilesMan|JGF1dGhfc|IIIl|die\(PHP_OS|posix_getpwuid|Array\(base64_decode|document\.write\("\\u00|sh(3(ll|11)))' '{}' \; -delete

 

-Muestra todos los archivos php por su última fecha de modificación en orden descendiente, de mas reciente a mas antiguo

find . -name "*.php" -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | more

 

-Busca shells de perl ocultas en proceso

ls -l /proc/*/exe && echo "shells perl" && find /tmp -type f -name "*.pl"

 

-Muestra los archivos de la carpeta por fecha de creación descendiente

ls -lrta

 

-Elimina todos los archivos de sesión de php y los imprime

find /var/lib/php5 -name "sess_*" -print -delete

 

-Cambia la ip definida en primera instancia por la de la segunda instancia del archivo

sed 's/1.1.1.1/2.2.2.2/g' -i filelog

 

-Busca en todos los archivos php de la carpeta actual la cadena

find . -name "*.php" -exec grep -HE "cadena" {} \;

 

-Cuenta la cantidad de peticiones que se han hecho a una página desde hace una hora, contando las líneas del log

grep "$(date +\"%d/May/%Y:%H\" -d \"1 hour ago\" )" access.log | wc -l

 

-Muestra todas las ips que han hecho peticiones al servidor del virtual host del webserver

awk '{ print $1 } ' access.log | sort | uniq

 

-Buscar archivos den el sistema con el mismo contenido

find -L / -samefile path/to/foo.txt

 

-Mata los procesos que estén ocupando el puerto 80 de escucha

fuser 80/tcp -k

 

-En el caso de tener muchos archivos dentro de una carpeta y no poder borrar la carpeta este comando es mas rápido que un rm o un find con delete

perl -e 'for(<*>){((stat)[9]<(unlink))}'

 

-Setea las acls (permisos) para el directorio y todos sus directorios y archivos hijos aunque se creen nuevos con permisos de lectura,escritura y ejecución

setfacl -R -d -m g::rwx /<directory>

 

-Muestra los drivers cargados de php

php --ini

 

-Cambia de nombre una base de datos de mysql

mysqldump -u user -ppass -d olddb | mysql -u user -ppass -Dnewdb

 

-Copia la base de datos directamente a el mysql de otro servidor

mysqldump -u username -p'password' db-name | ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. mysql -u username -p'password db-name

 

-Desvincula un job en background dándole el id de job, en este caso 11 (Lo mismo que nohup pero con un proceso ya en background)

disown 11

 

-Muestra todas las URLs del archivo

cat * | sed -ne 's/.*\(http[^"]*\).*/\1/p'

 

-Muestra todas las líneas del archivo log entre el rango horario puesto

sed -n '/24\/Oct\/2014\:01/ , /24\/Oct\/2014\:07\:10/ p' access.log

 

-Upgradea unicamente la aplicación especificada

apt-get install --only-upgrade nombre_de_aplicación

 

-Busca carpetas que tengan rdiff-backup, es decir de las que contienen backups hechos con rdiff-backup, y elimina los antiguos backups de hace 2 meses

find . -name "rdiff-backup-data" -exec rdiff-backup --force --remove-older-than 2M {}\/.. ';'
  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.