如果我有一个自定义的shell脚本或程序,是我自己创建的或从web下载的,并且我希望能够从CLI执行它,那么在Linux/Unix目录 struct 中是否有标准的位置来放置它?
/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?
我通常把它放在我的~/bin文件夹下,然后放在路径中,但它看起来并不干净.每次我下载一个新程序,我都要把它重新放到路径上.
如果我有一个自定义的shell脚本或程序,是我自己创建的或从web下载的,并且我希望能够从CLI执行它,那么在Linux/Unix目录 struct 中是否有标准的位置来放置它?
/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?
我通常把它放在我的~/bin文件夹下,然后放在路径中,但它看起来并不干净.每次我下载一个新程序,我都要把它重新放到路径上.
/usr/local/bin
的存在正是为了这个目的,用于系统范围的安装.对于你自己的私有使用,~/bin
是事实上的标准.
如果你想把每个二进制文件保存在它自己的子目录中,你可以这样做,并在你的PATH
中已经存在的目录中添加一个符号链接.比如说
curl -o $HOME/downloads/fnord http://fnord.example.com/script.exe
ln -s $HOME/downloads/fnord $HOME/bin/
假设你的PATH
中有$HOME/bin
.(有像stow
这样的工具可以在幕后为您实现这一点,甚至更多.)