Die gesamte Festplatte durchsuchen

blck

blck

Routinier
Moin, Moin
Also ich hab mal wieder ein Problem: :hilfe2:
Ich möchte meine gesamte Festplatte über die Linuxshell, nach einer DAtei durchsuchen lassen...von der ich nicht weiß, nicht ma ansatz weiße in welchem Verzeichnis sie liegt.
Ist das über irgendein Befehl möglich?
Hinweis:
locate, fin, und test sind dafür ja anscheinend nicht zu gebrauchen, da diese immer eine Pfadangabe brauchen. :oldman
 
Mit

Code:
find

kannst Du alles durchsuchen was Du willst
 
find?

Danke erstmal für die schnelle Antwort, aber find braucht doch ne Pfad angabe.
Also man müsste doch theorethisch schreiben find /teil/pfad/zur/Datei und dann die Datei bzw sowas wie find /home und dann die Datei.
Korrigiert mich bitte falls ich falsch liege :oldman

Gruß blck
 
mit z.B.

Code:
find /usr -name *.sh


Durchsuche meine gesamte Partion die auf /usr einghängt ist nach Dateien mit
*.sh und das rekursiv, sprich in allen Unterverzeichnissen
 
1.

Kannst du ja find einfach das Wurzelverzeichnis als Pfad geben, dann wird halt alles durchsucht:

Code:
find / -name foo

2.

Braucht locate keinen Pfad:

Code:
updatedb
locate foo.bar
 
Hi,
Schau dir mal das Duo
updatedb (als root)
und locate (als normaler user)

Als erstes erstellst du eine Such-Datenbank mit dbupdate und kannst dann mit locate suchen.
Gruß, Georg


Edit:
Da war supersucker um Sekunden schneller als ich! :-(
 
Wow

Wow so viele Möglichkeiten und nur eine die ich nehmen kann. Ich werds mal probieren danke:D :D :D :D
 
ja und so viele moeglichkeiten mal ohne zu klicken ..........

unixseidank
 
Oh Jaa unixseidank... ich komm aber nicht weiter

Moin,
um mal ins Detail zu gehen hier mal die von mir geschriebene Anweisung um zu testen ob es eine Datei mit der Endung *.kl überhaupt auf der Platte gibt... da ich mich weder mit der Shell noch mit den Befehlen so gut auskenne, bitte ich nochma um hilfe...

Code:
 if  locate -d *.kl ; then
 ex=1
 fi

Ich hatte mir gedacht, das diese Anweisung einfach eine Variable auf eins setzt wenn die Datei vorhanden ist, damit ich sonst falls ex=0 eine Art kleine Installation starten kann. :oldman
Danke schon mal :D
 
Hallo
Das kann so nicht funktionieren, da sind gleich mehrere Fehler drin.
locate -d /path/foo
sucht im Verzeichnis path nach einer updatedb foo, um diese nach deinem pattern (Hier keine) zu durchsuchen.
man locate

Schau dir mal die man bash zu if an.

If testet auf wahr oder false einer Bedingung.
In deinem fall möchtest du testen ob locate etwas findet.
locate liefert aber nicht 0 oder 1, sondern lediglich die gefundenen Zeilen oder Nichts.
Du musst also den Returnwert selber testen, welcher unmittelbar nach Ausführung von locate in der Variable $? steht.
Im Erfogsfall 0
sonst > 0

Code:
locate pattern 2>1 &>/dev/null;
if [ $? -gt 0 ]; then 
echo "Nichts gefunden"
else
echo "Mindestens eine Datei gefunden"
fi

Gruß Wolfgang
 
Zuletzt bearbeitet:
Also.....

Ich schein mich nen bisschen dumm anzustellen.
Also ich habe jetzt geschrieben:

Code:
find / -name foo  *.kl   2>1 &>/usr/;
 if [ $? -gt 0 ]; then 
 echo "Nichts gefunden"
 else
 echo "Mindestens eine Datei gefunden"
 fi

bzw:

Code:
locate "install.kl" 2>1 &>/usr/;
 if [ $? -gt 0 ]; then 
 echo "Nichts gefunden"
 else
 echo "Mindestens eine Datei gefunden"
 fi

aber so wirklich was finden will er nicht....
Ich habe eine auch die "Datenbank" über updatedb aktualisiert... Könnt ihr mir sagen was ich falsch gemacht habe?
 
Code:
locate "install.kl" > /dev/null  2>&1
 if [ $? -gt 0 ]; then
 echo "Nichts gefunden"
 else
 echo "Mindestens eine Datei gefunden"
 fi
....ist was du suchst :]
die umleitung nach /usr ist sinnfrei und fast gefährlich.
wichtig ist nur das das die locatedb immer aktuell gehalten wird :oldman
 
Am besten mit einen cron job beim Herunterfahren starten, da stöhrt die zeit die das braucht nicht.
Gruß, Georg
...den Sinn kapiere ich nicht - wann wird ein Linux/Unix Server denn regelmäßig heruntergefahren?? (vielleicht habe ich auch was nur falsch verstanden)
Ich empfehle die Aktualisierung der locatedb in der Nacht!
 
Mit slocate bekommt der User lediglich die Dateien angezeigt auf die er auch tatsächlich Zugriff hat.

Nur der Vollständigkeit halber ;)
 

Ähnliche Themen

Samba viel langsamer als Windows Freigabe

[HowTo] Debian Installation mit Installer über SSH

Quellpakete installieren

Server-Monitoring mit RRDTool

Deutsche Installationsanleitung für Slackware 9.0 (und auch 9.1)

Zurück
Oben