Ich habe ein Legacy-Entwicklungssystem geerbt, das schlecht dokumentiert ist und dessen Quellcode nicht bekannt ist, wenn er noch verfügbar ist.
Jetzt konnte ich einen Teil des Quellcodes finden und tatsächlich einen Teil des Systems erstellen.
Ich frage mich, ob ich den Rest des Quellcodes finden kann und ob es einen besseren Weg gibt, als locate *.c
die Dateien manuell zu überprüfen (so habe ich einen Teil des Codes gefunden).
Es gibt 3 Maschinen und nur eine, auf der ich den Quellcode gefunden habe, der eine Entwicklungsmaschine zu sein scheint. Es hat auch 61 .deb
Archive, die die Paketversionen der Projekte zu sein scheinen, aber ein Blick in die .deb
Archive zeigt, dass sich die Quelle nicht in den Archiven befindet oder zumindest nicht dort, wo ich gesucht habe.
Gibt es eine gute Möglichkeit, ein gesamtes Laufwerk nach Quellcode zu "scannen"?
find / -wholename '*/debian/rules'
. oder (schneller, wenn mlocate installiert ist)locate -r /debian/rules$
locate
wäre schneller, aber ich war in der Vergangenheit enttäuscht, es auf wiederhergestellten Systemenlocate
auszuführen, die bereinigt wurden - die Datenbank ist noch neu über den Quellcode, der weg war. (Das kann immer noch eine nützliche Information sein, wenn Backups verfügbar sind ...).deb
Archive, die die Paketversion der Projekte zu sein scheint" (sic).find
versuche nur , Dateien zu lesen,/proc
die zwischen dem Zeitpunkt, zu demfind
die Liste der Dateien erstellt wird, und dem Zeitpunkt, zu dem sie gelesen werden , verschwinden . Sie können/proc
ganz überspringen .Normalerweise verwende ich eine Kombination von Skripten für die Arbeit mit Quelldateien. Genau wie die obige Antwort wird dies Ihren Fall nicht genau lösen, aber die Suche nach Symbolen kann beim Auffinden von Quelldateien hilfreich sein.
Folgendes wird hinzugefügt zu
bashrc
:Dann kann ich Quelldateien mit auflisten
list-code-files | xargs -0 echo
oder mit Symbolen nach Symbolen suchencsym some-symbol-regexeg
quelle