1 votos

¿Borrar un directorio vacío con File's Ghosts?

Estoy tratando de eliminar un montón de directorios que aparecen vacíos

    amr@MacBook ~/folders> ls -la -R
total 24
drwxrwxrwx   6 amr  staff    192 Mar  9 14:37 .
drwx---r-x+ 40 amr  staff   1280 Mar  9 14:12 ..
-rw-r--r--@  1 amr  staff  10244 Mar  9 14:37 .DS_Store
drwxrwxrwx@  5 amr  staff    160 Feb 27 19:06 a
drwxrwxrwx@  5 amr  staff    160 Mar  9 14:01 b
drwxrwxrwx@  3 amr  staff     96 Feb 27 19:00 f

./a:
total 0
drwxrwxrwx@ 5 amr  staff  160 Feb 27 19:06 .
drwxrwxrwx  6 amr  staff  192 Mar  9 14:37 ..

./b:
total 0
drwxrwxrwx@ 5 amr  staff  160 Mar  9 14:01 .
drwxrwxrwx  6 amr  staff  192 Mar  9 14:37 ..

./f:
total 0
drwxrwxrwx@ 3 amr  staff   96 Feb 27 19:00 .
drwxrwxrwx  6 amr  staff  192 Mar  9 14:37 ..

amr@MacBook ~/folders> rm -r a b f
rm: a: Directory not empty
rm: b: Directory not empty
rm: f: Directory not empty
amr@MacBook ~/folders> rmdir *
rmdir: a: Directory not empty
rmdir: b: Directory not empty
rmdir: f: Directory not empty

con todas las formas posibles que pude encontrar como este , arranque en recovery y probando desde ahi , intente mv a USB y formatearlo con no me gusto tampoco y me salia el mismo mensaje "Directory not empty" hasta que encontre este Python script

import os, stat, shutil

   def remove_readonly(fn, path, excinfo):
#removes readonly tag from files/folders so they can be deleted
if fn is os.rmdir:
    os.chmod(path, stat.S_IWRITE)
    os.rmdir(path)
elif fn is os.remove:
    os.chmod(path, stat.S_IWRITE)
    os.remove(path)

shutil.rmtree('/Users/amr/folders/'',
          onerror=remove_readonly)

que me dio una nueva salida

OSError: [Errno 2] No such file or directory: 'folders/a/0c26d4c3daf0b26cd91366caf1df3eca0bad5611e9742a0f8b409d6b80fc6a53--pixman-0.38.0.mojave.bottle.tar.gz'

otro directorio

OSError: [Errno 2] No such file or directory: 'folders/b/libpixman-1.dylib'

la cosa es que esos archivos ya los borre manualmente cuando intente arreglar brew pero no pude borrar el directorio vacio

Actualización : Parece que de alguna manera he eliminado los archivos, pero no es atributo extendido y cuando trato de carpeta eliminada que trata de eliminar los archivos con su atributo, pero se encontró el atributo, pero no el archivo

sudo xattr -rc *
Password:
xattr: No such file: a/784a181552c10546bdab9595d963a36fa65d6e17cc04609285349cb81be623b9--harfbuzz-2.3.1.mojave.bottle.tar.gz.incomplete.lock
xattr: No such file: a/pixman.formula.lock
xattr: No such file: a/0c26d4c3daf0b26cd91366caf1df3eca0bad5611e9742a0f8b409d6b80fc6a53--pixman-0.38.0.mojave.bottle.tar.gz.incomplete.lock
xattr: No such file: b/libpixman-1.dylib
xattr: No such file: b/libpixman-1.a
xattr: No such file: b/libpixman-1.0.dylib
xattr: No such file: f/pixman

1 votos

Para borrar un archivo necesita permiso de escritura en el directorio, no en el archivo. Para depurar código necesitamos un ejemplo reproducabke es el código completo. Y para el código que pasa en una función a continuación, dividir a llamar a esa función no es un buen estilo. Por último, las preguntas de programación son para desbordamiento de pila, pero primero lea es faq y cómo hacer una pregunta, ya que esto falla de muchas maneras.

0 votos

Si quieres ayuda con la eliminación de archivos/directorios invisibles, por favor añade algunos detalles sobre el directorio, sus permisos, los mensajes de error que recibes, etc. Si quieres ayuda para depurar el código, por favor comenta o marca, entonces podemos mover la pregunta a StackOverflow.

0 votos

@Mark Depurar el código no es mi objetivo aquí, sólo lo usé con la esperanza de que va a arreglar mi problema, lo incluí porque me mostró nueva salida que nunca he visto antes, que es el "fantasma" de los archivos no existentes dentro de esta carpeta, esto es principalmente MacOS problema relacionado, no hay lógica para publicarlo en desbordamiento de pila Por último actualizado la pregunta con los permisos de carpetas y su contenido y la exacta Python script que utiliza, espero que me pueda ayudar

1voto

john Puntos 11

Mueve la carpeta a la papelera. Abre la papelera y haz clic con el botón derecho en la carpeta. Deberías ver una opción para "eliminar inmediatamente". Selecciona esa opción y la carpeta se eliminará.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X