Gofis ist ein leichtes Befehlszeilentool zum schnellen Durchsuchen von Dateien im Dateisystem.
Es ist in Go geschrieben und nutzt stark Parallelität (Goroutinen), was es besonders effizient macht
bei der Arbeit mit großen Verzeichnissen und Projekten.
Das Projekt ist auf GitHub verfügbar:
https://github.com/demensdeum/gofis
🧠 Was ist Gofis?
Gofis ist ein CLI-Dienstprogramm zum Durchsuchen von Dateien nach Namen, Erweiterung oder regulärem Ausdruck.
Im Gegensatz zu klassischen Tools wie find wurde gofis ursprünglich entwickelt
mit Schwerpunkt auf Geschwindigkeit, lesbarer Ausgabe und paralleler Verzeichnisverarbeitung.
Das Projekt wird unter der MIT-Lizenz vertrieben und kann frei verwendet werden
für persönliche und kommerzielle Zwecke.
⚙️ Hauptfunktionen
- Parallele Verzeichnisdurchquerung mithilfe von Goroutinen
- Suche nach Dateinamen und regulären Ausdrücken
- Nach Erweiterungen filtern
- Schwere Verzeichnisse (.git, node_modules, Vendor) werden ignoriert
- Menschenlesbare Ausgabe der Dateigrößen
- Minimale Abhängigkeiten und schnelle Erstellung
🚀 Installation
Damit Go funktioniert, muss Go installiert sein.
git clone https://github.com/demensdeum/gofis
cd gofis
go build -o gofis main.go
Sobald die Binärdatei erstellt ist, kann sie direkt verwendet werden.
Auf der Release-Seite gibt es auch eine eigenständige Version für moderne Windows-Versionen:
https://github.com/demensdeum/gofis/releases/
🔍 Anwendungsbeispiele
Dateien nach Namen suchen:
./gofis -n "config" -e ".yaml" -p ./src
Schnelle Positionssuche:
./gofis "main" "./projects" 50
Suche mit regulärem Ausdruck:
./gofis "^.*\.ini$" "/"
🧩 Wie es funktioniert
Gofis basiert auf dem Wettbewerbsmodell von Go:
- Jedes Verzeichnis wird in einer separaten Goroutine verarbeitet
- Verwendet ein Semaphor, um die Anzahl aktiver Aufgaben zu begrenzen
- Kanäle werden zur Übermittlung von Suchergebnissen verwendet
Dieser Ansatz ermöglicht eine effiziente Nutzung der CPU-Ressourcen
und beschleunigt die Suche in großen Dateibäumen erheblich.
👨💻 Für wen ist Gofis geeignet?
- Entwickler, die mit großen Repositories arbeiten
- DevOps und Systemadministratoren
- Benutzer, die eine schnelle Suche über das Terminal benötigen
- Für diejenigen, die die praktischen Anwendungen der Parallelität in Go erlernen
📌 Fazit
Gofis ist ein einfaches, aber effektives Tool, das eines tut und es gut macht.
Wenn Sie in großen Projekten häufig nach Dateien suchen und Wert auf Geschwindigkeit legen,
Dieses CLI-Tool ist auf jeden Fall einen Blick wert.