diff --git a/lpic/101/014_ricercare_file.md b/lpic/101/014_ricercare_file.md index 32baa98..0ed71a1 100644 --- a/lpic/101/014_ricercare_file.md +++ b/lpic/101/014_ricercare_file.md @@ -1,34 +1,52 @@ # Ricercare file -Il comando principale si chiama `find`. Le opzioni per la ricerca di file in base al tipo sono: +## Comando find -- `-type f`: file -- `-type d`: directory -- `-type l`: link simbolici +Il comando principale per la ricerca di file in un sistema Unix/Linux è `find`. Questo comando consente di localizzare file e directory in base a vari criteri. -Ad esempio: `find . -name "example" -type f`. +### Opzioni per la ricerca di file -Altri criteri da utilizzare nella ricerca: +Le opzioni per specificare il tipo di file da cercare includono: -- `-iname`: ricerca in base al nome, non considerando lettere maiuscole o minuscole -- `-not`: restituisce i risultati che non corrispondono -- `-maxdepth N`: ricerca nelle sottodirectory fino a N livelli di profondiota' +- `-type f`: per cercare file regolari +- `-type d`: per cercare directory +- `-type l`: per cercare link simbolici -### Dimensione +Un esempio: + +```bash +find . -name "example" -type f +``` + +### Criteri di ricerca aggiuntivi + +Oltre al tipo di file, è possibile utilizzare ulteriori criteri per affinare la ricerca: + +- `-iname`: consente di cercare in base al nome del file, ignorando la distinzione tra lettere maiuscole e minuscole +- `-not`: restituisce i risultati che non corrispondono al criterio specificato +- `-maxdepth N`: limita la ricerca nelle sottodirectory fino a un massimo di *N livelli* di profondità + +### Ricerca per dimensione + +Il comando `find` permette anche di cercare file in base alla loro dimensione: ```bash find . -iname "example" -size 2G -type f ``` -- `-size 100M`: file che corrispondono esattamente a 100Mb -- `-size +100M`: file piu' grandi di 100Mb -- `-size -20M`: file piu' piccoli di 20Mb -- `-size +2G`: file piu' grandi di 2Gb -### Agire sui risultati +Le opzioni per specificare la dimensione includono: -E' possibile eseguire delle azioni sui risultati usando l'opzione `-exec`: +- `-size 100M`: per cercare file che corrispondono esattamente a 100 MB +- `-size +100M`: per cercare file più grandi di 100 MB +- `-size -20M`: per cercare file più piccoli di 20 MB +- `-size +2G`: per cercare file più grandi di 2 GB + +### Esecuzione di azioni sui risultati + +È possibile eseguire azioni sui risultati ottenuti dalla ricerca utilizzando l'opzione `-exec`. Ad esempio, per modificare i permessi di tutti i file con estensione `.conf`, si può utilizzare il seguente comando: ```bash find . -name "*.conf" -exec chmod 644 '{}' \; ``` +Questa sintassi consente di applicare comandi a ciascun file trovato, sostituendo `{}` con il nome del file corrente. diff --git a/lpic/101/015_tar.md b/lpic/101/015_tar.md deleted file mode 100644 index cc913f5..0000000 --- a/lpic/101/015_tar.md +++ /dev/null @@ -1,39 +0,0 @@ -# Archiviazione dei file - -Il comando `tar` e' utilizzato per creare archivi di file. - -```bash -tar [OPERATION and OPTIONS] [ARCHIVE NAME] [FILES] -``` - -Le operazioni principali sono: - -- `-c`: crea un nuovo archivio -- `-x`: estrae un archivio -- `-t`: list, visualizza l'elenco dei file inclusi nell'archivio -- `-f nome_archivio`: specifica il nome dell'archivio -- `-v`: verbose - -### Creazione di un archivio - -`tar -cvf archive.tar file1 file2 directory1` - -### Estrarre un archivio - -`tar -xvf archive.tar` - -Per estrarre il contenuto in una directory specifica usare l'opzione `-C`: `tar -xvf archive.tar -C /tmp` - -### Comprimere un archivio - -- `tar -czvf archive.tar.gz file1 file2`: gzip -- `tar -cjvf archive.tar.bz file1 file2`: bzip2. Piu' lento, ma con maggior compressione - -## dd - -```bash -dd if=oldfile of=newfile status=progress -``` - -copia i dati da una posizione all'altra. - diff --git a/lpic/101/015_tar_dd.md b/lpic/101/015_tar_dd.md new file mode 100644 index 0000000..97a19b3 --- /dev/null +++ b/lpic/101/015_tar_dd.md @@ -0,0 +1,69 @@ +# 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.