用户脚本位置linux(debian etch)

时间:2008-08-18 20:15:14

标签: linux debian

在linux文件系统中,应该放置用户脚本吗?

我正在考虑用cron调用python脚本。

8 个答案:

答案 0 :(得分:35)

我得到的信息:

/usr/local/sbin     custom script meant for root
/usr/local/bin      custom script meant for all users including non-root

聊天记录来自irc.debian.org #debian:

(02:48:49) c33s: question: where is the _correct_ location, to put custom scripts
for the root user (like a script on a webserver for createing everything needed 
for a new webuser)? is it /bin, /usr/local/bin,...? /usr/local/scripts is 
mentioned in (*link to this page*)
(02:49:15) Hydroxide: c33s: typically /usr/local/sbin
(02:49:27) Hydroxide: c33s: no idea what /usr/local/scripts would be
(02:49:32) Hydroxide: it's nonstandard
(02:49:53) Hydroxide: if it's a custom script meant for all users including 
non-root, then /usr/local/bin
(02:52:43) Hydroxide: c33s: Debian follows the Filesystem Hierarchy Standard, 
with a very small number of exceptions, which is online in several formats at 
http://www.pathname.com/fhs/ (also linked from http://www.debian.org/devel/ and 
separately online at http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html)
(02:53:03) Hydroxide: c33s: if you have the debian-policy package installed, it's 
also in several formats at /usr/share/doc/debian-policy/fhs/ on your system
(02:53:37) Hydroxide: c33s: most linux distributions follow that standard, though 
usually less strictly and with more deviations than Debian.

感谢Hydroxide

答案 1 :(得分:19)

如果您正在讨论将由该用户crontab运行的用户创建的脚本,我通常将它们放在主目录中的bin或scripts文件夹中,或者如果它们打算在用户之间共享,/ usr / local / scripts目录。

答案 2 :(得分:8)

对于它感兴趣的人,Filesystem Hierarchy Standard (FHS)是一份标准文件,仍然是一本非常好的读物。我描述了几乎所有Linux发行版的基础,并且正式认可,例如由Debian和Linux Standards Base(LSB)。

但是,你不会找到任何肯定的答案,因为......它没有定义;-)。我只能说:不要放入/ bin(既不在/ usr / bin中)。 / usr / local / scripts也很不寻常。 $ HOME / bin似乎是一个可接受的地方,如果该脚本仅由该单个用户使用。

答案 3 :(得分:3)

对于Ubuntu,Debian guide非常有用:

  

通常,程序会将自己安装在/ usr / local子目录中。但是,Debian软件包不能使用该目录,因为它是为系统管理员(或用户)的私人使用而保留的

根据指南,

/usr/local/bin似乎是可以接受的。

我个人将脚本放在$HOME/.scripts

我希望LSB能够专门解决这个问题。

答案 4 :(得分:3)

我是一个强大的beleiver,如果一个文件是由用户创建的,它会进入他的用户目录(/ home / username),如果他没有成功,那么它会变得更复杂。我过去只是将它们放在/ usr / local / bin,/ bin或/ usr / local / scripts中,我不确定etch,但你需要检查以确保/ usr / local /脚本实际上是在Cron的$ PATH中。

答案 5 :(得分:2)

/ home / username / bin怎么样?

将〜/ bin添加到$ PATH并使用chmod + x filename使脚本可执行。

答案 6 :(得分:2)

我个人更喜欢

/home/username/.bin

这样就可以隐藏bin文件夹了,但你仍然可以将它添加到PATH中并使用x-bit执行所有脚本。

我喜欢我的主目录是干净的(乍一看),只有很少的文件夹。

答案 7 :(得分:0)

您还可以添加crontab文件的路径,如previous cron-related question

所示