/usr/bin 等的 Windows 等效项是什么?

/usr/bin 等的 Windows 等效项是什么?

这可能不是发布此问题的最佳地点,但我的问题是Linux 中与 Windows 的 Program Files 对应的是什么?

我是 Windows 新手,习惯于使用 Unix 风格的文件系统,其中有为特定类型的文件指定的文件夹。我想知道在 Windows 中安装程序的正常方式是什么,特别是那些将从 cmd 提示符启动的程序。

到目前为止,我已经为每个程序添加了用户环境变量,并将此变量附加到 PATH。因此,对于 gvim,我将添加

GVIM_HOME

然后附加到我的路径:

%PATH%;%GVIM_HOME%

但现在我想知道我是否应该创建一个文件夹并将其添加到路径中,然后将我的 exe 的快捷方式放入该文件夹中。你们有人知道通常的做法吗?

答案1

知道你从 Unix 开始,真是太有趣了 :-)

通常,Windows 中的目录/文件夹的组织方式与 Unix/Linux 中的不同。我通常有一个“系统”分区,用于安装 Windows 本身和我的应用程序,还有一个“数据”分区,用于保存我自己的数据。在 XP 之后的 Windows 中,这可能有点难以实现,但您自己打开和关闭的任何内容都可以存储在数据分区中。

回到系统分区,任何程序的默认安装位置都是“C:/Program Files”或安装程序会自行确定的其他位置。在“Program Files”下,有二进制文件、文档和所有支持文件供程序运行。但对于像 GVIM 这样的程序,我建议您将其放在 C:/ 下并使用不带空格的路径。然后更新 %PATH。这就是我安装 Perl 和其他在 Unix 世界中更流行的纯命令行工具的方式。或者为了更有条理,您可以创建一个像 C:/cmdtools 这样的文件夹,并将您手动安装的程序放在那里。

答案2

据我所知,没有“常用方法”来做到这一点,主要是因为在(非服务器)Windows 世界中,程序被设计为通过 UI 运行。但我刚刚检查了附近 Windows 框的 %PATH% 变量,它里面有无数不同的路径,所以这可能是最常见的行为。

这也是一个好主意,因为Windows 快捷方式不像 *nix 软符号链接那样工作。它们是磁盘上的实际文件 ( .lnk),而不是对文件系统上其他位置的引用。您可以有一个充满快捷方式的目录,并且可以从 cmd.exe 内部调用它们(例如,c:\>program.lnk将运行c:\foo\program.exe),但每个快捷方式都有一个参数,该参数告诉c:\foo\program.exe它从哪个目录开始执行。它不像 *nix 中的 $PWD 或 /proc/[pid]/cwd。不要搞砸,这非常重要,因为它会影响 DLL 加载等事情。

foo.lnk(此外,必须从 CLI调用而不是直接调用foo对我来说似乎有点笨拙。)

无论如何,这是我在 XP Pro 上的经验。对于较新版本的 Windows 和命令 shell,可能存在差异。

相关内容