Passaggi per rimuovere file o directory ricorsivamente in Linux

Come eliminare file o directory ricorsivamente in Linux

Hai difficoltà a eliminare file e directory in Linux? Leggi questo articolo per scoprire i passaggi per rimuovere ricorsivamente file e cartelle/directory in Linux usando il comando rm.

Scarica | Win Scarica | Mac
100% sicuro e download gratuito
Hai rimosso accidentalmente file importanti su un dispositivo Linux?

Nessun problema. Wondershare Recoverit può recuperare i tuoi file persi in 3 semplici passaggi. Il software definitivo e professionale di recupero dati Linux è totalmente affidabile e 100% sicuro.

Una directory può contenere molte sottodirectory e file al suo interno. Rimuovere tutti i file e le sottodirectory in una cartella può essere necessario quando si lavora con il filesystem Linux. Questo si chiama eliminazione ricorsiva. Usa il comando rm per rimuovere ricorsivamente file o directory (note anche come cartelle in Windows) in Linux. Il comando rmdir rimuove solo le directory vuote. Questa guida presenterà i passaggi perrimuovere ricorsivamente file e directory in Linux.

Parte 1. Come Rimuovere una Directory Ricorsivamente in Linux Usando il Comando rm

Sintesi della sintassi del comando rm per rimuovere directory/cartelle in modo ricorsivo:

Sintassi del Comando
Descrizione
-f Un'opzione potente. Non chiede mai conferma per file inesistenti o argomenti.
-r Rimuove ricorsivamente directory e loro contenuti
-v Output eccessivo
rm -- '-dir1' Rimuove una directory o un file il cui nome inizia con un '-'.
rm ./-dir1 Come sopra
rm -rfv 'dir name here' Metti tra virgolette il nome problematico del file/cartella.
rm -rfv \$dirname1 Come sopra

Su Linux e sistemi simili a Unix, tutto è considerato un file. In altre parole, i "file" includono foto, documenti, directory/cartelle, SSD/hard disk, NIC, dispositivi USB, tastiere, stampanti e comunicazioni di rete.

Esempi di Come Eliminare una Cartella in Modo Ricorsivo

In questo esempio, elimineremo ladatacartella nella directory home corrente in modo ricorsivo:

rm -r /home/vivek/data/

Prima di rimuovere la directory data, la /home/vivek/data/directory sarà svuotata da tutte le sottodirectory, incluse le loro sottodirectory e file. A meno che -f (opzione force) sia specificata dalla linea di comando, verrà richiesto all'utente di rimuovere qualunque file protetto da scrittura nelle directory:

rm -rf dirname-here

Alternativamente, puoi usare il comando seguente:

rm -r -f /path/to/folder/

Per rimuovere una cartella il cui nome inizia con “-,” come “-dsaatia,” usa uno dei seguenti comandi:

rm -rf -- --dsaatia

Puoi anche eseguire il comando:

rm -rf ./--dsaatia

Per visualizzare output dettagliati, possiamo usare l'opzione-v. In altre parole, il comando rm su Linux spiega cosa succede ai nostri file e cartelle. Ad esempio:

rm -rfv /path/to/dir1
rm -r -f -v /home/vivek/oldpartpics

Eliminare Cartelle con Caratteri Unici nel Nome

Le tue cartelle e file possono contenere spazi, punti e virgola, backslash e altri caratteri in Linux. Ad esempio:

ls -l

Supponiamo di avere una cartella chiamata "Our Sales Data" e "baddir#" o "dir2 ;#" al suo interno. Quindi, come si eliminano quelle directory con nomi insoliti? La soluzione è semplice. Metteremo il nome problematico tra virgolette. Ad esempio:

rm 'Our Sales Data'
rm -rfv '/path/to/Dir 1 ;'
rm -r -f -v "baddir#"
rm a\ long \dir1 \name

A volte è necessario mettere un backslash (\) prima del meta-carattere nel nome del file o della cartella:

rm \$dir1

remove a directory or folder recursively

Parte 2. Come Eliminare File Ricorsivamente in Linux Usando il Comando rm

Eliminare Tutti i File Ricorsivamente

Utilizzando il-rflag, il comando rm rimuoverà il contenuto di tutti i tipi di file.

Prima, usando illscomando, vediamo le directory home. In questo esempio, ci sono cinque directory: Desktop, dir2, Documents, Downloads e removerecurdir.

ls ~/

use the ls command

Supponiamo di voler eliminare laremoverecurdire i suoi contenuti, inclusi tutti i file e le sottodirectory. Esegui la sintassi sotto.

rm -r removerecurdir/

L'output di ls mostra che la directory e i suoi contenuti sono stati rimossi con successo.

delete files recursively in linux

Eliminare File in Base alla Dimensione Ricorsivamente

Ecco i passaggi per eliminare ricorsivamente file (<10 MB) using the command find.

Lafindsintassi è la seguente:

find -type f -size - -exec rm {} +

Puoi usaresudoper accedere ai file protetti nell'esempio qui sotto.

sudo find /var/log -type f -size -10M -exec rm {} +

Il segno meno (-) deve essere sostituito con un segno più (+).

find -type f -size + -exec rm {} +

Nel seguente esempio, userò la sintassi precedente per eliminare file più grandi di 1 GB.

find /var/log -type f -size +1G -exec rm {} +

Eliminare File per Estensione Ricorsivamente (Tipo di file)

La seguente sezione descrive come eliminare file ricorsivamente in base all'estensione o al tipo di file.

