Accedi
Accedi

Come scaricare file con cURL

Come scaricare file con cURL
Emmanuel Oyibo
Redattore tecnico
Sistema: Linux
20.10.2025
Reading time: 8 min

Il download di contenuti da server remoti è un’attività comune sia per gli amministratori che per gli sviluppatori. Sebbene esistano numerosi strumenti per questo compito, cURL si distingue per la sua flessibilità e semplicità. È un’utilità da riga di comando che supporta protocolli come HTTP, HTTPS, FTP e SFTP, rendendola fondamentale per l’automazione, la creazione di script e il trasferimento efficiente dei file.

Puoi eseguire cURL direttamente sul tuo computer per scaricare file. Puoi anche integrarlo negli script per semplificare la gestione dei dati, riducendo così il lavoro manuale e gli errori. Questa guida mostra diversi modi per scaricare file con cURL. Seguendo questi esempi, imparerai a gestire i reindirizzamenti, rinominare i file e monitorare l’avanzamento dei download. Alla fine, sarai in grado di utilizzare cURL con sicurezza per le attività su server o ambienti cloud.

Comando di base cURL per scaricare file

Il comando curl funziona con più protocolli, ma viene utilizzato principalmente con HTTP e HTTPS per connettersi ai server web. All’occorrenza può anche interagire con server FTP o SFTP.

Per impostazione predefinita, cURL recupera una risorsa da un URL specificato e la visualizza nel terminale (output standard). Questo è utile per visualizzare il contenuto di un file senza salvarlo, soprattutto se si tratta di un piccolo file di testo.

Esempio: per visualizzare il contenuto di un file di testo ospitato su https://example.com/file.txt, esegui:

curl https://example.com/file.txt

Per documenti di testo brevi questo approccio va bene. Tuttavia, file di grandi dimensioni o binari possono riempire lo schermo di dati illeggibili, quindi di solito è preferibile salvarli.

Salvare file remoti

Spesso, l’obiettivo principale è salvare il file scaricato sul computer locale anziché visualizzarlo nel terminale. cURL semplifica questo con l’opzione -O (O maiuscola), che conserva il nome originale del file remoto.

curl -O https://example.com/file.txt

Questo scarica file.txt e lo salva nella directory corrente con lo stesso nome. Questo metodo è rapido e mantiene il nome esistente, utile se il nome del file ha un significato specifico.

Scegliere un nome di file diverso

A volte è importante rinominare il file scaricato per evitare conflitti o creare una convenzione di nomi chiara. In questo caso, usa l’opzione -o (o minuscola):

curl -o miofile.txt https://example.com/file.txt

Qui, cURL scarica il file remoto file.txt ma lo salva localmente come miofile.txt. Questo aiuta a mantenere i file organizzati e a evitare sovrascritture accidentali. È particolarmente utile negli script che richiedono nomi di file descrittivi.

Seguire i reindirizzamenti

Quando si richiede un file, i server possono istruire il client a passare a un altro URL. Comprendere e gestire i reindirizzamenti è fondamentale per completare correttamente i download.

Perché i reindirizzamenti sono importanti

I reindirizzamenti sono comunemente utilizzati per siti web riorganizzati, file spostati o mirror. Senza il supporto per i reindirizzamenti, cURL si ferma dopo aver ricevuto una risposta “spostato” e non otterrai il file.

Usare -L o --location

Per indicare a cURL di seguire una catena di reindirizzamenti fino alla destinazione finale, utilizza -L (o --location):

curl -L -O https://example.com/redirected-file.jpg

Questo consente a cURL di recuperare il file corretto anche se l’URL originale punta altrove. Se ometti -L, cURL mostrerà semplicemente il messaggio di reindirizzamento e terminerà, il che può essere un problema su siti con più reindirizzamenti.

Scaricare più file

cURL può anche gestire più download contemporaneamente, evitando di dover eseguire ripetutamente il comando.

Utilizzare parentesi graffe e modelli

Se i nomi dei file condividono un modello, le parentesi graffe {} consentono di specificare ciascun nome in modo conciso:

curl -O https://example.com/files/{file1.jpg,file2.jpg,file3.jpg}

cURL scarica ogni file in sequenza, rendendolo utile per i flussi di lavoro automatizzati.

