Metodi di pagamento Abuse

Rimozione dei collegamenti in Linux

10.04.2022, 01:05

Un collegamento in Linux è un file speciale che fa riferimento a un altro file o directory. In questo modo, un file può essere collocato in più posti contemporaneamente. Quando il file originale viene cancellato, il collegamento viene mantenuto. Questo può causare crash e in generale intasare il sistema.

Come eliminare un collegamento

Per cominciare, spieghiamo il metodo per verificare che il file sia effettivamente un collegamento. Per farlo è sufficiente utilizzare l'utility ls. Dopodiché, esaminiamo tre metodi di rimozione, ognuno con le sue peculiarità.

Verifica del collegamento

Con l'aiuto di ls è comodo vedere le informazioni sul file. Per utilizzare l'utility, occorre dare l'opzione -l e specificare il percorso. A titolo di esempio, prendiamo il file ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Rimozione dei collegamenti in Linux

È possibile verificare la presenza di collegamenti in un intero catalogo:

$ ls -l ~/symlin

Rimozione dei collegamenti in Linux

Un file non necessario è contrassegnato da una freccia caratteristica dopo il suo nome.

Uso di Rm

Il comando rm può essere usato per cancellare qualsiasi file nel file system di Linux, compresi i collegamenti. È quindi adatto al nostro compito. È importante ricordare che l'eliminazione del collegamento non influisce sul file o sulla directory originale.

Eseguire il comando nel terminale:

$ rm ~/symlinks/link_1

Rimozione dei collegamenti in Linux

Inoltre, per ottenere informazioni dettagliate sulla procedura, aggiungere l'opzione -v al comando:

$ rm -v ~/symlinks/link_1

Rimozione dei collegamenti in Linux

Inoltre, è possibile verificare se il collegamento è scomparso dalla directory. A tale scopo, utilizzare il comando ls descritto in precedenza.

Rimozione dei collegamenti in Linux

Ora sapete come rimuovere un collegamento simbolico in Linux.

Uso di UNLINK

L'utilità unlink è progettata per rimuovere i file dal file system di Linux. È sufficiente specificare il percorso del collegamento:

$ unlink ~/symlinks/link_1

Rimozione dei collegamenti in Linux

Nell'ambito dell'operazione in questione, rm e unlink funzionano in modo quasi identico. Passiamo ora all'ultimo metodo.

Uso di Find

Con l'aiuto del comando find è possibile cercare ed eliminare i collegamenti in una determinata directory. Ciò significa che non è necessario utilizzare anche ls.

Rimozione dei collegamenti in Linux

A differenza delle due opzioni precedenti, ha caratteristiche piuttosto avanzate, come ad esempio l'impostazione dei criteri di ricerca. Ma anche la sintassi non è così semplice.

Per effettuare una ricerca, è necessario specificare una directory e alcuni parametri:

$ find ~/symlinks/ -type l -print

Rimozione dei collegamenti in Linux

Il parametro -type l è necessario per selezionare solo i collegamenti simbolici, -print per visualizzare il nome completo. Con l'aiuto di -maxdepth è possibile specificare la profondità della ricerca per directory annidate. Se si specifica 1, la ricerca verrà eseguita solo sulla directory stessa, senza allegati:

$ find ~/symlinks/ -maxdepth 1 -type l -print

Rimozione dei collegamenti in Linux

Se nella directory sono presenti molti collegamenti, è possibile specificare un modello di ricerca per il comando find. A titolo di esempio, prendiamo una situazione in cui vogliamo trovare solo i collegamenti nascosti con una data di ultima modifica non superiore a 30 giorni fa:

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Rimozione dei collegamenti in Linux

Sono stati aggiunti due criteri:

  • -nome - ricerca per nome.
  • -mtime - in base all'ora di modifica.

Tutti i collegamenti trovati possono essere eliminati secondo lo schema specificato. A questo scopo -print è sostituito da -delete:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Rimozione dei collegamenti in Linux

Alla fine dell'istruzione ci occupiamo della ricerca e dell'eliminazione dei collegamenti interrotti che non portano da nessuna parte, ad esempio dopo aver cancellato il file o la directory originale. Il parametro -xtype l è adatto a questo scopo. -print non è richiesto per l'output:

$ find ~/broken_links/ -xtype l

Rimozione dei collegamenti in Linux

Di conseguenza, tutti i collegamenti interrotti saranno visualizzati nel terminale. Per rimuoverli, aggiungere -delete alla fine del comando:

$ find ~/broken_links/ -xtype l -delete

Rimozione dei collegamenti in Linux

Questo completa le istruzioni per eliminare un collegamento in Linux.