Ficheros con espacios en el nombre IFS

Imaginar que debemos iterar por una enorme jerarquia de directorios, usando find. Si la partición es NTFS posiblemente habrá nombres de archivo y de directorio con espacios. Podemos establecer el separador de campo a nueva linea (IFS) si vamos a operar con nombres de archivo o directorio que puedan contener espacios: #!/bin/bash IFS=’ ‘ lista=`find $1 -name $2` for i in $lista   do     rm -i $i   done El script anterior que podria llamarse limpieza.sh, espera 2 parámetros: $1 el directorio donde empezar a buscar, por ejemplo /home/jblanco , y $2 el patrón de búsqueda para la opción name, por ejemplo: *.avi Ejecuta el find cuyo resultado mete en la variable lista, con la cual itera en un […]

» Read more

Tipos de empaquetado y compresión de archivos en Linux

Descargar desde consola

Tipos de archivos comprimidos en Linux zip Archivo comprimido con zip. Se descomprime usando el comando unzip: $unzip archivo.zip gz Archivo comprimido con gzip. Se descomprime: – con el comando gzip usando la opción -d (descomprimir) o bien – con el comando gunzip, que no es más que un enlace a gzip $gunzip archivo.gz $gzip -d archivo.gz tar Archivo o paquete que combina varios archivos en uno, pero sin compresión. Para extraer el contenido usamos el comando tar: – con las opciones x (extract) y f (file) Opcionalmente: – v (verbose) para mostrar por pantalla el proceso – vv para mostrar información adicional sobre los archivos y carpetas generados $tar xvf archivo.tar tar.gz | tgz Un archivo empaquetado con tar […]

» Read more

Programar las copias de seguridad mediante script cron

Situación de partida Imaginar que tenemos un script backup.sh que saca las copias de seguridad. Procedimiento Ahora queremos programar su ejecución desatendida. Necesitamos mover el archivo a cron para que este realice su trabajo. Hay varias opciones cada hora, cada dia, cada semana o cada mes. Hay cuatro directorios en /etc con este proposito /etc/cron.hourly – Aqui se ejecutara el archivo cada hora /etc/cron.daily – Aqui se ejecutara el archivo cada dia /etc/cron.weekly – Aqui se ejecutara el archivo cada semana /etc/cron.monthly – Aqui se ejecutara el archivo cada mes Una vez que decidas lo mejor para ti, en cuanto a la periodicidad de la ejecución de tu script de copias, ejecuta este comando modificándolo por la carpeta en cron […]

» Read more

Varias formas de listar solo directorios en Linux

Listar solo directorios 1. Mediante find     $ find . -maxdepth 1 -type d Podemos definir un alias     $ alias lsdirs=’find . -maxdepth 1 -type d’ 2. Mediante grep     $ ls -la |grep ^d O bien así:     $ ls -F | grep / -F añade al final ‘*’ a los ejecutables y ‘/’ a los directorios, de esta forma mostramos solo los terminados en / O bien:     $ ls -p | grep / 3. Mediante awk Solo directorios:     $alias d “ls -lrt | awk ‘/^[d]/’” Solo archivos:     $alias a “ls -lrt | awk ‘/^[-]/’” 4. Con el propio ls     $ ls -d */ Te puede interesar: Rutas relativas y rutas absolutas

» Read more
1 2 3