Usare intervalli

Per una serie di file numerati o etichettati alfabeticamente, specifica un intervallo tra parentesi quadre:

curl -O https://example.com/files/file[1-5].jpg

cURL itera automaticamente tra i file file1.jpg e file5.jpg. È ideale per sequenze di file con nomi coerenti.

Collegare più download

Se hai URL diversi per ciascun file, puoi concatenarli:

curl -O https://example1.com/file1.jpg -O https://example2.com/file2.jpg

Questo approccio scarica file1.jpg dal primo sito e file2.jpg dal secondo senza dover eseguire più comandi.

Limitazione della velocità e timeout

In alcune situazioni, potresti voler controllare la velocità di download o evitare che cURL attenda troppo a lungo un server non reattivo.

Controllo della larghezza di banda

Per evitare di sovraccaricare la rete o simulare condizioni lente, limita la velocità di download con --limit-rate:

curl --limit-rate 2M -O https://example.com/bigfile.zip

2M indica 2 megabyte al secondo. Puoi anche usare K per kilobyte o G per gigabyte.

Timeout

Se un server è troppo lento, puoi chiedere a cURL di interrompere l’operazione dopo un determinato periodo. L’opzione --max-time serve proprio a questo:

curl --max-time 60 -O https://example.com/file.iso

Qui, cURL si interrompe dopo 60 secondi, utile negli script che necessitano di un fallimento rapido.

Modalità silenziosa e dettagliata

cURL può adattare la sua uscita per mostrare informazioni minime o dettagli estesi.

Download silenziosi

Per attività automatiche o cron job in cui non hai bisogno della barra di avanzamento, includi -s (o --silent):

curl -s -O https://example.com/file.jpg

Questo nasconde il progresso e gli errori, utile per log più puliti. Tuttavia, è più difficile eseguire il debug se si verifica un errore silenzioso.

Modalità dettagliata

Al contrario, -v (o --verbose) mostra informazioni dettagliate sulle richieste e risposte:

curl -v https://example.com

L’output dettagliato è prezioso per risolvere problemi come certificati SSL non validi o reindirizzamenti errati.

Autenticazione e sicurezza

Alcuni download richiedono credenziali o una connessione sicura.

Autenticazione HTTP/FTP

Quando un server richiede un nome utente e una password, usa -u:

curl -u username:password -O https://example.com/protected/file.jpg

Inserire direttamente le credenziali può essere rischioso, poiché potrebbero apparire nei log o nei processi. Prendi in considerazione l’uso di variabili d’ambiente o file .netrc per una gestione più sicura.

HTTPS e certificati

Per impostazione predefinita, cURL verifica i certificati SSL. Se il certificato non è valido, cURL blocca il trasferimento. Puoi ignorare questo controllo con -k o --insecure, anche se ciò comporta rischi per la sicurezza. Quando possibile, utilizza un’autorità di certificazione affidabile per mantenere connessioni autenticate.

Uso di un proxy

In alcuni ambienti, il traffico deve passare attraverso un server proxy prima di raggiungere la destinazione.

Scaricare tramite proxy

Usa l’opzione -x o --proxy per specificare il proxy:

curl -x http://proxy_host:proxy_port -O https://example.com/file.jpg

Sostituisci proxy_host e proxy_port con i dati appropriati. cURL inoltra la richiesta al proxy, che poi recupera il file per tuo conto.

Autenticazione proxy

Se il proxy richiede credenziali, includile nell’URL:

curl -x https://proxy.example.com:8080 -U mioutente:miapassword -O https://example.com/file.jpg

Anche in questo caso, archiviare dati sensibili in testo normale è pericoloso. È meglio usare variabili d’ambiente o file di configurazione.

Monitorare l’avanzamento del download

Monitorare l’avanzamento del download è importante per file di grandi dimensioni o connessioni lente.

Indicatore di avanzamento predefinito

Per impostazione predefinita, cURL mostra un indicatore di avanzamento che include dimensione totale, velocità di trasferimento e tempo stimato di completamento. Ad esempio:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2243      0 --:--:-- --:--:-- --:--:--  2246

Questa visualizzazione ti aiuta a stimare quanto manca e se la velocità di trasferimento è adeguata.

