En aquest tema, explorarem operacions avançades amb fitxers en Bash. Aquestes operacions són essencials per a la gestió eficient de fitxers i directoris en scripts més complexos. Aprendrem a manipular fitxers de manera més sofisticada, incloent la compressió, descompressió, enllaços simbòlics, i més.

Continguts

Compressió i Descompressió de Fitxers

Comprimir Fitxers

La compressió de fitxers és una tècnica per reduir la mida dels fitxers per a l'emmagatzematge o la transmissió. Bash proporciona diverses eines per a la compressió, com gzip, bzip2, i zip.

Exemple amb gzip:

# Comprimir un fitxer
gzip fitxer.txt

# Comprimir múltiples fitxers
gzip fitxer1.txt fitxer2.txt

Descomprimir Fitxers

Per descomprimir fitxers, utilitzem les mateixes eines amb opcions diferents.

Exemple amb gzip:

# Descomprimir un fitxer
gunzip fitxer.txt.gz

Comprimir i Descomprimir Directories

Per comprimir i descomprimir directoris, utilitzem tar combinat amb gzip o bzip2.

Exemple amb tar i gzip:

# Comprimir un directori
tar -czvf directori.tar.gz directori/

# Descomprimir un directori
tar -xzvf directori.tar.gz

Enllaços Simbòlics i Durs

Enllaços Simbòlics

Un enllaç simbòlic és un fitxer que apunta a un altre fitxer o directori. Es crea amb la comanda ln -s.

Exemple:

# Crear un enllaç simbòlic
ln -s fitxer_original.txt enllac_simbòlic.txt

Enllaços Durs

Un enllaç dur és una referència directa a les dades d'un fitxer en el sistema de fitxers. Es crea amb la comanda ln sense l'opció -s.

Exemple:

# Crear un enllaç dur
ln fitxer_original.txt enllac_dur.txt

Trobar i Manipular Fitxers

Trobar Fitxers

La comanda find és molt poderosa per buscar fitxers basant-se en diversos criteris.

Exemple:

# Trobar tots els fitxers .txt en el directori actual i subdirectoris
find . -name "*.txt"

Manipular Fitxers Trobats

Podem combinar find amb altres comandes per manipular els fitxers trobats.

Exemple:

# Trobar i eliminar tots els fitxers .log més antics de 7 dies
find . -name "*.log" -type f -mtime +7 -exec rm {} \;

Comparació de Fitxers

Comanda diff

La comanda diff es fa servir per comparar el contingut de dos fitxers línia per línia.

Exemple:

# Comparar dos fitxers
diff fitxer1.txt fitxer2.txt

Comanda cmp

La comanda cmp compara dos fitxers byte per byte.

Exemple:

# Comparar dos fitxers
cmp fitxer1.txt fitxer2.txt

Exercicis Pràctics

Exercici 1: Comprimir i Descomprimir Fitxers

  1. Comprimeix el fitxer dades.txt utilitzant gzip.
  2. Descomprimeix el fitxer dades.txt.gz.

Solució:

gzip dades.txt
gunzip dades.txt.gz

Exercici 2: Crear Enllaços Simbòlics i Durs

  1. Crea un enllaç simbòlic anomenat enllac_simbòlic.txt que apunti a dades.txt.
  2. Crea un enllaç dur anomenat enllac_dur.txt que apunti a dades.txt.

Solució:

ln -s dades.txt enllac_simbòlic.txt
ln dades.txt enllac_dur.txt

Exercici 3: Trobar i Eliminar Fitxers

  1. Troba tots els fitxers .tmp en el directori actual i subdirectoris.
  2. Elimina tots els fitxers .tmp més antics de 3 dies.

Solució:

find . -name "*.tmp"
find . -name "*.tmp" -type f -mtime +3 -exec rm {} \;

Exercici 4: Comparar Fitxers

  1. Compara els fitxers dades1.txt i dades2.txt utilitzant diff.
  2. Compara els fitxers dades1.txt i dades2.txt utilitzant cmp.

Solució:

diff dades1.txt dades2.txt
cmp dades1.txt dades2.txt

Conclusió

En aquesta secció, hem après a realitzar operacions avançades amb fitxers en Bash, incloent la compressió i descompressió, la creació d'enllaços simbòlics i durs, la cerca i manipulació de fitxers, i la comparació de fitxers. Aquestes habilitats són fonamentals per a la gestió eficient de fitxers en scripts més complexos. A la següent secció, explorarem la gestió de processos en Bash.

© Copyright 2024. Tots els drets reservats