Si tengo un script o programas de shell personalizados, que creé yo mismo o descargué de la web, y quiero poder ejecutarlo desde la CLI, ¿existe la ubicación estándar para poner esto en la estructura de directorios de Linux / Unix?
/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?
Normalmente lo pongo en mi carpeta ~ / bin y lo pongo en PATH, pero no parece limpio. Y cada vez que descargo un nuevo programa, tengo que volver a ponerlo en el PATH.

man hier.~/bines una buena ubicación para sus scripts de shell propiedad del usuario.Respuestas:
/usr/local/binexiste precisamente para este propósito, para la instalación en todo el sistema. Para su propio uso privado,~/bines el estándar de facto.Si desea mantener cada binario en su propio subdirectorio, puede hacerlo y agregar un enlace simbólico a un directorio que ya está en su
PATH. Así por ejemplocurl -o $HOME/downloads/fnord http://fnord.example.com/script.exe ln -s $HOME/downloads/fnord $HOME/bin/proporcionado
$HOME/binestá en suPATH. (Hay herramientas como lasstowque hacen esto, y mucho más, detrás de escena para usted).fuente
bines para todo tipo de ejecutables, scripts o binarios adecuados. Si los quiere bajo control de versión directo, poner todo subincontrol de versiones es sin duda una opción; aunque más comúnmente, tiene un proyecto separado para cada uno, o al menos cada grupo distinto. Cuando lance una nueva versión, instálela en la suyabin. O si te tomas en serio la comida para perros y / o tienes muy pocas sorpresas en tu vida, coloca un enlace simbólico a tu versión de desarrollo en tubin.Esto puede variar ligeramente según el tipo de Unix. Estoy asumiendo Linux aquí (aunque esto podría aplicarse a OSX). Según el estándar de jerarquía del sistema de archivos (FHS) (enlace obtenido del grupo de trabajo de la base estándar de Linux ):
/usr/local/binsuele estar en la ruta de forma predeterminada.Tenga en cuenta que solo debe colocar el ejecutable o un enlace a él
/usr/local/bin, el resto puede tener que ingresar/usr/local/libo/usr/local/share.El
/optárbol también podría ser sensato:(Puede crear su propio enlace desde
/opt/your-package/bin/executablehacia/opt/biny poner/opt/binelPATHsi aún no está allí).fuente