Administració bàsica d'arxius II
Introducció
Seguim amb el tractament d’arxius, en aquest post més dedicat a la cerca i “moviment”.
Com trobar arxius
A mesura que s’utilitza una màquina, els arxius van creixent en número i mida. Per trobar arxius podem utilitzar la comanda find:
$ find STARTING_PATH OPTIONS EXPRESSION
#Per exemple
find . -name "myfile.txt"
Si volem utilitzar file globbing, hem de posar la expressió entre cometes:
$ find /home/usuari -name "*.jpg"
Ús de criteris per accelerar la cerca
find permet cercar raxius segons el tipus, mida o hora. Alguns paràmetres de filtrat per tipus són:
-
-type f
Només retornarà arxius.
-
-type d
Només retornarà directoris.
-
-type l
Només retornarà enllaços simbòlics.
Altres paràmetres inclouen:
-
-name
Filtra per nom.
-
-iname
Filtra per nom sense ser case-sensitive.
-
-not
Retorna els resultats no coincidents.
-
maxdepth
Busca al directori actual i subdirectoris fins a N nivell de profunditat.
Localització d’arxius per hora de modificació
Per filtrar arxius per data de modificació, tenim el paràmetre -mtime:
$ sudo find / -name "*.conf" -mtime 7
Aquesta comanda retornarà els arxius acabats en .conf modificats en els últims 7 dies.
Ubicar arxius per mida
Per buscar per mida el paràmetre que s’utilitza és -size:
$ find /var -size +2G
Es pot fer també -size 2G (exactament 2GB) o -size -20G (menor que 20GB).
Actuant sobre el conjunt de resultats
Un cop hem realitzat una cerca, podem actuar directament sobre el resultat des de la comanda find amb el paràmetre -exec:
$ find . -name "*.conf" -exec chmod 644 '{}' \;
Aquesta comanda buscarà dins el directori actual arxius que acabin en .conf i els aplicarà els permisos 644. Els símbols “{}” representen cada arxiu trobat amb la comanda.
Arxivat d’arxius
La comanda tar (arxiu i compressió)
La comanda tar “Tape ARchive” s’utilitza per crear arxius tar, convertint un grup d’arxius en un de sol. tar també pot extreure arxius tar, mostrar una llista dels arxius inclosos en un .tar i afegir arxius adicionals a un .tar existent. La seva sintaxi és:
$ tar OPERACIONS_I_OPCIONS NOMARXIU
Només admet un dels arguments d’operació, que són:
-
–create (-c)
Crea un arxiu tar.
-
–extract (-x)
Extreu d’un arxiu.
-
–list (-l)
Mostra una llista dels arxius inclosos dins el tar.
Les opcions més utilitzades de la comanda tar són:
-
–verbose (-v)
Mostra els arxius que s’estan processant.
-
–file=archive=name (-f archive-name)
Especifica el nom de l’arxiu d’emmagatzematge.
Crear un arxiu
Suposem que tenim un directori stuff i volem guardar-lo a archive.tar.
$ tar -cvf archive.tar stuff
On -c crea l’arxiu, -v mostra el progrès i -f permet especificar el nom del .tar.
tar funciona recursivament, aplicant l’acció demanada a cada directori dins el directori especificat.
Per arxivar diversos directoris alhora, els afegim a la comanda.
$ tar -cvf archive.tar stuff1 stuff1
Extreure un arxiu
Per extreure un arxiu, farem:
$ tar -xvf archive.tar
Per especificar una ruta on extreure’l, afegirem la opció -C:
$ tar -xvf archive.tar -C /tmp
Comprimint amb tar
tar també pot comprimir els arxius .tar amb gzip o bzip2 en una mateixa comanda:
$ tar -czvf nom-de-l-arxiu.tar.gz stuff
$ tar -cjvf nom-de-l-arxiu.tar.bz2 stuff
La primera comanda el comprimirà amb l’algoritme gzip (-z), mentre que la segona ho farà amb bzip2 (-j).
Per descomprimir, farem tar -xvzf, afegint la z.
La comanda cpio
La comanda cpio “copy in, copy out” s’utilitza per processar arxius d’emmagatzematge .cpio o .tar.
cpio actua de la següent manera:
-
Copiar arxius a un arxiu
-
Extreu arxius d’un arxiu
Agafa la llista d’arxius d’stdin (normalment sortida de la comanda ls) i crea un arxiu cpio:
$ ls | cpio -o > archive.cpio
La opció -o indica que creï una sortida.
Per extreure l’arxiu, fem:
$ cpio -id < archive.cpio
On la opció -i extreu el contingut i -d crea la carpeta destí.
La comanda dd
La comanda dd copia dades d’una ubicació a una altra a baix nivell. La seva sintaxi és:
$ dd if=oldfile of=newfile
On if és l’arxiu d’entrada i of el destí.
La comanda no retornarà res fins que acabi. Per mostrar el progrès podem utilitzar la opció status=progress.
dd també es pot utilitzar per convertir dades entre majúscules i minúscules o per escriure directament a dispositius de bloc.
$ dd if=oldfile of=newfile conv=ucase
Aquesta comanda passaria oldfile a majúscules.
$ dd if=/dev/sda of=/backup.dd bs=4096
Aquesta comanda faria una còpia del disc dur a l’arxiu backup.dd, amb una mida de bloc de 4kB.
I fins aquí el post d’avui. Si t’ha semblat útil pots deixar un comentari i compartir-lo. Ens veiem al següent!