Gri*_*nch 5 filesystem windows
这可能不是发布此内容的最佳位置,但我的问题是询问什么是 Linux 相当于 Windows 的程序文件?.
我是 windows 新手,习惯了 unix 风格的文件系统,那里有为某些类型的文件指定的文件夹。我想知道在 Windows 中安装程序的正常方法是什么,特别是那些将从 cmd 提示符启动的程序。
到目前为止,我一直在为每个程序添加用户环境变量,并将此变量附加到 PATH。所以,对于 gvim,我会添加
GVIM_HOME
Run Code Online (Sandbox Code Playgroud)
然后附加到我的路径:
%PATH%;%GVIM_HOME%
Run Code Online (Sandbox Code Playgroud)
但是现在我想知道是否应该创建一个文件夹并将其添加到路径中,然后将我的 exe 的快捷方式放入该文件夹中。你们中有人知道这样做的通常方法吗?
很高兴知道您是从 Unix 开始的 :-)
通常,Windows 中的目录/文件夹的组织方式与 Unix/Linux 中的不同。我通常有一个“系统”分区,用于安装 Windows 本身和我的应用程序,还有一个“数据”分区,用于保存我自己的数据。在 Post-XP Windows 中,这可能有点难以完成,但是您自己打开和关闭的任何内容都可以存储在数据分区中。
回到系统分区,任何程序的默认安装位置是“C:/Program Files”或其他安装程序会自行找出的位置。在“程序文件”二进制文件下,文档和所有支持文件都在那里供程序运行。但是对于像 GVIM 这样的程序,我建议你把它放在 C:/ 下并使用没有空格的路径。然后你更新 %PATH。这就是我安装 Perl 和其他在 Unix 世界中更流行的纯命令行工具的方式。或者为了更有条理,您可以创建一个像 C:/cmdtools 这样的文件夹,并将您手动安装的程序放在那里。
AFAIK 没有“通常的方法”来做到这一点,主要是因为在(非服务器)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 上的体验。YMMV 具有较新版本的 Windows 和命令 shell。