BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Leere Verzeichnisse und alte Symlinks löschen

Mit der Zeit können sich auf einem System leere Verzeichnisse und symbolische Links, die auf nicht mehr existierende Dateien verweisen, ansammeln. Mit cleanlinks(1) können diese automatisch gelöscht werden. cleanlinks sucht im aktuellen Verzeichnis nach solchen Daten und durchsucht auch rekursiv alle Unterverzeichnisse und löscht sie.

Beispiel:

# mkdir /tmp/test
# cd /tmp/test/
# mkdir leer
# mkdir voll
# touch voll/datei
# ln -s a b
# ln -s voll/datei hallo
# pwd
/tmp/test
# ls -l
total 4
lrwxr-xr-x 1 beat wheel 1 27 Mai 09:59 b@ -> a
lrwxr-xr-x 1 beat wheel 10 27 Mai 09:59 hallo@ -> voll/datei
drwxr-xr-x 2 beat wheel 512 27 Mai 09:59 leer/
drwxr-xr-x 2 beat wheel 512 27 Mai 09:59 voll/

Im Verzeichnis /tmp/test existiert nun ein leeres Verzeichnis leer und ein Symlink b, der auf eine nicht existierende Datei a verweist.  Führen wir nun cleanlinks in diesem Verzeichnis test aus:

# cleanlinks 
./b is a dangling symlink, removing
Removing empty directories ...
./leer
# ls -l
total 2
lrwxr-xr-x 1 beat wheel 10 27 Mai 09:59 hallo@ -> voll/datei
drwxr-xr-x 2 beat wheel 512 27 Mai 09:59 voll/

cleanlinks ist Teil der XFree86 und X.Org Projekte. Auf FreeBSD befindet sich cleanlinks im imake Port.

 Permalink

Comments

No new comments allowed (anymore) on this post.