Barra di avanzamento compatta

Se vuoi meno dettagli, aggiungi -#:

curl -# -O https://example.com/largefile.iso

Una barra più semplice mostra l’avanzamento complessivo in percentuale. È più leggibile ma non include statistiche dettagliate come la velocità attuale.

Registrare l’avanzamento negli script

Quando utilizzi cURL all’interno di script, potresti voler registrare i dati sull’avanzamento. Normalmente, cURL invia queste informazioni a stderr, quindi puoi reindirizzarle:

curl -# -O https://example.com/largefile.iso 2>progress.log

Qui, progress.log contiene gli aggiornamenti di stato che puoi analizzare o salvare per revisioni future.

Conclusione

cURL si distingue come uno strumento da riga di comando flessibile per scaricare file tramite diversi protocolli e ambienti. Che tu debba gestire reindirizzamenti complessi, rinominare file al volo o limitare la larghezza di banda, cURL offre tutte le opzioni necessarie. Padroneggiando i suoi principali parametri e modalità, potrai integrare cURL senza problemi nel tuo flusso di lavoro quotidiano per scripting, automazione e trasferimenti di file più efficienti.

Sistema: Linux
20.10.2025
Reading time: 8 min

Simili

Sistema: Linux

Come comprimere file in Linux usando il comando tar

