Come correggere l’errore “Rmdir: directory non vuota” in Linux

Il comando rmdir viene utilizzato per rimuovere le directory vuote. Se tenti di rimuovere una directory non vuota con questo comando, riscontrerai l’errore Rmdir Directory Not Empty .

Questo è un comportamento previsto, ma alcuni utenti hanno segnalato casi in cui hanno riscontrato questo errore nonostante l’utilizzo rmdir su una directory vuota. Ciò accade a causa di motivi come errori del file system o collegamenti simbolici interrotti.

Abbiamo dettagliato vari modi per risolvere o aggirare questo errore su entrambi i sistemi Linux e Windows nelle sezioni seguenti.

Se volete continuare a leggere questo post su "[page_title]" cliccate sul pulsante "Mostra tutti" e potrete leggere il resto del contenuto gratuitamente. ebstomasborba.pt è un sito specializzato in Tecnologia, Notizie, Giochi e molti altri argomenti che potrebbero interessarvi. Se desiderate leggere altre informazioni simili a [page_title], continuate a navigare sul web e iscrivetevi alle notifiche del blog per non perdere le ultime novità.

Seguir leyendo


Sommario

Correggi l’errore Rmdir Directory Not Empty su Linux

La soluzione più semplice è utilizzare il comando rm invece di rmdir . Se questa soluzione alternativa non ti piace, o anche il comando rm non funziona, il resto delle soluzioni sarà utile.

Usa il comando rm

La sintassi di base per il comando rm è rm . Il flag -d rimuove la directory se è vuota. Ma nel caso di directory non vuote, puoi utilizzare il flag -r per eliminare in modo ricorsivo la directory specificata e il suo contenuto.

  • Ad esempio, ecco un esempio di base:
    rm -r directory
  • Per forzare l’eliminazione di una directory, aggiungi il flag -f come tale:
    rm -rf directory
  • Se il percorso o il nome della directory contiene spazi, utilizzare le virgolette “” come tali:
    rm -rf “directory”
  • Aggiungi sudo per risolvere eventuali problemi di autorizzazione in quanto tali:
    sudo rm -rf directory

Infine, assicurati di non utilizzare sudo rm -rf / in quanto ciò causerebbe l’eliminazione del contenuto della directory principale, ovvero di ogni filesystem montato.

Elimina tramite GUI

Quando le cose non funzionano nella GUI, passiamo alla riga di comando. Per quanto insolito possa sembrare, le cose sono l’opposto in questo caso. Numerosi utenti hanno segnalato che l’eliminazione della cartella tramite il File Browser ha funzionato per loro. Vale la pena provarlo prima di verificare le altre soluzioni.

Controlla il file system

Gli errori del file system sono un motivo comune per l’eliminazione dei file e problemi simili. Pertanto, l’utilizzo dell’utilità fsck (File System Consistency Check) può essere utile. Ecco i passaggi necessari per questo:

  1. Usa il comando df -h e prendi nota del file system su cui vuoi eseguire fsck .
  2. Prendiamo /dev/sda4 come esempio. Utilizzare il comando sudo umount /dev/sda4 per smontarlo. Se si tratta di un filesystem root, dovrai eseguire l’avvio da un CD live per poterlo smontare.
  3. Successivamente, usa sudo fsck /dev/sda4 e accetta le richieste per approvare le azioni di riparazione.
  4. Al termine della riparazione, utilizzare il comando sudo mount /dev/sda4 per rimontare il dispositivo e verificare se il problema è stato risolto ora.

Elimina dal file server

Ci sono stati casi in cui non è stato possibile eliminare la directory perché faceva parte di un filesystem montato con CIFS (Samba). Poiché c’era un file che era un collegamento simbolico interrotto, non ne ha parlato.

Su CIFS, non saresti in grado di vederlo e quindi potresti presumere erroneamente che la directory sia vuota. In tali casi, sarà necessario eliminare il file direttamente dal file server.

Correzioni dei nodi

Gli utenti hanno segnalato casi in cui la directory era aperta in un’app node.js o in cui un server del nodo accedeva periodicamente ai file nella directory, causando l’esistenza costante di metafile minori all’interno della directory.

In tali casi, la chiusura dell’applicazione o del server che sta accedendo alla directory in questo momento risolverà il problema.

Correggi la directory Rmdir non vuota su Windows

Sebbene l’applicazione sia leggermente diversa, l’idea alla base della correzione di questo errore su Windows è molto simile ai metodi elencati per Linux.

Risolvi problemi comuni

Innanzitutto, assicurati che nessun processo stia attualmente accedendo alla directory . Inoltre, assicurati di non provare a eliminare la directory in cui ti trovi attualmente, poiché ciò richiederebbe anche questo errore. In questi casi, passare a una directory diversa prima di provare.

L’utilizzo dell’utilità CHKDSK per risolvere eventuali problemi del file system ha risolto questo errore per numerosi errori. Puoi fare lo stesso con il comando chkdsk /f /r /x .

Risolvere l’errore

Il flag /s di Rmdir ha lo scopo di consentire di eliminare la directory specificata e tutte le sottodirectory e i file. Puoi provare un paio di cose nei casi in cui non funziona come previsto.

È possibile eliminare il contenuto della directory prima di eliminare la directory stessa come tale:

 del /f /s /q directory 1>nulrmdir /s /q directory

In alternativa, puoi anche provare a ripetere l’operazione come mostrato di seguito. Supponendo che non ci siano problemi di autorizzazione, dovresti essere in grado di eliminare la directory :

 rmdir /s /qc:directory
if exist c:directory rmdir /s /qc:directory