GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è sudo rm -rf in Linux ed è pericoloso?

Introduzione

I comandi del terminale intimidiscono i nuovi utenti Linux. Eseguire qualsiasi cosa senza conoscere il risultato può avere conseguenze irrevocabili. Su Linux, i comandi pericolosi sono spesso il risultato di un semplice errore di battitura.

Sapere cosa fa ogni parte di un comando Linux e i potenziali pericoli aiuta a evitare tali situazioni. Un tipico esempio è il sudo rm -rf comando, che è molto utile se usato correttamente ma può avere conseguenze se digitato in modo errato o utilizzato in modo improprio.

Questo articolo spiega il sudo rm -rf comando in Linux, cosa fa e come usarlo correttamente.

Prerequisiti

  • Accesso alla riga di comando/terminale.
  • Un utente con privilegi sudo.
  • File o directory da eliminare.

Sintassi sudo rm -rf

Il sudo rm -rf comando viene spesso evitato dagli utenti e citato come comando pericoloso. La sintassi del comando è:

sudo rm -rf <directory or file>

Di seguito è riportato un dettaglio di ciascuna parte del comando:

  • sudo - eleva i privilegi di un utente all'utente root. Consente di rimuovere file e directory di proprietà di root.
  • rm - Comando Linux per rimuovere file o directory.
  • -r - L'opzione indica la rimozione ricorsiva e aiuta a rimuovere le directory non vuote.
  • -f - L'opzione consente la rimozione senza conferma, anche se un file non esiste.
  • <directory or file> - Il percorso di una directory o di un file da rimuovere.

Utilizzare il comando per rimuovere file o directory non vuote in cui il proprietario è root.

Segui i passaggi seguenti per creare un caso d'uso di esempio:

1. Apri il terminale (CTRL +ALT +T ).

2. Crea una directory di prova con una sottodirectory:

sudo mkdir test1 && sudo mkdir test1/test2

Il creatore e il proprietario di entrambe le directory è l'utente root.

3. Tentativo di rimuovere la directory come utente normale:

rm -rf test1

L'output mostra il messaggio di autorizzazione negata.

4. Usa il comando con sudo per rimuovere la directory:

sudo rm -rf test1

Il comando non emette un messaggio e cancella automaticamente le directory senza conferma.

Perché sudo rm -rf è pericoloso?

Il sudo rm -rf comando è pericoloso se non utilizzato correttamente. Il rm comando fa il suo lavoro per eliminare, ma un errore di battitura o il non sapere cosa viene eliminato può renderlo pericoloso.

Avviso: Non eseguire i comandi nei seguenti esempi.

Gli esempi seguenti mostrano come e quando il rm -rf il comando è potenzialmente pericoloso:

1. Quando si rimuovono le directory, il seguente errore di battitura è appena percettibile:

sudo rm -rf / directory/subdirectory

Lo spazio dopo la prima barra (/ ) passa la directory principale come parametro di cancellazione. Il comando elimina la directory principale e tutte le sottodirectory a causa del -r bandiera. Il risultato è lo stesso dell'esecuzione di quanto segue:

sudo rm -rf /

Sebbene la maggior parte dei sistemi moderni visualizzi un messaggio di avviso e richieda opzioni aggiuntive, il -f flag sovrascrive la conferma in alcuni scenari.

2. Eliminazione di più file con nomi diversi e la stessa estensione utilizzando il segno di asterisco (* ) aiuta a trovare la corrispondenza di zero o più caratteri. Il seguente errore di battitura nel comando provoca un errore:

sudo rm -rf * .txt

Simile all'esempio precedente, aggiungendo uno spazio extra dopo l'asterisco (* ) passa la directory di lavoro e tutte le sue sottodirectory per l'eliminazione. Pertanto, il comando viene eseguito come segue:

sudo rm -rf *

Di conseguenza, tutto dalla directory corrente viene eliminato senza preavviso. Il comando elimina il sistema se la directory di lavoro corrente è root (/ ).

3. Una forma pericolosa di sudo -rm rf può verificarsi quando si eliminano directory che terminano con gli stessi caratteri:

sudo rm -rf /* -directory

A causa della spaziatura, il comando diventa:

sudo rm -rf /*

Poiché il comando rimuove il contenuto all'interno della directory principale, non ci sono avvisi.

Conclusione

Dopo aver letto questa guida, conosci i pericoli dell'utilizzo di sudo rm -rf . Sebbene il comando non sia pericoloso e serva a uno scopo, potrebbe potenzialmente eliminare l'intero sistema o dati critici.

Consulta la nostra guida al backup e al ripristino di emergenza per prevenire situazioni di perdita irrevocabile dei dati.


Linux
  1. Qual è la differenza tra individuare e trovare il comando in Linux

  2. Qual è lo scopo dei file utmp, wtmp e btmp in Linux

  3. Esempi di comandi sudo in Linux

  4. Qual è il comando per copiare, leggere e rimuovere file in Linux

  5. Cosa fa 'set -e' e perché potrebbe essere considerato pericoloso?

Comprendere la differenza tra il comando sudo e su su Linux

Comando W in Linux (vedi chi ha effettuato l'accesso e cosa sta facendo)

Nozioni di base sulla riga di comando di Linux:sudo

Cosa mi dice il mio prompt dei comandi di Linux?

Che cos'è il comando sorgente in Linux e come funziona?

Qual è il comando kill in Linux?