Il comando tar serve fondamentalmente a riunire file e directory in un unico archivio senza modificarne la struttura. Questo approccio semplifica l’organizzazione, la creazione di backup e il trasferimento dei file. Una volta creati, questi archivi possono essere compressi utilizzando diversi metodi come gzip, bzip2 o xz, che aiutano a ottimizzare lo spazio di archiviazione e a migliorare le velocità di trasferimento. Le distribuzioni Linux moderne sui server Linux VPS includono versioni aggiornate di tar, consentendo un’integrazione fluida con strumenti di compressione come gzip per una gestione dei dati più efficiente. Questo rende tar una risorsa preziosa per gli utenti che gestiscono grandi set di dati, poiché supporta sia la consolidazione dei file sia la compressione in un unico comando. Grazie alla sua flessibilità, tar è ampiamente utilizzato in diversi ambienti Linux. Non solo facilita la creazione di backup, ma semplifica anche la distribuzione del software e la gestione dei dati importanti. Con una vasta gamma di opzioni disponibili, gli utenti possono personalizzare gli archivi in base alle proprie esigenze, ad esempio escludendo directory o file specifici, preservando i permessi o proteggendo i dati sensibili. Per chiunque lavori con grandi quantità di informazioni o requisiti di archiviazione complessi, imparare a fondo il comando tar è fondamentale. Tutto ciò lo rende un’utilità importante da conoscere per gli utenti Linux. E se stai cercando una soluzione affidabile, ad alte prestazioni e conveniente per i tuoi flussi di lavoro, Hostman offre opzioni di Linux VPS Hosting, tra cui Debian VPS, Ubuntu VPS e VPS CentOS. Comprendere la sintassi di tar Il comando tar è fondamentalmente suddiviso in quattro parti distinte: tar -flags: Opzioni utilizzate per eseguire un’azione specifica Nome dell’archivio Percorso del file o della directory desiderata Si scrive come segue: tar -flags (nome_archivio) (percorso) Archiviare file e directory tar utilizzato con l’opzione -cvf consente di archiviare file e directory. Per un file: tar -cvf collectionX.tar snake.txt Per una directory: tar -cvf DRcollection.tar newDir/ Questo archivierà il file snake.txt in collectionX.tar e la directory newDir in DRcollection.tar. Se l’obiettivo è archiviare più file e directory, utilizza i seguenti comandi. Per più file: tar -cvf collectionX.tar snake.txt panther.txt Tiger.txt Per più directory: tar -cvf DRcollection.tar newDir1/ newDir2/ newDir3/ Comprimere file e directory tar utilizzato con l’opzione -czvf consente di comprimere file e directory. Per un file: tar -czvf collectionX.tar.gz snake.txt Per una directory:  tar -czvf DRcollection.tar.gz newDir/ -c archivia file e directory -z applica la compressione gzip -v è la modalità dettagliata e mostra il processo di compressione -f consente di assegnare un nome all’archivio da comprimere Aggiungi .gz dopo tar se desideri comprimere file e directory. Per più file: tar -cvf collectionX.tar.gz snake.txt panther.txt Tiger.txt Per più directory: tar -cvf DRcollection.tar.gz newDir1/ newDir2/ newDir3/ .bz2 viene utilizzato con tar e, insieme all’opzione -cjf, consente di archiviare e comprimere file e directory. -j applica la compressione bzip2. Per un file con bz2: tar -cjf collectionX.tar.bz2 snake.txt Per una directory con bz2: tar -cjf DRcollection.tar.bz2 newDir/ .xz viene utilizzato con .tar e, insieme all’opzione -cJf, consente di archiviare e comprimere file e directory. -J indica la compressione con xz. Per un file con xz: tar -cJf DRcollection.tar.xz file1.txt Per una directory con xz: tar -cJf collectionX.tar.xz newDir/ Estrarre file .tar compressi arch1.tar.gz, arch1.tar.bz2 e arch1.tar.xz sono tre file compressi. Estrarre .tar.gz: tar -xvzf arch1.tar.gz -x indica l’estrazione dei file. Estrarre tar.bz2: tar -xvjf arch1.tar.bz2 Estrarre tar.xz: tar -xvJf arch1.tar.xz Estrarre file specifici usando caratteri jolly Se devi estrarre solo un tipo specifico di file da un archivio, procedi come segue: tar -xvf arch1.tar --wildcards '*.sh' Questo restituirà solo i file con estensione .sh. --wildcards aiuta a cercare tipi di file specifici e consente la corrispondenza dei pattern. *.sh garantisce che vengano estratti solo file di tipo .sh. Estrarre in una directory specifica Se devi estrarre l’archivio completo in una directory specifica, procedi come segue: tar -xvf arch1.tar -C ./destinationDir/pathDir/ -C cambia nella directory specificata. -xvf consente di estrarre l’archivio in quella posizione. Gestire archivi .tar Controllare il contenuto senza estrarre Se desideri sapere cosa contiene un archivio senza decomprimere i file, utilizza comandi come questi: tar -tzf arch1.tar.gztar -tjf arch1.tar.bz2tar -tJf arch1.tar.xz -t fornisce dettagli sul contenuto degli archivi compressi senza eseguire l’estrazione. Aggiungere file a un archivio esistente Per aggiungere un nuovo file a un archivio: tar -rvf arch1.tar new.sh new.sh verrà aggiunto a arch1.tar. Rimuovere un file specifico da un archivio Se devi eliminare un file da un archivio senza estrarlo, puoi utilizzare --delete. tar --delete -f arch1.tar new.sh  Questo rimuoverà il file new.sh dall’archivio arch1.tar senza estrarlo. Tieni presente che --delete non funziona con file compressi, ma solo con archivi. Confrontare il contenuto dell’archivio con la directory corrente Se devi esaminare il contenuto della directory di lavoro corrente e confrontarlo con l’archivio, utilizza: tar --diff -f arch1.tar --diff aiuta a confrontare il contenuto di arch1.tar con quello disponibile nella directory di lavoro corrente. Risolvere errori comuni di .tar "tar: Removing leading '/' from member names" Questo avviso appare quando vengono utilizzati percorsi assoluti in un archivio: tar -cvf arch1.tar /home/user/file.txt Soluzione: Usa -p per preservare i percorsi assoluti. tar -cvpf arch1.tar /home/user/file.txt "tar: Error opening archive: Unrecognized archive format" Questo errore si verifica quando l’archivio è danneggiato o viene utilizzato il comando di decompressione errato. Soluzione: Verifica il tipo di file: file arch1.tar.gz Utilizza il comando di decompressione corretto: tar -xvzf arch1.tar.gz  # For .tar.gztar -xvjf arch1.tar.bz2  # For .tar.bz2tar -xvJf arch1.tar.xz   # For .tar.xz Se si sospetta una corruzione, verifica l’integrità: gzip -t arch1.tar.gzbzip2 -tv arch1.tar.bz2 Conclusione L’utilità tar rappresenta uno strumento importante per l’archiviazione, la compressione e l’estrazione. Offre efficienza, rendendola un componente cruciale della gestione dello storage in Linux. Con una varietà di configurazioni e impostazioni, tar funge da soluzione sempre valida per diversi scenari di utilizzo. Opzioni come -czvf e -xvzf determinano il modo in cui i file vengono archiviati e recuperati, garantendo agli utenti il pieno controllo sulla compressione dei dati. Inoltre, tar supporta diversi strumenti di compressione come gzip, bzip2 e xz, consentendo agli utenti di ottimizzare sia la velocità sia il rapporto di compressione in base alle proprie esigenze specifiche. Per professionisti IT, sviluppatori e utenti Linux, conoscere a fondo tar è estremamente prezioso. Che si tratti di gestire backup, distribuire dati in modo efficiente o ottimizzare lo storage, tar rimane uno degli strumenti di archiviazione più influenti. Selezionando le configurazioni e i comandi corretti, gli utenti possono migliorare significativamente il proprio flusso di lavoro, automatizzare le attività e gestire grandi set di dati in modo efficiente. Puoi anche utilizzare il nostro storage compatibile con S3 per salvare tutti i dati necessari per le tue applicazioni e i tuoi server.
28 January 2026 · 7 min to read
Sistema: Linux

