据我了解,放置您自己的脚本的正确位置是/usr/local/bin
(例如我用来备份某些文件的脚本)。我注意到该文件夹当前(默认情况下)由 root 用户拥有,而我的普通用户无权访问它。我是这台计算机上的唯一用户。我应该将整个文件夹更改为我自己的用户吗?或者还有其他正确的方法来安排权限/usr/local/bin
?
答案1
/usr/local
默认情况下,所有子目录(包括)的所有者和组bin
应该是root.root
,权限应该是rwxr-xr-x
。这意味着系统的用户可以在此目录结构中读取和执行,但不能在那里创建或编辑文件。只有root
帐户(或使用 的管理员sudo
)应该能够在此位置创建和编辑文件。尽管系统上只有一个用户,但将此目录结构的权限更改为除 之外的任何用户都可写通常是一个坏主意root
。
我建议将您的脚本/二进制文件/可执行文件放入/usr/local/bin
根帐户中。这是一个值得养成的好习惯。您还可以将脚本/二进制文件/可执行文件放入 $HOME/bin 中,并确保 $HOME/bin 位于您的 $PATH 中。
请参阅此问题以获取更多讨论: 本地可执行文件应该放在哪里?
答案2
通常放置您自己的脚本的位置是~/bin
,然后将此目录添加到您的PATH
.
答案3
既然你是仅有的系统上的用户,因此也是您编写的脚本的唯一用户,我认为在/usr/local/bin
.安装脚本/usr/local/bin
只会使备份和维护个人文件变得更加困难。
此外,/usr/local
当从本地编译的源代码安装外部软件时,可能会使用层次结构,这意味着以这种方式安装的软件有覆盖您的个人脚本和/或意外地将它们拾取为系统提供的工具的潜在风险(取决于如何您命名您的脚本)。
另请注意,某些 BSD 系统上的包管理器会在/usr/local
(例如 OpenBSD 和 macOS)下安装包,这是为个人脚本保留特定文件层次结构的另一个原因。
如果您是系统的唯一用户,则只需安装在 下$HOME
,例如在$HOME/local
层次结构中。要么使用一个完全独立的层次结构,例如,/opt
或/sw
某个这样的地方(基本系统或包管理器不使用)。