Tengo seis directorios con archivos de comando. Estos son /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
y /usr/local/sbin
.
¿Cuáles son las diferencias entre estos? Si estoy escribiendo mis propios guiones, ¿dónde debo agregarlos?
Relacionado:
Respuestas:
Consulte el estándar de jerarquía del sistema de archivos (FHS) para Linux para esto.
/bin
: Para binarios que se pueden usar antes de/usr
montar la partición. Esto se utiliza para archivos binarios triviales utilizados en la etapa de inicio muy temprana o los que necesita tener disponibles en el modo de inicio de usuario único. Piense en los binarios comocat
,ls
, etc./sbin
: Igual, pero para binarios con privilegios de superusuario (root) requeridos ./usr/bin
: Igual que el primero, pero para binarios generales de todo el sistema ./usr/sbin
: Igual que el anterior, pero para binarios con privilegios de superusuario (root) requeridos.Ninguna de las anteriores. Debe usar
/usr/local/bin
o/usr/local/sbin
para scripts disponibles en todo el sistema. Lalocal
ruta significa que no está gestionada por los paquetes del sistema (esto es un error para los paquetes Debian / Ubuntu).Para secuencias de comandos con ámbito de usuario , use
~/bin
(una carpeta bin personal en su directorio de inicio).La FHS dice para
/usr/local
:fuente
/bin
causa algún problema? He movido mis guiones de acuerdo con su respuesta, pero todavía tengo curiosidadSeverity:Serious Certainty:Certain
ls -la
no muestra nadaTuve una pregunta similar hace más de un año: ¿El mejor directorio para colocar mis scripts de bash?
Directorios del sistema para binarios
man hier
(jerarquía) enumera todos los directorios. Para obtener solo los binarios, use:¿Dónde poner tus propios guiones?
Para que todos los usuarios accedan a sus scripts, puede incluirlos
/usr/local/bin
. Tenga en cuenta que necesitasudo
acceso para agregar / cambiar archivos aquí. Ver: ¿Existe un lugar estándar para colocar scripts de Linux personalizados?Para sus propios scripts de ID de usuario, póngalos
/home/YOUR_NAME/bin
. Tenga en cuenta que primero debe crear este directorio y reiniciar el terminal para que la ruta se configure automáticamente~/.profile
. Ver: ¿Cómo agregar / home / username / bin a $ PATH?Lo que sé no lo sé
Estoy pensando en tomar algunos de mis scripts de bash más complejos en Ask Ubuntu y configurarlos con scripts de instalación
github
. Aquí hay algunos ejemplos:Creo que los scripts deberían instalarse en
/usr/bin
el $ PATH, pero todavía no estoy seguro del lugar apropiado.fuente
man hier
sección que no respondió la respuesta de gertvdijk. es decir, puede obtener la estructura jerárquica del directorio en la línea de comandos sin tener que recurrir a leerla en la web (es decir, aquí).man hier
es un extracto informativamente insuficiente de la OMI). Sin embargo, esta puede ser mi opinión personal./usr/X11R6/bin
y/usr/local/bin
que se incluye enman heir
./usr/local/bin
ya que no eres el administrador de paquetes?