Creazione di collegamenti simbolici in Linux: un tutorial passo dopo passo

I symlink, noti anche come collegamenti simbolici, sono simili ai collegamenti rapidi nel mondo Linux. Consentono di creare un nuovo nome (o collegamento) che punta a un altro file, una directory o qualsiasi oggetto all’interno del file system. Il loro principale vantaggio consiste nel ridurre la ridondanza, evitando la necessità di avere più copie dello stesso file. Quando si utilizza un symlink, le modifiche apportate al file originale si riflettono automaticamente su tutti i suoi collegamenti simbolici. Questo elimina la necessità di aggiornare manualmente più copie. Inoltre, i symlink offrono un modo flessibile per gestire le autorizzazioni di accesso. Ad esempio, diversi utenti con directory che puntano a sottoinsiemi di file possono limitare la visibilità oltre quanto consentito dalle autorizzazioni standard del file system. In sostanza, i symlink sono indispensabili per un’efficiente gestione e organizzazione dei file, semplificando gli aggiornamenti e il controllo degli accessi in sistemi complessi. Requisiti Per seguire questo tutorial, avrai bisogno di: Un server cloud, una macchina virtuale o un computer con un sistema operativo Linux. Su Hostman puoi distribuire un server con Ubuntu, CentOS o Debian in meno di un minuto. Creazione di collegamenti simbolici con il comando ln Il comando ln viene utilizzato per creare collegamenti simbolici in Linux. Segui questi passaggi: Apri una finestra del terminale. Vai nella directory in cui desideri creare il collegamento simbolico. Utilizza la seguente sintassi per creare un symlink: ln -s /path/to/source /path/to/symlink Sostituisci /path/to/source con il percorso reale del file o della directory da collegare e /path/to/symlink con il nome o la posizione desiderata del collegamento simbolico. Comprendere le opzioni del comando ln Il comando ln offre varie opzioni per personalizzare la creazione dei symlink:  -s: Crea un collegamento simbolico.  -f: Sovrascrive un symlink esistente.  -n: Considera le destinazioni del symlink come file normali. Esplora queste opzioni in base alle tue esigenze di collegamento. Creazione di collegamenti simbolici a file Per creare un symlink a un file, utilizza il comando ln con l’opzione -s. Ecco un esempio di come creare un collegamento simbolico a un file usando il comando ln. Il seguente comando crea un collegamento simbolico chiamato symlink_file nella directory corrente, puntando al file /path/to/file: ln -s /path/to/file /path/to/symlink_file Sostituisci /path/to/file con il percorso reale del file e /path/to/symlink_file con il nome desiderato del symlink. In questo esempio, il percorso del file è assoluto. È anche possibile creare un collegamento simbolico utilizzando un percorso relativo. Tuttavia, tieni presente che per far funzionare correttamente il symlink, qualsiasi processo che vi accede deve prima impostare la directory di lavoro corretta; in caso contrario, il collegamento potrebbe risultare non funzionante. Creazione di collegamenti simbolici a directory Puoi utilizzare il comando ln per creare un collegamento simbolico che punti a una directory. Ad esempio, il seguente comando crea un collegamento simbolico chiamato symlink_directory nella directory corrente, che punta alla directory /path/to/directory: ln -s /path/to/directory /path/to/symlink_directory Questo comando crea un collegamento simbolico chiamato symlink_directory nella tua posizione attuale, collegandolo alla directory /path/to/directory. Sovrascrivere forzatamente un collegamento simbolico Puoi utilizzare l’opzione -f con il comando ln. Ad esempio, se il percorso in un symlink è errato a causa di un errore di digitazione o se la destinazione è stata spostata, puoi aggiornare il collegamento in questo modo: ln -sf /path/to/new-reference-dir symlink_directory L’uso dell’opzione -f garantisce che il contenuto del vecchio symlink venga sostituito dalla nuova destinazione. Rimuove inoltre automaticamente eventuali file o symlink in conflitto. Se provi a creare un symlink senza l’opzione -f e il nome del symlink è già in uso, il comando non verrà eseguito. Verifica dei collegamenti simbolici Puoi visualizzare il contenuto di un symlink utilizzando il comando ls -l in Linux: ls -l symlink_directory L’output mostrerà il symlink e la sua destinazione: symlink_file -> /path/to/reference_file Qui, symlink_file è il nome del collegamento simbolico e punta al file /path/to/reference_file. ls -l /path/to/symlink L’output mostrerà il symlink e la sua destinazione. Buone pratiche per i collegamenti simbolici Usa nomi descrittivi per i collegamenti simbolici. Evita collegamenti circolari per prevenire malfunzionamenti del sistema. Aggiorna i symlink se cambia la posizione della destinazione. Casi d’uso dei collegamenti simbolici Gestione dei file di configurazione: Collegare file di configurazione tra sistemi. Controllo versione: Collegare simbolicamente librerie comuni per progetti di sviluppo. Backup dei dati: Creare symlink verso directory di backup. Problemi potenziali e risoluzione degli errori Problemi di autorizzazioni: Assicurati che le autorizzazioni appropriate siano impostate per la sorgente e il symlink. Collegamenti interrotti: Aggiorna i symlink se i file di destinazione vengono spostati o eliminati. Collegamenti tra filesystem: I symlink potrebbero non funzionare tra filesystem diversi. Conclusione I symlink sono preziosi per ottimizzare la gestione dei file e la manutenzione del sistema. Semplificano gli aggiornamenti tra più applicazioni che condividono un file comune, riducendo la complessità della manutenzione. Offrono inoltre un’alternativa a directory come /etc, che spesso richiedono accesso root per modificare i file. Gli sviluppatori trovano i symlink utili per passare senza problemi tra file di test locali e versioni di produzione. Seguendo questo tutorial, hai imparato a creare collegamenti simbolici in Linux. Sfrutta i symlink per una gestione efficiente dei file e una maggiore personalizzazione.
15 December 2025 · 5 min to read
Sistema: Linux

