En OS X 10.8 estaba mirando mi carpeta /bin y encontré que cd no estaba allí, sino en la carpeta /usr/bin. ¿A qué se debe esto? Desde el FHS ( Estándar de la jerarquía del sistema de archivos . Sé que /bin debe contener los binarios esenciales, es decir, los que se necesitan cuando no se monta ningún otro sistema de archivos. ¿No es cd lo suficientemente esencial? (por cierto, parece que el comando "su" también está en /usr/bin). Ahora, sé que OS X no sigue estrictamente el FHS, pero ¿hay alguna razón para estas diferentes ubicaciones de los binarios?
Respuesta
¿Demasiados anuncios?cd
es una función del shell, y tiene para que funcione. Si se ejecutara como un comando normal, se ejecutaría como un subproceso, cambiaría el directorio de ese subproceso, y luego saldría... sin tener ningún efecto en el directorio del shell padre.
En cuanto a su
La distinción fundamental entre /bin y /usr/bin es que /usr/bin puede estar en un sistema de archivos diferente al de root, y por lo tanto no estar disponible al principio del proceso de arranque; por lo tanto /bin (y /sbin) debe contener todos los comandos necesarios al principio del proceso de arranque. En OS X, su
aparentemente no es necesario durante el arranque.