Molts cops has d'arxivar un conjunt de fitxers en un de sol, comprimir un fitxer que no fas servir perquè ocupi menys espai, o fer les dos coses a la vegada.

Introducció

Arrenca una màquina virtual Linux amb Windows Subsytem for Linux (WSL).

> connect-wsl archive -new

tar (empaquetar)

tar crea i manipula arxius que en realitat són col·leccions de molts altres fitxers; el programa proporciona als usuaris un mètode organitzat i sistemàtic per controlar una gran quantitat de dades. El nom "tar" prové originàriament de la frase "Tape ARchive", però els arxius no necessiten (i actualment, normalment, no) resideixen a les cintes.

Operacions i opcions bàsiques de tar

tar pot prendre una gran varietat d'arguments que especifiquen i defineixen les accions que tindrà sobre el conjunt concret de fitxers o l'arxiu.

Aquestes són les operacions més utilitzades, així com una breu descripció dels seus significats.

  • --create (o -c): Crea un nou arxiu
  • --list (o -t): Enumera el contingut d'un arxiu
  • --extract (o -x): Extreu un o més fitxers d'un arxiu
  • -r: Afegeix un arxiu al paquet
  • --delete: Esborra un arxiu del paquet

Els principals tipus d'arguments a tar cauen en una d'aquestes dues classes: operacions i opcions.

Crea dos fitxers:

$ echo "one" > one.txt
$ echo "two" > two.txt

Pots escriure la majoria de les operacions i opcions de tar en la forma llarga (mnemotècnica) en que queda clar que és el que s'està fent:

$ tar --create --verbose --file=numbers.tar one.txt two.txt
one.txt
two.txt

Pots veure que s'ha creat (--create) un fitxer numbers.tar (--file=numbers.tar) i que et mostra informació (--verbose)

$ ls -l
total 20
-rw-rw-r-- 1 isard isard 10240 de maig  29 17:55 numbers.tar
-rw-rw-r-- 1 isard isard     4 de maig  29 17:55 one.txt
-rw-rw-r-- 1 isard isard     4 de maig  29 17:55 two.txt

També pots utilitzar una sintaxis "curta" que és més ràpida d'escriure, però que no explica amb paraules que està fent:

$ rm number.tar
$ tar -c -v -f numbers.tar one.txt two.txt
...
$ ls -l  | grep numbers.tar
-rw-rw-r-- 1 isard isard 10240 de maig  29 17:58 numbers.tar

Fins i tot pot ser més curt:

$ rm number.tar
$ tar -cvf numbers.tar one.txt two.txt
...
$ ls -l  | grep numbers.tar
-rw-rw-r-- 1 isard isard 10240 de maig  29 18:00 numbers.tar

I ometre el - si vols (i de pas el v):

$ tar cf numbers.tar one.txt two.txt 
$ ls numbers.tar 
numbers.tar

I el resum és que per crear un arxiu només has d'utilitzar aquesta comanda perquè ja saps que volen dir les lletres c i f, i que el primer argument és el nom del fitxer on guardaras tot el que vols arxivar.

$ tar cf numbers.tar ... 

Tanta explicació per arribar a això? Si, perquè ara ja saps llegir-ho en forma llarga:

$ tar --create --file numbers.tar ...

I perquè serveix l'opció -v? Doncs per ser més "verbose" quan hi ha problemes amb més vs:

$ tar cvvf numbers.tar one.txt two.txt 
-rw-rw-r-- isard/isard       4 2024-05-29 18:24 one.txt
-rw-rw-r-- isard/isard       4 2024-05-29 18:25 two.txt

TODO

Continua llegint aquest document: Document