# Archiviazione dei file

## tar

Il comando `tar` è utilizzato per creare archivi di file. La sintassi generale del comando è la seguente:

```bash
tar [OPERATION and OPTIONS] [ARCHIVE NAME] [FILES]
```

### Operazioni principali

Le operazioni principali che possono essere eseguite includono:

- `-c`: crea un nuovo archivio
- `-x`: estrae un archivio esistente
- `-t`: visualizza l'elenco dei file inclusi nell'archivio
- `-f nome_archivio`: specifica il nome dell'archivio
- `-v`: attiva la modalità verbose

### Creazione di un archivio

Per creare un archivio, si utilizza il seguente comando:

```bash
tar -cvf archive.tar file1 file2 directory1
```

Questo comando crea un archivio chiamato `archive.tar` contenente `file1`, `file2` e `directory1`.

### Estrazione di un archivio

Per estrarre il contenuto di un archivio, si utilizza il comando:

```bash
tar -xvf archive.tar
```

Se si desidera estrarre il contenuto in una directory specifica, è possibile utilizzare l'opzione `-C`:

```bash
tar -xvf archive.tar -C /tmp
```

### Comprimere un archivio

Il comando `tar` consente anche di comprimere gli archivi.

- Per creare un archivio compresso con `gzip`:

```bash
tar -czvf archive.tar.gz file1 file2
```

- Per creare un archivio compresso con `bzip2`, che offre una compressione maggiore ma è più lento:

```bash
tar -cjvf archive.tar.bz file1 file2
```

## `dd`

Il comando `dd` viene utilizzato per copiare dati bit a bit da una sorgente a una destinazione. È particolarmente utile per operazioni di basso livello, come la copia di immagini disco, partizioni o dispositivi.

```bash
dd if=oldfile of=newfile status=progress
```

In questo comando, `if` specifica il file di input, ovvero la sorgente dei dati da copiare, e `of` specifica il file di output, ovvero la destinazione della copia. L'opzione `status=progress` fornisce informazioni sul progresso della copia.
