Ces deux fichiers sont des artefacts de bureau 2011 qui empêchent l'enlèvement du répertoire "contenus". Comment puis-je les supprimer?
sh-3.2# ls -l -a
total 21496
drwx------+ 15 Beef staff 480 Jan 14 23:32 .
drwxr-xr-x+ 19 Beef staff 608 Jan 14 23:40 ..
-rw-r--r--@ 1 Beef staff 10244 Jan 10 10:36 .DS_Store
-rw-r--r-- 1 Beef staff 0 Dec 25 23:13 .localized
drwxrwxrwx 47 Beef staff 1504 Jan 2 00:01 CSC119 - 1228
drwxrwxrwx 7 Beef staff 224 Jan 1 22:50 Chris 1228
drwxrwxr-x@ 3 Beef staff 96 Aug 25 2010 Contents
drwxrwxrwx@ 5 Beef staff 1
sh-3.2# cd Contents
sh-3.2# ls -l -a
total 0
drwxrwxr-x@ 3 Beef staff 96 Aug 25 2010 .
drwx------+ 15 Beef staff 480 Jan 14 23:32 ..
Spécifiquement les celles-ci ci-dessus "." et '..' fichiers dans le contenu du contenu. J'utilise une coquille bash sur mon terminal Mac. Je suis en racine.
Merci!
sh-3.2# ls -a -l
total 21496
drwx------+ 15 Beef staff 480 Jan 14 23:32 .
drwxr-xr-x+ 19 Beef staff 608 Jan 15 00:19 ..
-rw-r--r--@ 1 Beef staff 10244 Jan 10 10:36 .DS_Store
-rw-r--r-- 1 Beef staff 0 Dec 25 23:13 .localized
drwxrwxrwx 47 Beef staff 1504 Jan 2 00:01 CSC119 - 1228
drwxrwxrwx 7 Beef staff 224 Jan 1 22:50 Chris 1228
drwxrwxr-x@ 3 Beef staff 96 Aug 25 2010 Contents
drwxrwxrwx@ 5 Beef staff 160 Dec 28 12:09 Lily 1228
drwxrwxrwx 29 Beef staff 928 Jan 3 21:48 Old Dell Laptop
lrwxr-xr-x 1 Beef staff 29 Dec 26 02:51 Relocated Items -> /Users/Shared/Relocated Items
-rwxrwxrwx@ 1 Beef staff 1554944 Jan 8 2019 SanDisk Flashback.pdf
drwxrwxrwx 4 Beef staff 128 Jan 8 2019 SanDiskSecureAccess
-rwxrwxrwx 1 Beef staff 8600360 Nov 4 2016 SanDiskSecureAccessV3.01_win.exe
drwxr-xr-x@ 9 Beef staff 288 Jan 10 11:41 Scanned Docs
drwxrwxrwx 4 Beef staff 128 Dec 19 10:04 google
sh-3.2# rmdir Contents
rmdir: Contents: Directory not empty
sh-3.2# rmdir -p Contents
rmdir: Contents: Directory not empty
Comment puis-je me débarrasser de ce dir?
sh-3.2# ls -a -l
total 21496
drwx------+ 15 Beef staff 480 Jan 14 23:32 .
drwxr-xr-x+ 19 Beef staff 608 Jan 15 00:19 ..
-rw-r--r--@ 1 Beef staff 10244 Jan 10 10:36 .DS_Store
-rw-r--r-- 1 Beef staff 0 Dec 25 23:13 .localized
drwxrwxrwx 47 Beef staff 1504 Jan 2 00:01 CSC119 - 1228
drwxrwxrwx 7 Beef staff 224 Jan 1 22:50 Chris 1228
drwxrwxr-x@ 3 Beef staff 96 Aug 25 2010 Contents
drwxrwxrwx@ 5 Beef staff 160 Dec 28 12:09 Lily 1228
drwxrwxrwx 29 Beef staff 928 Jan 3 21:48 Old Dell Laptop
lrwxr-xr-x 1 Beef staff 29 Dec 26 02:51 Relocated Items -> /Users/Shared/Relocated Items
-rwxrwxrwx@ 1 Beef staff 1554944 Jan 8 2019 SanDisk Flashback.pdf
drwxrwxrwx 4 Beef staff 128 Jan 8 2019 SanDiskSecureAccess
-rwxrwxrwx 1 Beef staff 8600360 Nov 4 2016 SanDiskSecureAccessV3.01_win.exe
drwxr-xr-x@ 9 Beef staff 288 Jan 10 11:41 Scanned Docs
drwxrwxrwx 4 Beef staff 128 Dec 19 10:04 google
sh-3.2# Sudo rm -r -f Contents
rm: Contents: Directory not empty
Il ne supprimera toujours pas.
Votre annuaire semble vide, mais la sortie ls
indique qu'il est Un fichier de là puisque le décompte de lien pour le répertoire est de 3 au lieu de 2 (un répertoire vide sur un système de fichiers APFS doit avoir un nombre de liaison de 2).
Cela implique que votre système de fichiers a réussi à se mettre dans un état incohérent et que vous devriez probablement exécuter fsck
dessus. Sur MacOS, cela se fait en exécutant les premiers secours sur le disque via l'application "Utilitaire de disque". Si le problème est avec votre disque de démarrage principal (souvent appelé "Macintosh HD", au moins par défaut), vous devez le faire à partir du mode de récupération.
Si ceci est le même problème que j'ai rencontré , alors ce sera le plus probable être résolu par de la première fois à vous assurer que vous êtes sur Une version récente de MacOS (quelque part en mars 2019) avant d'exécuter les premiers soins sur le disque en mode de récupération.
Vous entrez en mode de récupération en appuyant sur Cmd+R Dès que vous redémarrez la machine. Une fois en mode de récupération, vous recevrez la possibilité d'exécuter "Utilitaire de disque" à partir d'un menu.
Les entrées de répertoire .
Et ..
Sont un artefact du début des années 1970, lorsque UNIX a fonctionné sur des machines minuscules et un code nécessaire pour être minuscules.
Donc, les gens ont créé de vrais hardlinks vers des répertoires nommés .
Et ..
. Cette mauvaise idée fait que le nombre de liaisons durs d'un répertoire vide soit 2.
Aujourd'hui, ceci est un non-sens et la définition de POSIX depuis 1988 est que ces entrées n'ont pas besoin d'exister. Leur comportement doit juste être émulé. Cela signifie que si .
Ou ..
Apparaît dans un nom de chemin, le système de fichiers doit simplement se comporter de bonne manière.
Les systèmes de fichiers modernes n'ont pas de .
Ou ..
Entrées dans des répertoires et ne pas avoir de comptage de liaison dur de 2 pour un répertoire vide.
ZFS est mis en œuvre de cette façon, mais prétend le comportement historique pour éviter les programmes mal écrits. Donc, ZFS délivre .
Et ..
Avec readdir()
même si ces entrées n'existent pas.
Que vous soyez sur un système de fichiers moderne ou un système de fichiers historique, vous ne pouvez pas supprimer ces entrées.
Maintenant, à votre lien compte 2 ....
Sur un système de fichiers historique, le système d'exploitation estime généralement qu'un répertoire avec un compte de liaison> 2 comporte des sous-répertoires et ne peut donc pas être supprimé.
Si le compte de lien dans votre répertoire n'est pas le résultat d'un "répertoire d'attributs" masqué pour les fichiers d'attributs étendus répertoriés, cela doit être le résultat d'un bogue dans le système de fichiers.
Si votre système d'exploitation ne permet pas de supprimer ce répertoire à l'aide du programme unlink
au lieu de rm
, tout en étant root
, vous devez exécuter fsck
.
Essayez de redémarrer. Il se peut que vous ayez un processus qui a toujours un fichier supprimé ouvert dans Contents
répertoire. Un redémarrage publiera le fichier et vous pourrez supprimer le répertoire.