Wie die Frage schon andeutet, habe ich eine Situation, in der ich einen Ordner habe, in den Benutzer seltsame Sachen hochladen können. Habe einen Cron-Job eingerichtet, der diesen Ordner alle paar Stunden bereinigt.
Es hat aus Sicherheitsgründen natürlich eine .htaccess. Meine Frage ist, wie kann ich alles (Dateien und Verzeichnisse) in diesem Verzeichnis löschen, einschließlich versteckter Dateien, deren Name mit einem Punkt beginnt, aber nicht die.htaccess?
Ich muss die Arbeit derzeit rm -rf *
erledigen, aber wenn der Benutzer eine Datei hochlädt, deren Name mit einem Punkt beginnt, wird sie nicht gelöscht.
Für jede Hilfe wäre ich sehr dankbar. Danke!
Antwort1
In Bash:
shopt -s dotglob extglob
rm !(.htaccess)
Antwort2
Ich würde „find“ etwa so verwenden:find /path/to/dir/ -mindepth 1 -not -name .htaccess -delete