web-dev-qa-db-fra.com

Où puis-je trouver les exécutables de l'application dans le système de fichiers?

Où se trouvent les exécutables des programmes stockés dans Ubuntu?

Une application (Komodo Edit) me demande d'identifier une application à utiliser comme navigateur Web. Je me suis habitué à entrer simplement le nom de l'application en tant que commande pour de telles situations, mais ce scénario m'a fait réfléchir.

Je sais que dans Windows, il s’agirait simplement du dossier d’application correspondant dans le dossier "Program Files", mais je suppose que les choses sont un peu différentes sous Linux?

Je pensais que quelque chose comme bin serait logique, mais cela apparaît aux applications standard Linux/Unix. Où pourrais-je trouver l'exécutable binaire pour les applications stockées sur mon système?

35
richzilla

La réponse complète consiste à consulter la documentation système de fichiers hiérarchique standard sur ce qui se passe où.

Mais dans votre cas, si vous voulez savoir où se trouve un exécutable particulier (par exemple Firefox), utilisez

which firefox

Et vous obtiendrez le chemin complet comme ça

/usr/bin/firefox
43
Richard Holloway

Les applications installées via le gestionnaire de paquets vont généralement à /usr/bin. Les applications que vous compilez vous-même vont à /usr/local/bin/ à moins que vous ne définissiez explicitement un préfixe différent lors de la compilation.

Vous pouvez savoir où réside une application spécifique en tapant which application_name dans le terminal. Par exemple. which firefox imprimera /usr/bin/firefox (si vous utilisez Firefox depuis les paquets Ubuntu).

11
sepp2k

Une bonne commande CLI pour ce type de questions est la suivante:

whereis <nameofwhatever>

ou bien sûr qui (voir ci-dessous)

6
Takkat

Vous pouvez également essayer ceci si vous recherchez l'exécutable à partir d'un nom de package:

dpkg -L firefox

Cela listera tous les fichiers appartenant à Firefox. Pour obtenir les exécutables, passez-le à un traitement ultérieur

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