在 OSX 下放置脚本和库的惯用正确位置

在 OSX 下放置脚本和库的惯用正确位置

我正在迁移到 OSX,需要弄清楚何时保留我的脚本和库。我有 Perl 和 Python 代码,以及用这两种语言编写的库。我是这台机器的唯一用户,所以我想 ~/bin/ 和 /usr/local/bin/ 之间的区别不如在多用户机器上那么明显。

我不确定在 Unix 下这些文件的正确布局是什么样的(即使我研究了一下,例如,这里)甚至更少OSX 的非标准布局

我应该把实际运行的脚本放在哪里?在 ~/bin/ 中?在 /usr/local/bin/ 中?我应该将 Python 和 Perl 分开,比如说,在 ~/bin/python/ 和 ~/bin/perl/ 中吗?

而且(我觉得更难)我应该把库放在哪里?在 ~/lib/ 中?在 ~/lib/python/ 和 lib/perl/ 中?还是在 ~/Library/ 中的某个地方?

答案1

如果您想要保持与其他 Unix/Linux 系统的兼容性,您应该使用/usr/local/bin/usr/local/lib,即使您是机器上唯一的用户。文件系统层次标准表明/usr/local等级制度

供系统管理员在本地安装软件时使用。它需要确保在系统软件更新时不会被覆盖。它可用于可在主机组之间共享但在 中找不到的程序和数据/usr

本地安装的软件必须放在 内,/usr/local而不是内/usr,除非是为了替换或升级 中的软件而安装的/usr

从技术上讲,如果这些程序仅供您自己使用,您可以使用~/bin~/lib等,但我通常会将这些目录保留给共享机器(例如,在我的网络主机上)上的非管理员用户使用。

至于基于语言的分类,二进制文件应该全部在 中/usr/local/bin,但库可以位于/usr/local/lib/perl5/usr/local/lib/python3.3等中。

相关内容