GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Shell - Wie finde ich das Verzeichnis eines Befehls?

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

Linux
  1. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  2. CentOS / RHEL :Wie finde ich heraus, welcher Benutzer einen bestimmten Befehl ausführt?

  3. Welcher Befehl in der Linux/UNIX-sh-Shell gibt mein aktuelles Verzeichnis zurück?

  4. Wie lösche ich alle Dateien in einem Verzeichnis außer einigen?

  5. Wie finde ich Hilfe für den Punktbefehl `.` in *nix?

So entfernen Sie ein Verzeichnis in Linux

So zählen Sie Dateien im Verzeichnis in Linux

So führen Sie einen Shell-Befehl mit Python aus

So schließen Sie ein Verzeichnis beim Suchen von Dateien in Linux aus

So zählen Sie Dateien im Verzeichnis unter Linux

Wie führe ich einen Befehl in einem Shell-Skript aus?