Comandi systemctl riavviare, ricaricare e arrestare un servizio

Per i sistemi operativi Linux, systemctl è un gestore di sistema e servizi utilizzato principalmente per amministrare i servizi e le loro configurazioni. Fa parte di systemd, che gestisce anche altre funzioni a livello di sistema, la gestione dei processi e l’avvio del sistema. Mantenere un sistema affidabile ed efficiente richiede la conoscenza della gestione dei servizi. I comandi restart, reload e stop sono tra i più importanti; ognuno svolge una funzione specifica nella gestione dei servizi. Questo tutorial illustra nel dettaglio questi comandi, la loro sintassi, i casi d’uso e include esempi pratici per aiutare gli utenti a comprenderli e a gestire i sistemi in modo più efficace. Comprendere la gestione dei servizi con systemctl La maggior parte delle moderne distribuzioni Linux utilizza systemctl come strumento principale per la gestione dei servizi di sistema, una componente essenziale per mantenere un ambiente Linux stabile. systemctl, parte della suite systemd, aiuta gli amministratori ad abilitare, disabilitare, monitorare e controllare i servizi. Padroneggiare systemctl può migliorare la reattività, le prestazioni e l’affidabilità del sistema. Un servizio — o un insieme di processi che operano in background per fornire funzionalità di sistema come rete, condivisione file o hosting di applicazioni — è definito servizio nel contesto Linux. Sebbene questi servizi possano essere gestiti manualmente, in genere vengono avviati automaticamente all’avvio del sistema. I servizi critici, come server web, database e strumenti di rete, devono essere gestiti correttamente per garantirne la disponibilità e il funzionamento efficiente. Gli amministratori di sistema possono ridurre i tempi di inattività ricaricando o riavviando i servizi tramite i comandi systemctl, senza interferire con le attività generali del sistema. Garantire che i servizi siano disponibili dopo un riavvio è possibile tramite i comandi enable/disable che automatizzano l’avvio dei servizi. Monitorare lo stato dei servizi e i log permette di diagnosticare rapidamente eventuali problemi. Grazie alla sua versatilità, systemctl è uno strumento essenziale per la gestione dei servizi in qualsiasi sistema Linux. Avviare un servizio con systemctl Avviare un servizio in Linux con systemctl è un’operazione semplice ma essenziale per controllare diversi processi in background, come server web, database o servizi di rete. Un servizio deve essere avviato dall’utente e autorizzato a svolgere la sua funzione prevista. Per avviare un servizio, utilizza il seguente comando. sudo systemctl start <nome_del_servizio> Dove: sudo: concede i privilegi amministrativi necessari per avviare il servizio. systemctl: il comando Linux utilizzato per gestire i servizi. start: il comando che comunica al sistema di avviare il servizio. <nome_del_servizio>: il nome del servizio (ad esempio apache2, nginx, ssh ecc.) che l’utente desidera avviare. Esempio: sudo systemctl start apache2 Questo comando indica al servizio Apache di avviarsi. Se il servizio era già in esecuzione, non si noterà alcun effetto. Se invece non era attivo, il comando lo avvierà. Riavviare un servizio con systemctl Per gli amministratori di sistema Linux, riavviare un servizio utilizzando systemctl è fondamentale, poiché il servizio viene prima interrotto e poi avviato nuovamente. Questo è particolarmente utile durante la risoluzione di problemi o dopo modifiche alla configurazione o aggiornamenti software. Riavviare un servizio garantisce che utilizzi la configurazione o il codice più recente. Usa il seguente comando per riavviare un servizio. sudo systemctl restart <nome_del_servizio> Esempio: sudo systemctl restart apache2 Questo comando interrompe il servizio Apache e poi lo riavvia. È particolarmente utile se sono state apportate modifiche al file di configurazione e si desidera applicarle. Riavviare un servizio può aiutare a risolvere problemi temporanei o liberare risorse. Se un servizio non funziona correttamente, spesso il riavvio è sufficiente per risolvere il problema. Ricaricare la configurazione di un servizio con systemctl In Linux, un servizio può applicare nuove modifiche alla configurazione senza essere completamente interrotto e riavviato, utilizzando il comando di ricaricamento di systemctl. Questo è particolarmente utile quando vengono apportate piccole modifiche alla configurazione e non si desidera interrompere il funzionamento del servizio. Usa il seguente comando per ricaricare un servizio. sudo systemctl reload <nome_del_servizio> Esempio: sudo systemctl reload apache2 Questo comando applica le modifiche apportate al file di configurazione di Apache senza riavviare completamente il server, riducendo al minimo le interruzioni per gli utenti. Il ricaricamento è un’opzione più delicata rispetto al riavvio, poiché non interrompe le connessioni attive né i processi in esecuzione. Arrestare i servizi con systemctl Esegui il seguente comando per arrestare un servizio in esecuzione. Se un servizio è configurato per avviarsi automaticamente all’avvio del sistema, arrestarlo interromperà solo le operazioni correnti, ma non impedirà il suo riavvio al successivo riavvio del sistema. Questo semplice comando systemctl stop consente agli utenti di terminare i processi senza influire sul comportamento del servizio durante l’avvio. sudo systemctl stop <nome_del_servizio> Esempio: sudo systemctl stop apache2 Verificare lo stato dei servizi con systemctl Monitorare e verificare che i servizi funzionino correttamente è una delle attività più importanti nell’amministrazione di sistemi Linux. Con il comando systemctl è possibile visualizzare informazioni dettagliate sullo stato di un servizio, come se è attivo, inattivo o se ha riscontrato problemi. Dopo aver riavviato o ricaricato un servizio, verificarne lo stato consente di confermare che sia tornato operativo come previsto. Usa il seguente comando per visualizzare lo stato corrente di un servizio. sudo systemctl status <nome_del_servizio> Esempio: sudo systemctl status apache2 Il comando status fornisce informazioni dettagliate sul servizio, che solitamente includono: Active State:  indica se il servizio è in esecuzione (active), fermo o in errore. Loaded State:  indica se il file di unità (file di configurazione) del servizio è caricato in memoria. Main PID:  mostra l’ID del processo principale del servizio. Recent Logs: mostra le voci di registro più recenti relative al servizio, utili per la diagnosi dei problemi. Risoluzione dei problemi comuni Possono verificarsi diversi problemi durante la gestione dei servizi Linux con systemctl, tra cui arresti imprevisti, errori di avvio o problemi di configurazione. Risolvere questi problemi in modo efficace è essenziale per mantenere prestazioni e stabilità del sistema. Di seguito sono riportati i problemi più comuni e i passaggi di risoluzione corrispondenti. Il comando sudo systemctl start restituisce un errore o non avvia il servizio come previsto. Per ottenere informazioni dettagliate sulla causa del problema, esegui sudo systemctl status <nome_del_servizio>. Utilizza journalctl per visualizzare i log di sistema relativi al servizio e identificare eventuali problemi sottostanti. Il comando systemctl status mostra la causa dell’errore. Cerca righe come "Main PID exited" o "Job for <nome_del_servizio> failed" per comprendere il problema. Spesso il riavvio del servizio può risolvere problemi temporanei. Un servizio non si avvia automaticamente dopo il riavvio del sistema. Assicurati che il servizio sia configurato per avviarsi automaticamente. Esegui il comando sudo systemctl is-enabled. Se non è abilitato, abilitalo con systemctl enable <nome_del_servizio>. Il servizio non si avvia o non esegue determinate azioni a causa di errori di autorizzazione. Verifica che il servizio disponga delle autorizzazioni necessarie per accedere ai file e alle directory richiesti. Ad esempio, i server web devono poter leggere i file di configurazione e le cartelle del sito. Verifica inoltre che il servizio venga eseguito con l’utente o il gruppo corretto. Alcuni servizi devono essere eseguiti da un utente specifico indicato nel file di unità. Il servizio si avvia con una configurazione errata o le modifiche apportate al file di unità non vengono applicate. Esegui sudo systemctl daemon-reload dopo aver modificato un file di unità per ricaricare la gestione di systemd. Assicurati che il file di unità corrisponda alla configurazione prevista e che si trovi in /lib/systemd/system/ o /etc/systemd/system/. Queste procedure di risoluzione dei problemi possono aiutarti a correggere la maggior parte dei problemi comuni legati ai servizi gestiti tramite systemctl in Linux. La stabilità e la buona salute del sistema possono essere mantenute controllando regolarmente i log e lo stato dei servizi. Conclusione In conclusione, gli amministratori di sistema devono conoscere bene l’utilizzo di systemctl per gestire i servizi su Linux. Questo strumento offre una vasta gamma di funzionalità avanzate per controllare, monitorare e risolvere i problemi dei servizi in modo efficiente. Comprendere i comandi fondamentali — tra cui ricaricare, arrestare, riavviare e verificare lo stato dei servizi — consente di garantire che le funzioni essenziali del sistema operino senza difficoltà. Che si tratti di servizi di rete, database o server web, sapere come usare systemctl permette di mantenere un ambiente Linux stabile ed efficiente. Inoltre, la capacità di affrontare problemi comuni come servizi malfunzionanti, errori di autorizzazione o problemi di configurazione contribuisce a ridurre i tempi di inattività e a preservare l’affidabilità del sistema. L’integrazione di systemctl con journalctl consente un’analisi completa dei log, facilitando una diagnosi e una risoluzione dei problemi rapide. Puoi provare il nostro affidabile VPS Linux per i tuoi progetti.
11 December 2025 · 9 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support