Windows的bin目录相当于什么?


16

binWindows 是否有与之等效的软件?如果是这样,如何从命令提示符下访问它?


5
您需要详细说明...您正在寻找并试图实现什么?
Eric F

8
bin并不特殊,它只是在PATH环境中列出有价值的东西。Microsoft的Windows也具有此变量。唯一的区别是它使用;代替:,并且.在乞求中暗示了增加的不安全性。因此,请看一下此变量。您也可以对其进行编辑以添加bin目录。
ctrl-alt-delor

出色的编辑可以实现的惊人效果。:P
Michael Frank

1
@MichaelFrank特别是当您做出假设并添加OP没问过的内容时(例如:“可以在Windows中创建”)。我们应该注意这一点。
Ƭᴇcʜιᴇ007

2
或者通过删除诸如“目录”之类的关键字来使标题不明确。起初我以为主题是关于文件类型的。
锯末2015年

Answers:


28

/bin在Unix / Linux上,实际上没有什么特别的。它只是按照约定放置可执行文件(包括脚本,实际上不是二进制文件)的位置,默认情况下,所有用户都将其包含在环境变量中。正如Ryan所说,Windows上的目录也可供所有Windows用户使用(即使不是,Windows的程序加载器也将在该目录中搜索)。PATH\Windows\System32PATH

您可以/bin在Windows上轻松创建自己的等效项。要使其在整个系统范围内,请将其放置在文件系统根目录之类的位置(如C:\bin)或已受限制的位置(如)之下\Windows\System32\bin,然后将其添加到PATH所有用户的环境变量中。对于每个用户的位置,请在您自己的配置文件(%USERPROFILE%\bin)中创建目录,并将其添加到您帐户的PATH环境变量中。Windows结合了每个用户和系统范围的PATH环境变量,因此机器PATH变量中的任何内容也将添加到任何用户的PATH,但反之则不然。

当然,您必须自己将文件/脚本/快捷方式/符号链接添加到bin目录中。Windows安装程序不会发生这样的事情,并且不会像Linux安装程序通常那样自动将文件放置在此处。


10
我不会bin在System32内放置一个类似目录的目录。那就是操作系统的域。最好将它放在其他位置,例如建议的c:\ bin,然后重新创建ACL。如果您知道绕过ACL界面的方式,那么这样做不会超过一两分钟。否则会稍长一些,但仍不会很长一段时间。
CVn 2015年

1
我要补充一点,从命令提示符处访问用户安装的CLI工具的标准方法是将其安装目录(类似于%ProgramFiles%)添加到PATH。
詹斯

Windows并没有使用相同的名称结合环境变量-通常是用户级的环境变量覆盖系统级的。PATH是一种特殊情况,而AFAIK是Windows唯一以这种方式处理的情况。
afrazier 2015年

OP从未询问过要创建bin目录或环境变量的问题,而是谈论离题的话题。
Ryan Babchishin

1
出于所有应有的尊重,询问“ binWindows 的等效项”就是询问环境变量以外的任何内容,因为这就是环境变量/bin中的一个文件夹PATH。关于如何使用诸如/bin(或%WINDIR%,或%WINDIR%\System32)之类的文件夹,存在一些用户约定,但是系统并不知道或不在意它们。(在此情况下)它关心的只是PATH环境变量。
CBHacking

6

如果您指的是bin(例如在Unix / Linux中),则不尽然。Windows不使用由不同Unix变体共享的FHS。尽管Windows确实像Unix一样保留了所有内容。

最接近/ bin的东西可能是c:\ windows \ system32

cd c:\windows\system32

1
Windows和Linux(或FHS)都不会“无处不在”。Windows主要使用System32目录和(现在是两个)Program Files目录来使事情保持合理有序。在Linux(以及许多其他类似Unix的系统)中,根据工具的系统重要性,在每个根目录,/ usr以及可能的/ usr / local下都具有bin(通用用户工具)和sbin(通常是系统管理工具)。(/ usr和/ usr / local都可以与根文件系统分开。)Windows在文件系统之间没有明确区分工具类型。
CVn 2015年

1
我认为您只是证明了我的观点,在很多地方存储了可执行文件。如果您认为那是我的意思,那不是随机的。我的Linux桌面仅在/ usr下有479个目录,其中包含某种可执行文件。如果我选择了它,我猜有些文件会被不适当地标记为可执行文件,但是您会想到的。FHS指定了7个标准父目录,这些目录可用于可执行存储,其中许多目录可以具有子目录。Windows与之类似,因为它在c:\ windows下和c:\ Program Files下的多个位置存储了可执行文件。
Ryan Babchishin

在Ubuntu系统上,默认情况下PATH变量中有6个条目。
Ryan Babchishin

5

类似binUnix的系统中的目录包含系统程序C:\Windows\System32和已安装的程序,但是在Windows中,系统程序位于,安装的程序可能位于C:\Program Files


2

正如其他人所说的,“等价”一词的含义并不清楚,但是即使在Unix等价的情况下,命令行上常用的许多命令还是内置在cmd.exe中(dir,copy,type,mkdir等)将位于/ bin中,而其他文件(findstr,net,mountvol,shutdown,任务列表等)则大多位于(通常)C:\ Windows \ System32(在c:\ Windows \的64位系统上为32位版本) Syswow64资料)。

该命令可以显示命令列表help,其中包括cmd.exe内置的一些命令和一些外部程序。


1

我已经在Windows和Linux上维护服务器近30年了。出于某种原因,从一开始,我就开始在c:的根目录下创建一个bin文件夹,并且我始终将用于维护服务器的所有脚本和实用程序放入其中。有时我添加了路径,但并非总是如此。猜猜我一直都喜欢在两个系统上都使用一个名为bin的文件夹来放入脚本的想法。

但是,没什么神奇的事,您可以在每个系统上做不同的事情。

谢谢,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.