Rmdir: errore directory non vuota in Linux | 5 soluzioni
"Come risolvere l'errore "La directory non è vuota" quando si esegue il comando rmdir in uno script batch?"Stack Overflow

L'errore "Rmdir: Directory Non Vuota" è un problema comune nei sistemi Linux. Si verifica quando un utente tenta di rimuovere una directory non vuota su Linux, il che rende impossibile eliminare la directory utilizzando il comando rmdir. Le sezioni sottostanti spiegano come risolvere o aggirare questo errore sui sistemi Linux.

rmdir directory not empty error
Prova Wondershare Recoverit per Recuperare Dati su Linux

article-safe-itemSicurezza Verificata. Oltre 7.302.189 persone lo hanno scaricato.

Metodo 1: Rimuovere una Directory Non Vuota in Linux Usando il Comando rm

La soluzione più semplice è utilizzare rm invece di rmdir. La sintassi di base del comando rm è rm . Se la directory è vuota, il flag "-d" la rimuove. Tuttavia, in caso di directory non vuote, si può usare il flag "-r" per eliminare la directory specificata e il suo contenuto ricorsivamente.

  • Ad esempio, considera quanto segue: rm -r directory
  • Per forzare l'eliminazione di una directory, usa il flag -f come segue: rm -rf directory
  • Se il percorso o il nome della directory contiene spazi, racchiudilo tra virgolette: rm -rf “directory”
  • Per risolvere eventuali problemi di permessi, usa sudo: sudo rm -rf directory
  • Infine, evita di utilizzare sudo rm -rf /, che eliminerà il contenuto della directory root, cioè di tutti i filesystem montati.

Metodo 2: Eliminare Directory Non Vuota in Linux Usando il File Browser

Quando l'interfaccia grafica fallisce, ricorriamo alla riga di comando. Per quanto possa sembrare strano, in questo caso è esattamente il contrario. Molti utenti hanno segnalato che eliminare la cartella tramite il File Browser ha funzionato. Vale la pena provarci prima di passare ad altre opzioni.

  1. Accedi al File Browser e trova la directory che vuoi eliminare. Fai clic con il tasto destro sul file e scegli Elimina.
    delete the directory not empty
  2. Conferma che il file sia stato eliminato. Il file ora è stato rimosso dal server.
select format

Metodo 3: Risolvere l'Errore Rmdir: Directory Non Vuota in Linux Controllando il File System

Gli errori nel file system sono una causa comune di problemi di eliminazione file e altro. Per questo motivo, lo strumento FSCK (File System Consistency Check) può essere utile. Le azioni da svolgere sono descritte di seguito:

  1. Nota il file system su cui vuoi eseguire fsck con questo comando: df -h
  2. Considera /dev/sda4 come esempio. Per smontarlo, usa questo comando: sudo umount /dev/sda4 Dovrai utilizzare un live CD per smontarlo se è un filesystem root.
  3. Poi esegui il seguente comando: sudo fsck /dev/sda4 Segui le istruzioni a schermo per verificare le azioni di ripristino.
  4. Dopo la riparazione, inserisci questo comando per rimontare il dispositivo e vedere se il problema è stato risolto: sudo mount /dev/sda4

Metodo 4: Rimuovere una Directory Non Vuota dal File Server

Ci sono stati casi in cui la directory non poteva essere eliminata perché faceva parte di un filesystem montato CIFS (Samba). Non veniva menzionato un file perché era un collegamento simbolico interrotto. Non potevi vedere questo tramite CIFS, quindi potresti pensare che la directory sia vuota. In questi casi, devi eliminare il file direttamente dal file server.

Metodo 5: Risolvere l'Errore Rmdir: Directory Non Vuota in Linux Chiudendo l'Applicazione Node

Alcuni utenti hanno segnalato casi in cui la directory era aperta in un'app node.js oppure un server node accedeva periodicamente ai file nella directory, portando alla presenza costante di piccoli file meta all'interno della directory. In questi casi, chiudere l'applicazione o il server che al momento accede alla directory risolverebbe il problema.

  1. Un'applicazione Node.js può essere chiusa in vari modi. Se l'applicazione è in esecuzione in una console, puoi chiuderla premendo CTRL + C. Tuttavia, per terminare un'applicazione Node.js a livello di codice, usa il process modulo exit() metodo. (L'oggetto process è un modulo integrato che contiene informazioni sul processo Node.js in esecuzione. Inoltre, consente di gestire il processo Node.js corrente dall'interno dell'applicazione.)

    process.exit([code]);
  2. Il process.exit() metodo istruisce Node.js a terminare il processo immediatamente. Qualsiasi callback in sospeso, richieste di rete ancora in corso, richieste database in corso o accessi al filesystem verranno terminati bruscamente. Puoi anche inserire un process.exit() valore intero per inviare un codice di uscita al sistema operativo:

    process.exit(5)
  3. Il codice di uscita è impostato su 0, che indica successo per impostazione predefinita. Il codice di uscita 5 indica un "Errore Fatale", segnalando che Node.js ha incontrato un errore non recuperabile. Ogni codice di uscita ha un significato specifico che puoi usare nella tua applicazione per informare il sistema operativo del motivo della terminazione.
  4. In alternativa puoi anche usare la proprietà process.exitCode per impostare il codice di uscita:

    process.exitCode = 5
  5. Se preferisci terminare il processo in modo sicuro, devi inviare un segnale SIGTERM al processo e poi usare il gestore eventi process per rilevare questo evento. Ecco un esempio di server HTTP Node.js che attende l'evento SIGTERM per chiudersi correttamente:

    const express = require('express')
    const app = express()

    app.get('/', (req, res) => {
    res.send('Hello world!')
    })

    const server = app.listen(3500, () => console.log(`Server started!`))

    process.on('SIGTERM', () => {
    server.close(() => console.log(`Server closed!`))
    })
  6. Per inviare un segnale SIGTERM al processo Node.js corrente, utilizza il metodo process.kill():

    process.kill(process.pid, "SIGTERM");

