当前位置: 首页 > 面试题库 >

在Unix标准目录下放置自定义可执行文件或脚本?

司徒钱青
2023-03-14
问题内容

如果我有一个自定义的Shell脚本或程序,是我自己创建的或从Web上下载的,并且希望能够从CLI执行,那么是否存在将其放置在Linux /
Unix目录结构中的标准位置?

/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?

我通常将其放在我的〜/ bin文件夹下,并将其放在PATH中,但是看起来并不干净。而且,每次下载新程序时,都必须再次将其放入PATH。


问题答案:

/usr/local/bin专门为此目的而存在,用于系统范围的安装。供您自己私人使用,~/bin是事实上的标准。

如果要将每个二进制文件保留在其自己的子目录中,则可以执行此操作,然后将符号链接添加到已存在的目录中PATH。因此,例如

curl -o $HOME/downloads/fnord http://fnord.example.com/script.exe
ln -s $HOME/downloads/fnord $HOME/bin/

提供$HOME/bin在您的中PATH。(有诸如此类的工具stow可以在后台为您提供更多信息)。



 类似资料:
  • 在转换到Swift3后,我刚刚解决了我的错误,但在尝试编译时却得到了这个错误。为了清晰起见,我附上了一张截图,它看起来不像是系统在寻找一个.app文件或.sh文件。真的不太了解豆荚,所以任何帮助都会非常感谢!

  • 我正在开发一个外壳脚本,它将在文件夹中的所有日志文件和子文件夹中搜索特定的关键字。 我正在使用下面的grep命令,但它只显示当前目录中的关键字,而不显示子目录中的关键字。在我的例子中,我有一堆子目录,其中日志文件将在那里,它不会显示子目录中的文件。 请建议我如何做到这一点。 谢谢

  • 我试图了解更多关于游戏框架中的自定义模块。我使用命令行创建了一个播放应用程序(v1.2.5)。 播放新的myApp 然后我在同一目录中创建了三个模块 播放新模块 myModule1 播放新模块 myModule2 播放新模块myModule3 该目录处于以下状态 /我的应用目录 /myApp /myModule1 /myModule2 /我的模块3 下面是我的“dependencies.yml”文

  • 本文向大家介绍shell在指定目录下批量执行sql脚本的实例,包括了shell在指定目录下批量执行sql脚本的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇shell在指定目录下批量执行sql脚本的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 在我当前的Grails项目中,有一个场景需要在适当的位置将一些独立的可执行文件添加到文件中。这些文件不会在Grails项目内的任何地方使用,而是从Bash shell调用,以便将一些消息发送到消息传递队列(例如RabbitMQ)。

  • 问题内容: 我只想从特定文件夹执行文件。就我而言/ data / data / my-package / files /。所以我试着: 没用 谁能告诉我正确的做法。谢谢 问题答案: 应该可以使用以下命令在特定的工作目录下调用可执行文件: 如下: 也许没有完整的途径 而不是硬编码,该路径也应该起作用,并且比您自己指定路径更安全/更干净,因为不能保证该 路径始终是所有设备的正确路径。 问题在于目录已针