Linux 中相当于 C:\Program Files 的是什么?

Linux 中相当于 C:\Program Files 的是什么?

据我所知,在Windows以及Linux和Unix中,程序|应用程序|软件可以安装在任何目录中。此外,如果使用发行版的打包系统安装软件包,它会将文件放置在正确的位置。

但有时,软件安装会提示输入放置文件的路径。如果是 Linux 发行版,这个默认位置(C:\Program FilesC:\progra~1等效位置)在哪里?不同的发行版有不同吗?如果是,这将在哪里用于RHELSuseUbuntu

答案1

Linux 文档项目有一个Linux 文件系统层次结构的描述他们解释了不同的文件夹及其(部分历史)含义。

正如 xenoterracide 已经指出的那样/bin/opt它是可以与 Windows 上的“程序文件”进行比较的标准目录。

/bin包含几个有用的命令,对系统管理员和非特权用户都有用。它通常包含bash、等 shell 以及、、、、csh等常用命令。cpmvrmcatls

引自 TLDP

/opt为所有不属于默认安装的软件和附加软件包保留。例如,StarOffice、Kylix、Netscape Communicator 和 WordPerfect 软件包通常可以在此处找到。

引自 TLDP

答案2

没有直接的等价物。目录结构有很大不同。在 Windows 下,每个已安装的软件包/软件都有一个目录,其中包含与(例如C:\Program Files\MyProgram)相关的所有文件。在 Linux 下,每个软件根据文件类型和其他一些规则“分散”在许多目录中。

例如,我们可以检查与xscreensaver程序相关的不同文件的安装位置:

/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]

不要担心,通常当安装程序询问安装到哪里时,正确答案是以下之一:/, /opt, /usr,/usr/local

正如您所看到的,几乎所有(1)个文件都根据一些简单的规则xscreensaver安装在下面:可执行文件在 中,手册页在 中,文档在 中等等。/usr/usr/bin/usr/share/man/usr/share/doc/packages/PROGRAMNAME

当安装人员要求安装时prefix通常它现在想要根据安装程序的路径。在我的xscreensaver例子中,它是/usr

作为简单的规则:/应仅包含启动系统所需的程序(如C:\windows\system32),/usr/local应包含仅在该唯一计算机上所需的程序,/opt(2)所有选修的具有非标准目录结构和/usr所有标准软件。

无论如何,它存在一个标准详细定义了所有这些规则:文件系统层次结构标准

(1) 系统范围的配置文件必须驻留在/etc

(2) Linux下相当过时

答案3

通常,/bin/usr/bin/usr/local/bin、 或/opt/bin。我认为/usr/bin/opt/bin是最接近程序文件的,因为它们通常用于由系统管理员安装的非系统关键二进制文件,尽管与 Windows 不同,它们都包含使用包管理器安装的程序。哪里/usr/local/bin是非发行版打包软件。/bin适用于系统关键二进制文件,例如/bin/sh.

答案4

正如其他人指出的那样,通过包管理器安装的程序分散在多个目录中。虽然二进制文件通常位于/usr/bin,但系统范围的配置文件位于/etc,等等。

如果应用程序不是通过包管理器安装的,则文件应安装在不会干扰包管理器的位置。这个地方是/usr/local

如果要求您提供安装路径,最常见的选择是/usr/local/appname

相关内容