Sous Linux, les différents emplacements, généralement bien entretenus, reflètent une certaine logique. Par exemple.:
/bin
contient les outils (programmes) les plus élémentaires
/sbin
contient les programmes d'administration les plus basiques
Les deux contiennent les commandes élémentaires utilisées par le démarrage et le dépannage fondamental. Et ici, vous voyez la première différence. Certains programmes ne sont pas destinés à être utilisés par des utilisateurs réguliers.
Ensuite, jetez un œil /usr/bin
. Vous devriez trouver ici un plus grand choix de commandes (programmes), généralement plus de 1000 d'entre elles. Ce sont des outils standard, mais pas aussi essentiels que ceux de /bin
et /sbin
.
/usr/bin
contient les commandes, tandis que les fichiers de configuration résident ailleurs. Cela sépare à la fois les entités fonctionnelles (programmes) et leur configuration et d'autres fichiers, mais en termes de fonctionnalités utilisateur, cela est pratique, car le fait de ne pas mélanger les commandes avec quoi que ce soit d'autre permet la simple utilisation de la PATH
variable pointant vers les exécutables. Il introduit également la clarté. Tout ce qui est devrait être exécutable.
Jetez un oeil à mon PATH
,
$ echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/home/tomas/bin
/usr/local/bin
/usr/bin
/bin
/usr/local/games
/usr/games
Il y a exactement six emplacements contenant les commandes que je peux appeler directement (c'est-à-dire non pas par leurs chemins, mais par les noms de leurs exécutables).
/home/tomas/bin
est mon répertoire privé dans mon dossier personnel pour mes exécutables privés.
/usr/local/bin
J'expliquerai séparément ci-dessous.
/usr/bin
est décrit ci-dessus.
/bin
est également décrit ci-dessus.
/usr/local/games
est une combinaison de /usr/local
(à expliquer ci-dessous) et de jeux
/usr/games
sont des jeux. Ne pas mélanger avec les exécutables utilitaires, ils ont leurs emplacements séparés.
Maintenant /usr/local/bin
. Celui-ci est quelque peu glissant et a déjà été expliqué ici: Qu'est-ce que / usr / local / bin? . Pour le comprendre, vous devez savoir que le dossier /usr
peut être partagé par de nombreuses machines et monté à partir d'un emplacement net. Les commandes ne sont pas nécessaires au démarrage, comme indiqué précédemment, contrairement à celles de /bin
, donc l'emplacement peut être monté dans les étapes ultérieures du processus de démarrage. Il peut également être monté en lecture seule. /usr/local/bin
, d'autre part, est destiné aux programmes installés localement et doit être accessible en écriture. Ainsi, alors que de nombreuses machines réseau peuvent partager le /usr
répertoire général , chacune d'elles aura sa propre version /usr/local
montée dans le commun /usr
.
Enfin, jetez un œil à PATH
mon utilisateur root:
# echo "$PATH" | perl -F: -anlE'$,="\n"; say @F'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
Il contient ceux-ci:
/usr/local/sbin
, qui contient les commandes d'administration du type /usr/local
/usr/local/bin
, qui sont les mêmes que ceux que l'utilisateur ordinaire peut utiliser. Encore une fois, leur type peut être décrit comme /usr/local
.
/usr/sbin
sont les utilitaires d'administration non essentiels.
/usr/bin
sont l'administration non essentielle et les utilitaires utilisateur réguliers.
/sbin
sont les outils d'administration essentiels.
/bin
sont les outils essentiels de l'administrateur et de l'utilisateur régulier.