Seguramente, alguna vez te ha llamado la atención la diferencia entre bin y sbin. Basicaménte y como regla memotécnica podemos decir que la ‘s’ en sbin significa “super usuario”(o “superuser”). Es decir que son binarios que no son ejecutados por usuarios normales.

Como hábras notado, hay diferentes directorios bin en Linux. La mejor referencia que he encontrado para entender las numerosas carpetas que integran el sistema Linux es man hier. Este provee una breve explicación del estándar de jerarquía del sistema de archivos (o FHS, del inglés Filesystem Hierarchy Standard) de Linux. Le traigo un breve resumen de las definiciones de los diferentes directorios bin y sbin que nos podemos encontrar:

/bin Este directorio contiene ejecutables que son necesarios en el modo de un solo usuario para levantar o reparar el sistema.

/sbin Como /bin, este directorio contiene los comandos necesarios para bootear el sistema, pero usualmente no son ejecutados por usuarios normales.

/usr/bin Este es el directorio principal para los archivos ejecutables. La mayoria de los programas que son ejecutados por usuarios normales los cuales no son necesarios para bootear o reparar el sistema y no son instalados localmente deben ser ubicados en este directorio.

/usr/local/bin Es el directorio por defecto para los programas que no son parte del sistema operativo, usualmente programas que se compilaron localmente desde la fuente o se descargaron sus ejecutables y son usualmente utilizados por usuarios normales.

/usr/local/sbin Similar al directorio /usr/local/bin con la diferencia que son programas para administración del sistema o que ejecuta solo el administrador/super usuario.

Muchos asocian la ‘s’ que las diferencia alegando que refiere a “system” o “sistema”, pero según la documentación de man, podemos pensarla que tiene que ver con una cuestión de permisos, y asociar esa ‘s’ al usario root o super-usuario.