Controlla il contenuto della directory home, chiamatatesthintcon il comando tree.

tree testhint/

La directory principale testhint contiene un file (file1.txt) e due sottodirectory: testhint2 contiene file3.txt e testhint3 contiene file3 e qualcosa.txt.

parent directory testhint

Supponiamo che tu voglia rimuovere tutti i file txt in modo ricorsivo. La sintassi è la seguente:

find -type f -name '*.' -print -delete

Quindi, esegui questo comando per eliminare tutti i file di testo ricorsivamente all'interno della directory principale testhint.

find ~/testhint -type f -name '*.txt' -print -delete

Tutti i file di testo sono stati eliminati, lasciando solo file3 senza estensione.

tree testhint

remove all txt files recursively

Puoi anche eliminare i file per estensione utilizzando il comando find insieme a exec.

find together with exec commands

La sintassi per rimuovere file per estensione con -exec è la seguente:

find -type f -name '*.' -exec rm -f {} \;

Esegui il comando seguente per eliminare i file .log.

find ~/testhint -type f -name '*.log' -exec rm -f {} \;

Laxargs offre una soluzione simile. La differenza tra xargs ed exec è che exec esegue la funzione rm ogni volta che un file soddisfa la condizione. Il comando xargs esegue il comando rm una volta per ciascun file trovato che soddisfa la condizione.

Per eliminare tutti i file per estensione utilizzando find e xargs, usa la seguente sintassi:

find -name "*." -print0 | xargs -0 rm

remove extension using find and xargs

Inserisci il comando indicato di seguito per eliminare tutti i file .c con xargs.

find . -name "*.c" -print0 | xargs -0 rm

Ancora una volta, i file con l'estensione selezionata sono stati eliminati con successo.

successfully deleted selected extension files

Eliminazione Ricorsiva di Tutti i File In Base ai Permessi

Diamo un'occhiata al nuovo contenuto della directory testhint. Quattro file hanno pieno accesso (file2, file3.c, file6.c e file7).

content in the testhint directory

Supponiamo che tu voglia trovare ed eliminare tutti i file con permessi completi per tutti. La sintassi è la seguente:

find -perm -print0 | xargs -0 rm

Esegui il comando seguente per eliminare tutti i file con pieno accesso per tutti gli utenti.

find ~/testhint -perm 777 -print0 | xargs -0 rm

remove all files based on permissions

Eliminare File Ricorsivamente In Base al Tempo di Modifica o Creazione

Esegui la sintassi seguente:

find ~/testhint -perm 777 -print0 | xargs -0 rm

Se desideri eliminare i file creati o modificati nell'ultimo giorno (ultime 24 ore), usa il seguente comando, dove 1 indica il numero di giorni e il simbolo meno (-) indica i file creati o modificati prima del numero definito di giorni.

find -type f -mtime -1 -delete

Sostituisci il simbolo meno con il simbolo più per eliminare i file creati o modificati prima di un giorno, prima di 24 ore.

find -type f -mtime +1 -delete

Parte 3. Cosa Fare se Hai Eliminato Accidentalmente un File o una Cartella in Linux?

In Linux, eliminare accidentalmente un file o una cartella può essere davvero problematico, ma ci sono azioni che puoi intraprendere per aumentare le possibilità di recupero:

  • Smetti di usare il computer: Per evitare ulteriori perdite di dati, interrompi l'utilizzo del computer immediatamente e evita di scrivere nuovi dati sul disco dove si trovava il file eliminato.
  • Agisci rapidamente: Più aspetti a iniziare il processo di recupero, maggiore è il rischio di perdita permanente dei dati.
  • Crea backup regolarmente: I backup regolari possono assicurarti di avere una copia recente dei tuoi dati importanti in caso di eliminazione accidentale.
  • Mantieni il file system in buone condizioni:La manutenzione regolare del disco, come il controllo degli errori e la loro correzione, può aiutare a mantenere il file system in buone condizioni e facilitare il recupero.

LaI migliori strumenti di recupero dati Linux possono anche aiutarti a recuperare file persi o eliminati. Seguendo questi consigli e usando lo strumento di recupero dati corretto puoi aumentare le probabilità di recuperare i file e le cartelle eliminati in Linux.

Wondershare Recoverit - Il tuo software sicuro e affidabile per il recupero su Linux

5.481.435 persone lo hanno scaricato.

Recupera documenti, foto, video, musica, email e altri 1000+ tipi di file persi o eliminati, in modo efficace, sicuro e completo.

Compatibile con tutte le principali distribuzioni Linux, inclusi Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, ecc.

Assiste in più di 500 scenari di perdita dati, come eliminazione, formattazione disco, crash del sistema operativo, interruzione di corrente, attacco virus, partizione persa e molti altri.

L'interfaccia semplice e intuitiva consente di recuperare dati dai dischi rigidi Linux in pochi clic.

Funziona tramite connessione remota. Puoi recuperare dati persi anche quando il tuo dispositivo Linux è in crash.

Riepilogo

Poiché Linux è un sistema operativo così versatile e adattabile, gli utenti possono utilizzare vari metodi per eliminare file o directory (o cartelle) in modo ricorsivo. Tutte le alternative descritte sopra si applicano quasi a tutte le distribuzioni Linux. Inoltre, se elimini accidentalmente file e cartelle, sono disponibili strumenti di recupero dati per Linux.

Le persone chiedono anche

Le migliori alternative a Recuva per Linux: guida aggiornata 2024

Questo articolo presenta Recuva e le sue limitazioni, offrendo le sue migliori alternative.