[Bonus] Cosa Fare se Hai Eliminato per Sbaglio una Directory Non Vuota in Linux?

Eliminare accidentalmente una directory non vuota in Linux può essere frustrante e farti perdere tempo. Per fortuna, esistono strumenti per aiutarti a recuperare i dati eliminati in Linux, incluso Wondershare Recoverit Linux Recovery.

Recoverit Linux Recovery è uno strumento potente di recupero dati specificamente pensato per sistemi Linux. I suoi algoritmi avanzati e l'interfaccia intuitiva rendono Recoverit facile per recuperare file e cartelle cancellati su Linux. Le sue principali funzionalità includono:

Download Gratuito
Download Gratuito

Wondershare Recoverit semplifica il recupero dati su Linux. In tre semplici passaggi, puoi recuperare i tuoi dati.

  1. Avvia il software Wondershare Recoverit sul tuo dispositivo Linux. Poi scegli le opzioni NAS e Linux dal lato sinistro dell'interfaccia principale. Clicca su Linux Recovery per continuare.
    select the external device
  2. Vedrai apparire una nuova finestra come nell'immagine sotto. Per creare una connessione remota, inserisci i dati necessari. Clicca sul pulsante blu Connetti una volta terminato.
    recover files
  3. Recoverit avvierà una scansione automatica per cercare i dati persi sul tuo computer Linux mentre attendi che la connessione venga stabilita.
  4. A seconda della quantità di dati da analizzare, la procedura di scansione può richiedere un po' di tempo; la barra in basso mostra lo stato della scansione. La migliora caratteristica di Recoverit è la possibilità di fermare la scansione non appena trovi il file che vuoi recuperare.
    photo preview
  5. Recoverit ti consente di esaminare i file al termine della scansione per assicurarti che siano quelli che desideri recuperare. Per salvare la directory eliminata dal tuo computer Linux, seleziona Recupera ora.
    photo preview
  6. Il software ti chiederà dove salvare i file recuperati sul tuo dispositivo. Clicca Recupera per ottenere i dati recuperati.
    photo preview

Video Tutorial su Come Recuperare Dati da Linux

Se leggere le istruzioni di recupero ti mette in difficoltà, ecco un video tutorial che puoi guardare.

Wondershare Recoverit – Leader nel Recupero Dati

  • Recupera efficacemente, in modo sicuro e completo documenti, foto, video, musica, email e altri oltre 1000 tipi di file persi o cancellati.
  • Compatibile con tutte le principali distribuzioni Linux, inclusi Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, ecc.
  • Assiste in oltre 500 scenari di perdita dati, come cancellazione, formattazione disco, crash del sistema operativo, blackout, attacco virus, partizione persa e molto altro.
  • La semplice interfaccia point-and-click consente di recuperare i dati dai dischi rigidi Linux in pochi clic.
  • Funziona tramite una connessione remota. Puoi recuperare i dati persi anche quando il tuo dispositivo Linux si arresta.
Download Gratuito
Download Gratuito

conclusione

Quando il comando "rmdir" viene utilizzato per eliminare le directory non vuote, l'errore "Rimuovi la Directory non vuota"si verifica. Questo post spiega perché si verifica l'errore" Rimuovi directory non vuoto "e come risolverlo. Vari esempi di rimozione di directory non vuote sono anche mostrati per chiarezza. E se hai erroneamente eliminato una directory non vuota in Linux, Recoverit Linux Recovery verrà a salvare la tua giornata. Scaricalo ora!

Domande frequenti

  • Perché ricevo l'errore "Rmdir: Directory Not Empty"?
    Questo errore si verifica quando si tenta di eliminare una cartella (rmdir o rd) che contiene ancora:

    File/sottodirectory nascosti.
    File di sistema (ad es. Thumbs.db,. DS_Store)
    File bloccati/in uso.
    File con autorizzazioni che impediscono la cancellazione.
  • Come faccio a eliminare con la forza una directory non vuota in Windows?
    Utilizzare il Prompt di comando con i seguenti metodi:

    1. rmdir/s/q "cartella_nome"
    (/s rimuove tutte le sottocartelle/file; /q funziona in modalità "silenziosa" (nessuna conferma).

    2. del/f/q "nome_cartella\*" && rmdir/q "nome_cartella"
    Elimina prima i file, poi la cartella.
  • Come risolvere l'errore "Rmdir: Directory Not Empty" in Linux/macOS?
    Utilizzare invece il comando rm:

    rm-rf "directory_name"
Alex Nappi
Alex Nappi 28/05/2026
Condividi: