Linux-Nutzer wissen: Alle ausführbaren Programme, die sich im System-Suchpfad befinden, können in der Konsole auch ohne Angabe des enthaltenden Ordners ausgeführt werden. Manchmal müsst ihr aber doch wissen, in welchem Verzeichnis ein Programm gespeichert ist – sei es für Debugging, Skripte oder Systemanalyse.
Der which-Befehl: Der Klassiker
In diesem Fall hilft ein Such-Kommando weiter. Wollt ihr zum Beispiel wissen, wo auf eurem System der PHP-Interpreter installiert ist, kann der folgende Befehl weiterhelfen:
which php [Enter]
Der which-Befehl zeigt euch den ersten Treffer im PATH an. Das ist praktisch, aber manchmal gibt es mehrere Versionen eines Programms auf dem System.
Erweiterte Suche mit whereis und type
Für eine umfassendere Suche gibt es den whereis-Befehl:
whereis php
Dieser zeigt nicht nur die ausführbare Datei, sondern auch Manual-Seiten und Quelldateien an. Besonders nützlich bei der Entwicklung oder Systemadministration.
Noch detaillierter ist der type-Befehl:
type -a python3
Mit der Option -a zeigt type alle verfügbaren Versionen des Kommandos an. Das ist goldwert, wenn ihr mehrere Python-Versionen parallel installiert habt oder virtuelle Umgebungen nutzt.
Moderne Alternativen: command und locate
Seit 2024 setzen viele Linux-Distributionen verstärkt auf den POSIX-konformen command-Befehl:
command -v node
Dieser ist portabler zwischen verschiedenen Shell-Umgebungen und funktioniert zuverlässig in Bash, Zsh und Fish.
Für eine systemweite Suche nutzt ihr locate:
locate -b ‚docker‘
Das durchsucht eine vorab erstellte Datenbank aller Dateien. Denkt daran, die Datenbank mit sudo updatedb zu aktualisieren.
Container und WSL: Besondere Fälle
In Docker-Containern funktionieren diese Befehle normal, aber bedenkt: Der PATH kann stark reduziert sein. Hier hilft oft:
find /usr -name „programm*“ 2>/dev/null
Unter Windows Subsystem for Linux (WSL) gibt es eine Besonderheit: Windows-Programme im PATH können mit which gefunden werden, liegen aber außerhalb des Linux-Dateisystems.
Troubleshooting: Wenn nichts gefunden wird
Gibt es ein Problem mit dem Programm – zum Beispiel, wenn es auf dem Computer gar nicht installiert ist oder nicht im System-Suchpfad enthalten ist –, zeigt der which-Befehl gar nichts an und das Terminal wechselt direkt wieder zur Eingabeaufforderung.
In diesem Fall prüft ihr:
- echo $PATH – zeigt euren aktuellen Suchpfad
- ls -la /usr/bin/programm – direkter Check ob die Datei existiert
- dpkg -l | grep programm (Ubuntu/Debian) oder rpm -qa | grep programm (Red Hat/Fedora)
Praktische Tipps für den Alltag
Besonders beim Entwickeln mit Node.js, Python oder Docker ist es wichtig zu wissen, welche Version gerade aktiv ist. Erstellt euch ein kleines Alias:
alias whereall=’type -a‘
So könnt ihr schnell mit whereall python alle Python-Installationen finden.
Für Bash-Skripte nutzt ihr besser:
command -v programm > /dev/null && echo „gefunden“ || echo „fehlt“
Das ist robuster als which und funktioniert in allen modernen Shells.
Fazit
Die Programmsuche in Linux ist 2026 vielfältiger geworden. Während which der Standard bleibt, bieten type, command und whereis mehr Flexibilität. In containerisierten Umgebungen und mit Package-Managern wie Snap, Flatpak und AppImage wird die Programmlokalisierung komplexer – aber mit den richtigen Tools bleibt ihr immer auf der sicheren Seite.
Zuletzt aktualisiert am 06.03.2026






