Wenn Sie Bash oder zsh verwenden, verwenden Sie Folgendes:
type -a lshw
Dies zeigt, ob das Ziel ein eingebautes, eine Funktion, ein Alias oder eine externe ausführbare Datei ist. Im letzteren Fall wird jede Stelle angezeigt, die in Ihrem PATH
vorkommt .
bash$ type -a lshw
lshw is /usr/bin/lshw
bash$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
bash$ zsh
zsh% type -a which
which is a shell builtin
which is /usr/bin/which
In Bash für Funktionen type -a
zeigt auch die Funktionsdefinition an. Sie können declare -f functionname
verwenden um dasselbe zu tun (Sie müssen das für zsh verwenden, da type -a
nicht).
So:
which lshw
So sehen Sie alle Befehle, die in Ihrem Pfad übereinstimmen:
which -a lshw
PATH
ist eine Umgebungsvariable und kann mit dem echo-Befehl angezeigt werden:
echo $PATH
Es ist eine Liste von Pfaden, die durch den Doppelpunkt ':
getrennt sind '
Die which
command teilt Ihnen mit, welche Datei ausgeführt wird, wenn Sie einen Befehl ausführen:
which lshw
manchmal erhalten Sie einen Pfad zu einem Symlink; Wenn Sie diesen Link dorthin zurückverfolgen möchten, wo sich die eigentliche ausführbare Datei befindet, können Sie readlink
verwenden und füttere es mit der Ausgabe von which
:
readlink -f $(which lshw)
Die -f
Parameter weist readlink
an um dem Symlink rekursiv zu folgen.
Hier ist ein Beispiel von meiner Maschine:
$ which firefox
/usr/bin/firefox
$ readlink -f $(which firefox)
/usr/lib/firefox-3.6.3/firefox.sh