Hallo Stefan,
Gibt es unter Apacha bzw. Unix einen Befehl, der dir /s unter Dos gleicht ?
Kurze Abhandlung über das Dateienfinden unter Unix (in diesem Fall Linux. sollte aber unter jedem anderen Unix funktionieren):
Der DOS Befehl dir/s entspricht am Besten " ls -alR " , listet alle Dateien und Verzeichnisse ab dem Verzeichniss in dem Du Dich befindest und darunter im ausführlichen Modus.
ls = "list" Befehl
-a = alle Dateien und Ordner
-R = rekursiv
-l = ausführliche Angaben
es gibt noch viel mehr siehe Man-Page ("man ls")bzw. info ("info ls")
Um nicht jedesmal in das entsprechende Verzeichniss hüpfen zu müssen, kannst Du auch den Ordner angeben: " ls -alR ~/foodir " listet alle Dateien und Ordner im Homeverzeichniss, Unterverzeichniss /foodir rekursiv und ausführlich.
Um bestimmte Dateien schneller zu finden gibt es noch "locate"
"updatedb" erzeugt eine Datenbank, in der sämtliche Dateinamen aufgeführt sind, die auf Deinem Rechner zu finden sind, und auf die Du Zugriffsberechtigung hast, (dauert ein wenig, auf meinem Rechner mit insgesammt einer halben Mio Dateien und als "root" gestartet etwa 15 Minuten) mit "locate Datei" findest Du sie dann.
Vorher evt aus dem Netzwerk gehen, wenn Du an einem Server hängst, der recht viele Dateien hat und auf die Du auch noch Zugriff hast ;-)
" updatedb " solltest Du immer dann laufen lassen, wenn Dateien geändert werden, am besten täglich über einen cronjob, vieleicht die Priorität heruntersetzen, wenn Du massive Performanceeinbußen spürst
Läßt sich in der bash auch schön nutzen:
" emacs $(locate ~/webpage/) "
Läd _alle_ Dateien in Deinem im Webpage - ordner im Homeordner in den Emacs. (Vorher solltest Du den Emacs so konfiguriert haben, das er nur Clients startet ;-) im KDE mit kedit geht es wunderbar)sollten in Deinem Verzeichniss auch Unterverzeichnisse sein gibts evt Fehlermeldungen vom Editor.
"find" wurde schon angesprochen, trotzdem noch ein paar Optionen:
-depth _zuerst_ das aktuelle Verzeichniss, _dann_ die Unterverzeichnisse
-follow folgt auch symbolischen Links
-maxdepth n beschränkt die Tiefe der Suche auf das nte Unterverzeichniss
-ctime n sucht Dateien,die vor genau n Tagen geändert wurden
-ctime +n dito, die älter als n Tage sind
-ctime -n dito, die jünger als n Tage sind
-group Gruppenname findet alle Dateien der Gruppe "Gruppenname"
-nogroup Gruppenname dito, die ihr nicht angehören
-path wie -name nur inclusive Pfad und die Jokerzeichen erfassen hier auch "/"
-perm zugiffbits Oktalzahl der Zugrifbits mit "-" davor mindestens mit "+" auch darüberhinaus.
-size dateigröße Angabe erfolgt in vielfachen von 512 Bytes mit "-" vor der Größenangabe werden alle Dateien erfaßt, die kleiner sind , mit "+" alle , die größer sind. k ändert in Kilobytes also "-size +50k" ertfasst alle Dateien, die größer als 50 Kb sind.
-type zeichen Die Zeichen sind "f" für reguläre Dateien, "d" für Verzeichnisse und "l" für symbolische Links.
-user username
und
-nouser username wie -group nur halt für user
-exec kommando[optionen] {} ;
gibt einem Kommando die gefundenen Dateinamen z.B, "grep"
-print gibt das Ergebniss aus (normalerweise Default)
"find -name ‚*.html‚ maxdepth -1 -exec grep -q image {}; -print > ergebniss"
grast alle html Dateien im aktuellen Verzeichniss ab. ob darin ein image vorhanden ist und gibt das Ergebniss in der Datei "ergebniss" aus.
Wenn Du wissen willst welch Links das sind:
"grep -nw href $(find -name ‚*.html‚ -maxdepth -1) "
gibt Dateinamen und Zeilennummer und Zeile aus, in denen der String "href" vorkommt.
"grep" ist also auch noch sehr nützlich, findet Strings _in_ Dateien
"du" gibt den Speicherbedarf in kb der Dateien an
-b dito in Bytes
-c die Summe
-s _nurt_ die Summe
-S nur im aktuellen Verzeichniss
Bleistift, äh, Beispiel:
"du -cS *.html" zeigt den Platzbedarf aller html Dateien im Aktuellen Verzeichniss, unten steht die Summe.
Grüße
Christoph