Frage Wie finde ich den Pfad zu einer ausführbaren Datei in OSX?


Gibt es einen Befehl, mit dem ich den Pfad zu einer ausführbaren Datei leicht finden kann? Ich suche auf meinem lokalen Rechner identifizieren - so etwas wie pwd?

pwd identify
=> /usr/local/bin/identify

38
2018-06-12 13:31


Ursprung




Antworten:


which Wenn Sie Ihren Pfad nach den Argumenten suchen, die Sie angeben, wird er in fast jedem BSD oder SysV UNIX gefunden

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

48
2018-06-12 13:33



Das which Befehl obwohl funktioniert, ist im Allgemeinen nicht das richtige Werkzeug, um diese Art von Arbeit zu tun. Sehen Sie diese U & L Fragen und Antworten: unix.stackexchange.com/questions/85249/ ... - slm
Auf OSX, which gibt keine Ergebnisse für ein benutzerdefiniertes Skript (das ist in $PATH). type tut. - wisbucky


Wenn Sie den bash eingebauten verwenden typeEs zeigt Ihnen alle (in-Pfad) Standorte für einen Befehl:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

Wenn der Befehl eine Funktion ist, wird die Funktionsdefinition aufgelistet:

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

Diese Beispiele stammen von einem Ubuntu-System, aber die Ergebnisse werden für OS X ähnlich sein.


15
2018-06-12 15:25



Auf OSX, which zeigt nicht den Pfad für ein benutzerdefiniertes Skript (das ist in $PATH). type tut. - wisbucky


versuchen Sie 'identifizieren identifizieren'


3
2018-06-12 13:33



Das funktioniert, wenn "which" nicht, weil die ausführbare Datei nicht in Ihrem aktuellen PATH ist, sondern auch dazu neigt, eine Menge Dinge auszuspucken, die Sie nicht wollen. Erster Pfadfilter: "locate command | grep bin". Benutze zuerst "which". - dmckee
das ist ein guter Ruf, danke. - Chopper3


Es hängt davon ab, wonach Sie suchen. Die meisten Dienstprogramme hängen von der Pfadvariablen ab. Wenn jedoch das, wonach Sie suchen, in Ihrem Pfad liegt, müssen Sie wahrscheinlich nicht wirklich wissen, wo es sich befindet, es sei denn, es gibt mehrere Kopien derselben ausführbaren Datei.

Dies gilt jedoch nicht für die meisten Dinge, die in OSX laufen, da sie nicht wie normale Linux / Unix-Binärdateien laufen. Hier finden Sie einige Methoden, um Dinge zu finden, die nicht in Ihrer Pfadangabe enthalten sind.

finden:

sudo find / -name <FILE>

Dies findet alles, was auf dem von Ihnen angegebenen Dateisystem existiert, als erstes Argument. Es muss als root ausgeführt werden, um private Verzeichnisse zu durchsuchen. Es unterstützt auch Wildcards, wenn Sie sich nicht sicher sind.

Terminal:

Wenn Sie die Datei im Finder haben, können Sie ein Terminalfenster öffnen und die Datei dort hineinlegen. Terminal mit dann den vollständigen Pfad zu der Datei anzeigen.

Scheinwerfer:

Ziemlich selbsterklärend. Sie spenden Prozessorzyklen, damit sie einen Index Ihrer fi behalten können


0
2018-06-19 16:15