I sistemi operativi Linux sono stati sviluppati per offrirci un ambiente di lavoro sicuro e perfettamente funzionante permettendoci di estendere le loro capacità grazie all'open source. Oltre a questo, ci sono molti strumenti e comandi che facilitano la gestione e il controllo delle varie attività che svolgiamo quotidianamente.
Uno di questi compiti, anche se potrebbe non essere frequente, è il download e l'estrazione di file da Internet in cui il comando tar si pone come una delle opzioni più ideali per l'esecuzione ottimale di questo processo, offrendoci caratteristiche uniche e pratiche.
In questo tutorial vedremo come utilizzare il comando tar e le sue diverse opzioni per ottimizzare il download di file dalla rete.
Cos'è il tar?Il comando tar (Tape Archiver) è un formato POSIX ufficiale attraverso il quale sarà possibile eseguire task come:
- Utilizzato con altri comandi per la compressione dei file
- Scarica elementi multimediali
- Trasferisci file e molto altro.
Quando si usa tar abbiamo diversi livelli di compressione come
Nessuna compressioneSi riferisce a file non compressi che terminano con l'estensione .tar.
Compressione GzipQuesto formato è il più utilizzato per la sua implementazione con tar grazie alla sua velocità ed efficienza durante l'estrazione dei file.
Questi file avranno l'estensione tar.gz o .tgz.
Compressione Bzip2Sebbene Bzip2 sia più lento di Gzip, offre un migliore livello di compressione e la sua estensione è .tar.bz2.
Compressione Lzip (LZMA)È un ibrido che ci permette di avere la velocità di Gzip insieme ai livelli di compressione di Bzip2 ma il suo utilizzo non è frequente.
Alcuni casi in cui l'uso del catrame è efficace sono
- Distribuzione software
- Documentazione file
- backup
Ora, quando scarichiamo un file tar dalla rete, dobbiamo disporre di strumenti ideali che ci permettano di gestirlo e amministrarlo in modo semplice e quale modo migliore di usare wget o curl.
1. Come scaricare ed estrarre file utilizzando il comando Wget Linux
Wget o GNU Wget, è fondamentalmente un pacchetto software gratuito che ci consente di gestire i file utilizzando i protocolli HTTP, HTTPS, FTP e FTPS.
Con Wget abbiamo una serie di vantaggi come
- Recupera i download non riusciti
- Gestire file di varie lingue grazie al suo essere basato su NLS
- Supporta proxy HTTP e cookie
- Permette di essere eseguito in modalità non presidiata.
In questo primo esempio vedremo come scaricare e decomprimere un file rar.
Per questo eseguiremo la seguente riga:
wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | tar -xzIn questo caso scaricheremo l'utility del database Geolite.
INGRANDIRE
Se lo desideriamo possiamo elencare il contenuto del file scaricato:
INGRANDIRE
Analizzeremo ciò che è stato eseguito in questa riga:
-OIl parametro O indica il file in cui devono essere scritti i dati e anteponendo il segno - gli diciamo di memorizzarlo sullo standard output.
-XQuesto parametro ci permette di attivare l'estrazione dei file
-zLa sua funzione è quella di comprimere o decomprimere il file selezionato.
Se vogliamo estrarre il contenuto del file scaricato in un percorso diverso, sarà necessario aggiungere il parametro -C come segue:
sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | sudo tar -xz -C (Nuovo percorso)Wget è uno strumento che ci consente di eseguire varie azioni, ad esempio se vogliamo scaricare il file prima della sua estrazione eseguiremo quanto segue:
sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && tar -xzf GeoLite2-Country.tar.gz
INGRANDIRE
Possiamo vedere che in questo caso il file è stato scaricato in formato tar.gz ma non decompresso.
2. Come scaricare ed estrarre file usando Curl Linux
Questo comando è stato sviluppato come riga di comando o utility di script per trasferire in modo sicuro i dati.
Curl supporta protocolli come HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP e molti altri.
Per scaricare un file con il comando curl e procedere con la sua decompressione immediata, eseguiremo quanto segue:
sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz
INGRANDIRE
Abbiamo usato ls per elencare che il file è stato decompresso.
Come con wget, è possibile specificare un nuovo percorso in cui estrarre il file, per questo possiamo utilizzare alcuni dei seguenti comandi:
sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | sudo tar -xz -C (Directory) sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf GeoLite2-Country.tar.gz -C (Directory )Così abbiamo capito come usare tar insieme ad altri comandi per scaricare e decomprimere file in Linux.