2009-06-28 17:51:46 +0000 2009-06-28 17:51:46 +0000
467
467

Wie finde ich ein Verzeichnis unter Linux?

Ich habe einen VPS mit Suse Linux 10.3.

Ich habe mich per SSH/putty eingeloggt und versuche herauszufinden, wo sich meine Web-Dateien befinden.

Da ich per FTP in ein Verzeichnis namens httpdocs hochlade, gehe ich davon aus, daß dieses Verzeichnis irgendwo existiert.

Meine Google-Suchen haben mich dies gelehrt, gehen Sie zu meinem Stammverzeichnis und tippen Sie:

find httpdocs -type d

aber da steht “ Nicht solche Datei oder solches Verzeichnis”.

Wie finde ich dieses Verzeichnis?

Antworten (4)

636
636
636
2009-06-28 18:00:16 +0000

Es ist:

find / -type d -name 'httpdocs'

der erste Parameter “/” ist der Ort, an dem gesucht werden soll, in diesem Fall “/” ist es das gesamte System.

-name könnte -iname sein, um den Fall zu ignorieren

auch -type ist nicht zwingend

verwenden : man find für weitere Optionen

63
63
63
2009-06-28 18:00:01 +0000

dieser Befehl sollte Ihnen das liefern, wonach Sie suchen:

find / -type d -name httpdocs

, der vom Stammverzeichnis Ihres Servers aus nach Verzeichnissen mit dem Namen httpdocs sucht, oder wenn Sie nur vom aktuellen Verzeichnis aus suchen wollen, ersetzen Sie das ‘/’ durch ein ‘.’

Ein anderer Befehl, den Sie versuchen können, ist locate, Sie würden so etwas tun wie:

locate httpdocs
28
28
28
2013-11-08 01:04:05 +0000
find / -type d -name httpdocs 2> /dev/null

Dies wird alle Fehlermeldungen beseitigen, die Sie wahrscheinlich (gelesen, immer) erhalten werden, wenn Sie dies nicht als Root-Benutzer tun. Ich würde empfehlen, es auf diese Weise zu tun.

13
13
13
2015-12-06 23:50:21 +0000

Es ist wichtig, den Parameter -iname zu kennen, um “case-insensitive” Muster und die Verwendung von Wildcards zu suchen: *, ?, etc…

Zwei Beispiele:

Alle Dateien aus /root durchsuchen, die die Zeichenkette “Linux” enthalten, Groß-/Kleinschreibung wird nicht berücksichtigt:

find /root -type f -iname "*linux*"

Alle Verzeichnisse aus /root durchsuchen, die die Zeichenkette “Linux” enthalten, Groß-/Kleinschreibung wird nicht berücksichtigt:

find /root -type d -iname "*linux*"

Von hier aus extrahiert: http://www.sysadmit.com/2015/12/linux-buscar-ficheros-directorios-con-find.html