GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere (eliminare) i collegamenti simbolici in Linux

Un collegamento simbolico, noto anche come collegamento simbolico, è un tipo speciale di file che punta a un altro file o directory. È qualcosa come una scorciatoia in Windows. Un collegamento simbolico può puntare a un file oa una directory sullo stesso filesystem o su una partizione diversa.

In questa guida, ti mostreremo come rimuovere (eliminare) i collegamenti simbolici nei sistemi Linux/UNIX usando rm , unlink e find comandi.

Prima di iniziare #

Per rimuovere un collegamento simbolico, è necessario disporre dei permessi di scrittura sulla directory che contiene il collegamento simbolico. In caso contrario, verrà visualizzato l'errore "Operazione non consentita".

Quando rimuovi un collegamento simbolico, il file a cui punta non viene interessato.

Usa ls -l comando per verificare se un determinato file è un collegamento simbolico e per trovare il file o la directory a cui punta il collegamento simbolico.

ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Apr 16  2018 /usr/bin/python -> python2.7

Il primo carattere "l", indica che il file è un collegamento simbolico. Il simbolo “->” mostra il file a cui punta il collegamento simbolico.

Il rm il comando rimuove determinati file e directory.

Per eliminare un collegamento simbolico, invoca il rm comando seguito dal nome del collegamento simbolico come argomento:

rm symlink_name

In caso di successo, il comando esce con zero e non visualizza alcun output.

Con rm puoi eliminare più di un link simbolico contemporaneamente. Per fare ciò, passa i nomi dei collegamenti simbolici come argomenti, separati da uno spazio:

rm symlink1 symlink2

Per ricevere una richiesta prima di rimuovere il collegamento simbolico, utilizzare il -i opzione:

rm -i symlink_name

Per confermare digita y e premi Enter .

rm: remove symbolic link 'symlink_name'? 

Se il collegamento simbolico punta a una directory, non aggiungere il / barra finale alla fine. In caso contrario, riceverai un errore:

rm symlink_to_dir/
rm: cannot remove 'symlink_to_dir/': Is a directory

Se il nome dell'argomento termina con / , il rm comando presuppone che il file sia una directory. L'errore si verifica perché, se utilizzato senza il -d o -r opzione, rm impossibile eliminare le directory.

Per sicurezza, mai -r opzione durante la rimozione di collegamenti simbolici con rm . Ad esempio, se digiti:

rm -f symlink_to_dir/

Il contenuto della directory di destinazione verrà eliminato.

Il unlink comando elimina un determinato file. A differenza di rm , unlink accetta solo un singolo argomento.

Per eliminare un collegamento simbolico, esegui unlink comando seguito dal nome del collegamento simbolico come argomento:

unlink symlink_name

Se il comando viene eseguito correttamente, non viene visualizzato alcun output.

Non aggiungere il / barra finale alla fine del nome del collegamento simbolico perché unlink impossibile rimuovere le directory.

Se elimini o sposti il ​​file di origine in una posizione diversa, il file simbolico verrà lasciato penzolante (rotto).

Per trovare tutti i collegamenti simbolici interrotti in una determinata directory, eseguire il comando seguente:

find /path/to/directory -xtype l
/path/to/directory/symlink1
/path/to/directory/subdir/symlink2

Il comando elencherà tutti i collegamenti interrotti nella directory e nelle sue sottodirectory.

Se vuoi escludere i link simbolici che sono contenuti nelle sottodirectory passa il -maxdepth 1 opzione per find :

find /path/to/directory -maxdepth 1 -xtype l
/path/to/directory/symlink1

Una volta trovati i collegamenti simbolici interrotti, puoi rimuoverli manualmente con rm o unlink oppure usa il -delete opzione del find comando:

find /path/to/directory -xtype l -delete

Conclusione #

Per rimuovere un collegamento simbolico, usa il rm o unlink comando seguito dal nome del collegamento simbolico come argomento. Quando si rimuove un collegamento simbolico che punta a una directory, non aggiungere una barra finale al nome del collegamento simbolico.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Come aggiornare un collegamento simbolico Linux

  2. Come rimuovere (eliminare) un file o una directory in Linux

  3. Come eliminare la riga in Vim su Linux

  4. Come creare collegamenti rigidi e simbolici in Linux

  5. Come copiare i collegamenti simbolici?

Come rimuovere o eliminare PPA in Ubuntu Linux

Come rimuovere i collegamenti simbolici su Linux

Come creare collegamenti simbolici su Linux

Come rimuovere/eliminare file in Linux usando il comando rm

Che cosa sono i collegamenti simbolici in Linux? Come creare collegamenti simbolici?

Come ottenere un elenco di collegamenti simbolici su Linux