Gdzie mogę znaleźć pliki wykonywalne aplikacji w systemie plików?

35

Gdzie są pliki wykonywalne programów przechowywanych w Ubuntu?

Aplikacja (Komodo Edit) prosi mnie o zidentyfikowanie aplikacji, która ma być używana jako przeglądarka internetowa. Przyzwyczaiłem się do wpisywania nazwy aplikacji jako polecenia dla takich sytuacji, ale ten scenariusz zmusił mnie do myślenia.

Wiem, że w systemie Windows byłby to odpowiedni folder aplikacji w folderze „pliki programów”, ale zakładam, że w Linuksie jest nieco inaczej?

Pomyślałem, że gdzieś binbyłoby logiczne, ale wydaje się, że jest to standardowe aplikacje Linux / Unix. Gdzie znajdę binarny plik wykonywalny dla aplikacji przechowywanych w moim systemie?

Richzilla
źródło

Odpowiedzi:

43

Kompletną odpowiedzią jest sprawdzenie dokumentacji systemu plików Hierachy Standard dotyczącej tego, co się dzieje.

Ale w twoim przypadku, jeśli chcesz wiedzieć, gdzie jest konkretny plik wykonywalny (na przykład Firefox), użyj

which firefox

I dostaniesz pełną ścieżkę w ten sposób

/usr/bin/firefox
Richard Holloway
źródło
2
Filesystem Hierachy Standard... ciekawe ... Nie będę go
omijał z
11

Aplikacje instalowane za pomocą menedżera pakietów zwykle przechodzą do /usr/bin. Aplikacje, do których się kompilujesz, przechodzą, /usr/local/bin/chyba że podczas kompilacji wyraźnie ustawisz inny prefiks.

Możesz dowiedzieć się, gdzie mieszka konkretna aplikacja, pisząc which application_namew terminalu. Np. which firefoxWydrukuje /usr/bin/firefox(jeśli używasz Firefoxa z pakietów Ubuntu).

sepp2k
źródło
6

Dobrym narzędziem CLI dla tego rodzaju pytań jest:

whereis <nameofwhatever>

lub oczywiście które (patrz poniżej)

Takkat
źródło
4
Znajdzie to pliki o nazwie <nazwa_wszystko>, które mogą, ale nie muszą być plikami wykonywalnymi. Niektóre mogą nawet być katalogami. Powinieneś użyć tego zamiast whereis.
Richard Holloway
Pełne potwierdzenie dla standardowych instalacji (które mamy nadzieję, że wszyscy mamy).
Takkat
1

Możesz także spróbować tego, jeśli szukasz pliku wykonywalnego z nazwy pakietu:

dpkg -L firefox

Spowoduje to wyświetlenie listy wszystkich plików należących do firefox. Aby uzyskać pliki wykonywalne, przekaż je do dalszego przetwarzania

dpkg -L firefox | while IFS=$'\n' read -r line; do
    [[ -x "${line#*:}" ]] && echo "$line"
done
kiri
źródło