Puede obtener un mensaje similar a “rmdir: 'dir': Directorio no vacío 'si intenta eliminar un directorio usando un comando como rmdir y no puede eliminar el directorio. Debe comparar "mydir" con el nombre del directorio en la ilustración anterior. La ejecución de la orden eliminará todos los archivos y subdirectorios del directorio de forma recíproca. también puede consultar Cómo cambiar el nombre de archivos en Linux .

Cómo eliminar archivos y directorios en Linux

    Para eliminar (o eliminar) un archivo en Linux desde la línea de comandos, use el comando rm (eliminar) o unlink .

    El unlinkcomando le permite eliminar solo un archivo, mientras que con rm puede eliminar varios archivos a la vez.

    Tenga mucho cuidado al eliminar archivos o directorios, porque una vez que se elimina el archivo, no se puede recuperar fácilmente.

    • Para eliminar un solo archivo, use el  comandorm o unlinkun comando seguido del nombre del archivo:
      unlink filename
      rm filename

      Si el archivo está protegido contra escritura, se le pedirá confirmación, como se muestra a continuación. Para eliminar el tipo de archivo y y presione EnterDe lo contrario, si el archivo no está protegido contra escritura, se eliminará sin preguntar.

       
      rm: remove write-protected regular empty file 'filename'?
    • Para eliminar varios archivos a la vez, use el rmcomando a seguido de los nombres de los archivos separados por un espacio.
    • rm filename1 filename2 filename3

      También puede utilizar un comodín (*) y expansiones regulares para hacer coincidir varios archivos. Por ejemplo, para eliminar todos los .pdf archivos del directorio actual, utilice el siguiente comando:

      rm *.pdf

      Cuando utilice expansiones regulares, primero enumere los archivos con el ls comando para que pueda ver qué archivos se eliminarán antes de ejecutar el rm comando.

    • Utilice rm con la -i opción para confirmar cada archivo antes de eliminarlo:
      rm -i filename(s)
    • Para eliminar archivos sin preguntar, incluso si los archivos están protegidos contra escritura, pase la -f opción (forzar) al rm comando:
      rm -f filename(s)
    • También puede combinar rm opciones. Por ejemplo, para eliminar todos los .txt archivos en el directorio actual sin un mensaje en modo detallado, use el siguiente comando:

      rm -fv *.txt

    Cómo eliminar directorios (carpetas)

    En Linux, puede eliminar / eliminar directorios con rmdir y rm.

    rmdir es una utilidad de línea de comandos para eliminar directorios vacíos, mientras rm que puede eliminar directorios y su contenido de forma recursiva.

    • Para eliminar un directorio vacío, use rmdir o rm -d seguido del nombre del directorio:
      rm -d dirname
      rmdir dirname
    • Para eliminar directorios no vacíos y todos los archivos dentro de ellos, use el rm comando con la-r opción (recursiva):
      rm -r dirname

      Si un directorio o un archivo dentro del directorio está protegido contra escritura, se le pedirá que confirme la eliminación.

    • Para eliminar directorios que no estén vacíos y todos los archivos sin que se le solicite, use rm con las   opciones-r (recursivo) y -f:
      rm -rf dirname
    • Para eliminar varios directorios a la vez, utilice el rm -rcomando a seguido de los nombres de los directorios separados por un espacio.
      rm -r dirname1 dirname2 dirname3

      Al igual que con los archivos, también puede usar un comodín (*) y expansiones regulares para hacer coincidir varios directorios.

     

    Cómo quitar (eliminar) el directorio en Linux

    Dentro de los sistemas Linux, existen diferentes formas de eliminar directorios. Eliminará archivos y carpetas usando la interfaz gráfica de usuario del sistema si usa el administrador de archivos de Windows, como Archivos de Gnome o Dolphin de KDE. Pero puede desinstalar directorios (carpetas) desde la línea de comandos si está ejecutando en un servidor sin cabeza o si desea deshabilitar varios directorios a la vez.

    eliminar directorio linux

    Debemos aclarar en este artículo cómo desinstalar archivos de Linux usando rmdir, rm y los comandos de búsqueda.

    Antes de que empieces

    En realidad, el directorio se mueve a la Papelera cada vez que elimina un directorio utilizando un método de administración de archivos móvil.

    Tenga mucho cuidado al eliminar archivos o carpetas de la línea de comandos, ya que el directorio no se puede restaurar por completo después de que se haya eliminado utilizando los comandos mencionados en este artículo.

    La eliminación de un directorio incluye una autorización escrita en la salida del directorio en la mayoría de los sistemas de archivos de Linux. De lo contrario, recibirá el error "Operación no permitida".

    Los nombres de directorio con un espacio en ellos deben escaparse con una barra invertida (/).

    Eliminar directorios con rmdir

    rmdir es una utilidad de línea de comandos para eliminar directorios vacíos. Es útil cuando desea eliminar un directorio solo si está vacío, sin necesidad de verificar si el directorio está vacío o no.

    Para eliminar un directorio con rmdir, escriba el comando seguido del nombre del directorio que desea eliminar. Por ejemplo, para eliminar un directorio llamado dir1 , debe escribir:

    rmdir dir1

    Si el directorio no está vacío, obtendrá el siguiente error:

    rmdir: failed to remove 'dir1': No such file or directory
    

    En este caso, deberá utilizar el rm comando o eliminar manualmente el contenido del directorio antes de poder eliminarlo.

    Eliminar directorios con rm

    rm es una utilidad de línea de comandos para eliminar archivos y directorios. A diferencia rmdir del rmcomando a, se pueden eliminar directorios vacíos y no vacíos.

    De forma predeterminada, cuando se usa sin ninguna opción rm , no elimina directorios. Para eliminar un directorio vacío, use la  opción-d (--dir) y para eliminar un directorio que no esté vacío, y todo su contenido use la  opción-r (--recursive o -R).

    Por ejemplo, para eliminar un directorio nombrado dir1 junto con todo su contenido, debe escribir:

    rm -r dir1

    Si un directorio o un archivo dentro del directorio está protegido contra escritura, se le pedirá que confirme la eliminación. Para eliminar un directorio sin que se le solicite, use la -f opción:

    rm -rf dir1

    Para eliminar varios directorios a la vez, invoque el rm comando, seguido de los nombres de los directorios separados por un espacio. El siguiente comando eliminará todos los directorios enumerados y su contenido:

    rm -r dir1 dir2 dir3

    La -i opción le indicarm que le  solicite que confirme la eliminación de cada subdirectorio y archivo. Si el directorio contiene muchos archivos, esto puede ser un poco molesto, por lo que puede considerar usar la -I opción que le preguntará solo una vez antes de continuar con la eliminación.

    rm -rI dir1

    Para eliminar el directorio, escriba y y presione Enter.

    rm: remove 1 argument recursively? y
    

    También puede utilizar expansiones regulares para hacer coincidir y eliminar varios directorios. Por ejemplo, para eliminar todos los directorios de primer nivel en el directorio actual que termina con _bak, usaría el siguiente comando:

    rm -r *_bak

    El uso de expansiones regulares al eliminar directorios puede ser arriesgado. Se recomienda primero enumerar los directorios con el ls comando para que pueda ver qué directorios se eliminarán antes de ejecutar el rm comando.

    Eliminar directorios con find

    find es una utilidad de línea de comandos que le permite buscar archivos y directorios en función de una expresión determinada y realizar una acción en cada archivo o directorio coincidente.

    El escenario más común es usar el find comando para eliminar directorios según un patrón. Por ejemplo, para eliminar todos los directorios que terminan con _cache en el directorio de trabajo actual, ejecutaría:

    find . -type d -name '*_cache' -exec rm -r {} +

    Analicemos el comando anterior:

    • /dir - buscar de forma recursiva en el directorio de trabajo actual (.).
    • -type d - restringe la búsqueda a directorios.
    • -name '*_cache' - buscar solo directorios que terminen con _cache
    • -exec - ejecuta un comando externo con argumentos opcionales, en este caso, es decir rm -r.
    • {} + : Agrega los archivos encontrados al final del rm comando.

    Eliminar todos los directorios vacíos

    Para eliminar todos los directorios vacíos en un árbol de directorios, ejecutaría:

    find /dir -type d -empty -delete

    Aquí hay una explicación de las opciones utilizadas:

    • /dir - búsqueda recursiva en el /dir directorio.
    • -type d - restringe la búsqueda a directorios.
    • -empty : Restringe la búsqueda solo a directorios vacíos.
    • -delete : Elimina todos los directorios vacíos encontrados en el subárbol. -delete solo puede eliminar directorios vacíos.

    Utilice la -delete opción con extrema precaución. La línea de comando de búsqueda se evalúa como una expresión y, si agrega la -delete opción primero, el comando eliminará todo lo que se encuentre debajo de los puntos de inicio que especificó.

    Siempre pruebe primero el comando sin la -delete opción y utilícelo -delete como última opción.

    / bin / rm: lista de argumentos demasiado larga

    Este mensaje de error aparece cuando usa el rm comando para eliminar un directorio que contiene una gran cantidad de archivos. Esto sucede porque la cantidad de archivos es mayor que el límite del sistema en el tamaño del argumento de la línea de comando.

    Hay varias soluciones diferentes a este problema. Por ejemplo, puede cd acceder al directorio y manualmente o mediante un bucle para eliminar los subdirectorios uno por uno.

    La solución más fácil es primero eliminar todos los archivos dentro del directorio con el find comando y luego eliminar el directorio:

    find /dir -type f -delete && rm -r /dir

    Conclusión

    Ahora usted debe tener una buena comprensión de cómo utilizar el Linux rmrmdir y unlinklos comandos y usted debería ser capaz de eliminar de forma segura archivos y directorios desde la línea de comandos. Con rm y findpuede eliminar directorios en función de diferentes criterios de forma rápida y eficiente. Eliminar directorios es un proceso simple y fácil, pero debe tener cuidado de no eliminar datos importantes.