0 votes

OS X commande cd dans /usr/bin au lieu de /bin

Sous OS X 10.8, j'ai regardé mon dossier /bin et j'ai constaté que cd ne s'y trouvait pas, mais plutôt dans le dossier /usr/bin. Comment cela se fait-il ? D'après le FHS ( Norme de hiérarchie des systèmes de fichiers . Je sais que /bin doit contenir les binaires essentiels, c'est-à-dire ceux qui sont nécessaires lorsqu'aucun autre système de fichiers n'est monté. Est-ce que cd n'est pas assez essentiel ? (au fait, il semble que la commande "su" se trouve également dans /usr/bin). Je sais qu'OS X ne suit pas strictement le FHS, mais y a-t-il une raison à ces différents emplacements des binaires ?

5voto

Gordon Davisson Points 30215

cd est une fonction intégrée du shell, et a doit être intégré pour fonctionner. S'il était exécuté comme une commande normale, il s'exécuterait en tant que sous-processus, modifierait le répertoire de ce sous-processus, puis sortirait... sans aucun effet sur le répertoire de l'interpréteur de commandes parent.

En ce qui concerne les su La distinction fondamentale entre /bin et /usr/bin est que /usr/bin peut se trouver sur un système de fichiers différent de celui de la racine, et donc ne pas être disponible au début du processus de démarrage ; par conséquent, /bin (et /sbin) doit contenir toutes les commandes nécessaires au début du processus de démarrage. Sous OS X, su n'est apparemment pas nécessaire au démarrage.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X