/bin contient des commandes qui peuvent être utilisées à la fois par l'administrateur système et les utilisateurs, mais qui sont obligatoires en mode utilisateur simple. Il peut aussi contenir des commandes utilisées indirectement par des scripts.
Tous les binaires uniquement pour root tels que les daemons, init, getty, update, etc. doivent être placés dans /sbin ou /usr/sbin, selon qu'ils sont essentiels ou non. Pour une discussion plus approfondie sur la définition de ce qui est essentiel sur le système de fichiers root, veuillez lire la section 6, "Problèmes et analyse supplémentaire".
Il ne doit pas y avoir de sous-répertoires à l'intérieur de /bin.
Les commandes binaires qui ne sont pas suffisamment essentielles pour rester dans /bin doivent être mises dans /usr/bin à la place. Les objets qui ne sont utilisés que par des utilisateurs non root (mail, chsh, etc.) ne sont pas assez essentiels pour être placés dans la partition root.
Les commandes suivantes ont été incluses parce qu'elles sont essentielles. Quelques unes sont présentes à cause de leur emplacement traditionnel dans /bin.
Si /bin/sh est le Bash, alors /bin/sh doit être un link symbolique ou physique vers /bin/bash puisque le Bash se comporte différemment s'il est appelé en tant que sh ou bash. pdksh, qui peut être le /bin/sh sur les disques d'installation, doit être disposé de la même manière, avec /bin/sh étant un lien symbolique vers /bin/ksh. L'utilisation d'un lien symbolique dans ces cas permet aux utilisateurs de voir aisément que /bin/sh n'est pas un véritable shell de Bourne.
Puisque l'emplacement standard de facto du C-shell est /bin/csh, si et seulement si un C-shell ou équivalent (comme tcsh) est disponible sur le système, il devrait être disponible par le nom /bin/csh. /bin/csh peut être un lien symbolique vers /bin/tcsh ou /usr/bin/tcsh.
Les commandes [ et test sont intégrées dans le Bash, pdksh, zsh, et les Korn shells récents -- essentiellement pour chaque shell de Bourne de remplacement pour Linux. Ces commandes doivent être placées dans /usr/bin. (Elles doivent être incluses comme des binaires séparés avec chaque système Linux qui essaie de se conformer à la norme POSIX.2.)
/bin/arch doit produire la même sortie que uname -m, spécifiquement i386 ou i486 pour les systèmes Intel et compatibles Intel.
Ces commandes ont été ajoutées pour rendre la remise en état d'un système possible (à condition que / soit intact).
Si les sauvegardes système sont effectuées avec des programmes autre que gzip et tar, alors la partition root doit contenir les composants de remise en état minimaux. Par exemple, beaucoup de systèmes doivent inclure cpio puisque c'est l'utilitaire de sauvegarde le plus couramment utilisé après tar. Inversement, si on est sur de ne faire aucune remise en état de la partition root, ces binaires peuvent alors être omis (par exemple, une partition root en ROM, montant /usr en NFS). Si la remise en état d'un système est prévue à travers le réseau, alors ftp ou tftp (avec tout ce qui est nécessaire à l'établissement d'une connexion ftp) doit être disponible sur la partition root.
Les commandes de remise en état peuvent apparaître soit dans /bin soit dans /usr/bin sur différents systèmes Linux.
Voici les seuls binaires nécessaires pour le réseau, autres que ceux de /usr/bin ou /usr/local/bin, et que à la fois root et les utilisateurs voudront ou auront besoin d'exécuter.