rm: come eliminare file e cartelle con questo comando di Terminale

Comando Rm

Eliminare un file su qualsiasi sistema operativo è solitamente facile come fare clic su di esso e premere il tasto Canc o fare clic con il pulsante destro del mouse e inviarlo al cestino. Sappiamo tutti come farlo ed è l'opzione migliore per eliminare un file davanti a noi. Ma cosa succede quando quello che vogliamo è, ad esempio, eliminare più file che si trovano all'interno della stessa cartella? Succede che in Linux abbiamo l'estensione comando rm questo ci permetterà di eliminare praticamente qualsiasi cosa dal terminale.

"Rm" è il abbreviazione di «remove», che è «to delete» in inglese. Viene utilizzato per eliminare i file e se utilizzato in modo ricorsivo ci consentirà anche di eliminare le directory. Per impostazione predefinita, non rimuoverà le directory e rimuoverà tutti i file specificati sulla riga di comando. Il processo di rimozione scollega un nome file su un file system dai dati associati e contrassegna lo spazio di archiviazione come utilizzabile per scritture future. Devi stare attento, perché una volta cancellato qualcosa con rm non può più essere recuperato.

Opzioni disponibili per rm

-f,
-vigore
Ignora i file inesistenti e non chiedere mai prima della cancellazione.
-i Chiedi prima della cancellazione.
-I Chiedi una volta prima di eliminare più di tre file o durante l'eliminazione ricorsiva.
–Interattivo[=QUANDO] Domanda secondo QUANDO: mai, una volta (-I) o sempre (-i). sì QUANDO non specificato, chiedi sempre.
–Un file system Quando si elimina una gerarchia in modo ricorsivo, ignora qualsiasi directory che si trova in una directory diversa da quella corrispondente all'argomento della riga di comando.
–No-preserv-root Non tratta la directory root in alcun modo speciale.
–Preserva-root Non rimuove la directory principale, che è il comportamento predefinito.
-r,
-R,
-Ricorsivo
Rimuovere in modo ricorsivo le directory e il loro contenuto.
-d,
–Dir
Elimina le directory vuote. Questa opzione ci consente di rimuovere una directory senza specificare -r / -R / –recursive.
-v,
–Verbose
Modalità dettagliata; Spiega sempre cosa si sta facendo.
-Aiuto Mostra un messaggio di aiuto.
-versione Visualizza le informazioni sulla versione.

Esempi pratici

rm non elimina le directory per impostazione predefinita. Per questo dobbiamo usare le opzioni -r / -R / –recursive. Se una directory è vuota, utilizzare l'opzione n -d / –dir. Se vogliamo rimuovere un file che inizia con un trattino (-), dobbiamo aggiungere un doppio trattino separato (-) prima del nome del file. Se il secondo trattino non viene aggiunto, rm potrebbe interpretare erroneamente il nome del file come opzione. Vale la pena ricordare che l'asterisco (*) significa "tutto ciò che corrisponde", aggiungendo "*". e dietro solo l'asterisco.

Ad esempio, per eliminare il file «-test.txt» dovremmo usare il comando

rm -- -prueba.txt

Quanto sopra sarà nel caso in cui si trovi nella nostra cartella personale. In caso contrario, dovremo aggiungere il percorso completo, che sarebbe qualcosa del tipo:

rm /home/pablinux/Documentos/-file

La differenza tra le due opzioni è che nel secondo caso ha una barra (/) davanti, che rende l'opzione non confusa.

Altri esempi potrebbero essere:

  • rm -f test-txt: cancellerà il file "test.txt" senza chiedere anche se è protetto.
  • rm *: cancellerà tutti i file nella directory in cui ci troviamo dal terminale. Se ha una protezione da scrittura, ce lo chiederà prima di eliminarlo.
  • rm -f *: rimuoverà tutto nella directory senza chiedere.
  • rm -i *- Proverà a eliminare tutti i file in una directory, ma chiederà ogni volta di eliminarne uno.
  • rm -I *: come sopra, ma chiederà conferma solo se ci sono più di tre file.
  • rm -r directory, dove "directory" è specifica: rimuoverà la directory "directory" e tutti i file e le sottodirectory che contiene. Se alcuni file o sottodirectory sono protetti da scrittura, verrà chiesto.
  • directory rm -rf: come sopra, ma non chiederò.

Il comando che non dovresti mai usare: rm -rf /

E finiamo con un comando che possiamo vedere sui social più come uno scherzo che altro. Il comando precedente significa 1- cancella, 2- ricorsivamente il più possibile e 3- inizia con la radice. A causa del modo in cui Linux gestisce le unità, eliminerà anche il contenuto di qualsiasi disco rigido che abbiamo collegato al nostro computer. Se lo usi, non dire che non avevamo avvertito.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Cristian suddetto

    Interessante la precisazione riguardante l'ultimo comando, sapevo che avrei potuto cancellare tutto il contenuto del disco dove si trova il sistema, ma non sapevo che cancellasse anche il contenuto di qualsiasi altro disco che abbiamo collegato!

  2.   JUAN suddetto

    Grazie mille, il tuo post è stato molto utile, ho risolto il mio problema molto facilmente, ma senza di esso non ci sarei riuscito.