Linux bash : "find" Funktion?
Hey Leute,
unter Linux wollte ich nach einer .txt Datei suchen (die definitiv existiert, da das Verzeichnis offen ist und ich die Datei auch sehe), wollte aber nicht die GUI nutzen, sondern direkt mit dem Terminal arbeiten. Dafür wollte ich die find Funktion nutzen, die bei mir aber nicht so wirklich funktionieren möchte. Wenn ich find -name "*.txt" eingebe funktioniert es und ich bekomme ein riesen Output in der Konsole raus.
Im folgenden seht ihr meine ganzen verzweifelten Versuche: Die Datei heiß euskera und ist eine .txt Datei
root@ip-..-..-...-..:~# find -name euskera
root@ip-..-..-...-..:~# find -name euskera.txt
root@ip-..-..-...-..:~# find -name "euskera.txt"
root@ip-..-..-...-..:~# find /root/Desktop/ -name "euskera.txt"
root@ip-..-..-...-..:~# find /root/Desktop/ -name "euskera.txt
> ^C
root@ip-..-..-...-..:~# find /root/Desktop/ -name euskera.txt
root@ip-..-..-...-..:~# find /root/Desktop/ -name euskera
root@ip-..-..-...-..:~# find /root/Desktop/ -name "euskera"
root@ip-..-..-...-..:~#
Wisst ihr woran das liegen könnte? bzw. was mein Fehler ist? Ich bekomme ja nicht mal eine Fehlermeldung.
Schonmal vielen Dank im voraus :))
2 Antworten
# find /root -name dummy.cc
/root/dummy.cc
Hinter -name kann ein Muster angegeben werden, auf das gematched werden soll, dabei wird nur gegen den vom Pfad befreiten Namen gematched. Bei Verwendung von * etc. sind Anführungszeichen nötig, damit die Shell nicht globbed und etwas anders an find übergibt, als Du es Dir wünscht.
Demnach sollte sowas wie:
find /root -name "euskera.txt"
eigentlich zum Erfolg führen, wenn es eine Datei mit dem Namen gibt.
Natürlich kann man auch rabulistisch
find / -name '*eu*'
ausführen ;-).
Wenn Du häufiger Dateien im Dateisystem suchen willst und die sonstigen find-Funktionen nicht benötigst, dann wäre ggf. (m)locate etwas für Dich.
Um im aktuellen Verzeichnis und darunter zu suchen, probiere mal
find . -iname "*euskera*"
. - vom aktuellen Verzeichnis starten
-iname wie -name, aber Groß-Kleinschreibung egal
"*euskera*" - davor oder dahinter kann stehen was will
Das keine Fehlermeldung kommt liegt einfach daran, dass es keinen Fehler gab, er hat halt nur nichts gefunden...