208 filesystem
在 Windows 下,大多数应用程序和应用程序数据都存储在称为C:\Program Files(有时为C:\Program Files (x86))的特殊目录中。与此路径等效的 Ubuntu/Linux 是什么?甚至有吗?
Sca*_*ine 116
[编辑:您可能应该查看 d4nyll 的答案,这是一个漂亮的地图,作为 Linux 文件系统的广泛初学者指南]
/bin并且/usr/bin是启动程序的脚本所在的位置。“程序文件”的直接等价物可能是/opt或可能是/usr/share(请参阅文件系统层次结构标准)。该目录包含大多数程序的各种支持文件。

然而,可能没有直接的等价物,因为例如,库文件在整个系统(in /lib)中共享,并且选项要么是用户指定的(在用户的主目录中),要么普遍位于/etc.
因此,通过 deb 文件、存储库或构建安装程序可能会将文件放在所有这些位置。
[编辑] 正如其他人所指出的,还有/sbinand /usr/sbin。加/usr/local/bin,/opt/bin甚至/usr/games/。所以绝对不能直接比较c:\program files!
Ger*_*ger 86
阅读下面我的回答,了解有关PATH环境变量是什么、.desktop文件是什么以及如何使用各种 linux 命令查找特定程序的更多信息。
原答案:
/bin, /usr/bin, 和/usr/share如其他答案中所述,您可以在/bin或下找到大多数可执行文件/usr/bin,并且支持文件安装在/usr/share.
/usr/local 和 /opt然而,Ubuntu 安装应用程序的目录更多。PATH确定在哪里搜索输入的命令的变量可能会给你一个线索,我的看起来像(echo $PATH在终端中):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Run Code Online (Sandbox Code Playgroud)
如您所见,某些软件已安装/usr/local并具有自己的目录和bin. 安装许多程序的另一个地方是/opt. 这些位置的属性由Filesystem Hierarchy Standard解释,这是一个很好的阅读。不幸的是, 和 之间的区别/opt并/usr/local没有很好地解释,unix stackexchange上有人有更详细的解释:
/usr/local是安装管理员构建的文件的地方,通常使用 make 命令。这个想法是为了避免与作为操作系统一部分的文件发生冲突,否则这些文件将被覆盖或覆盖本地文件。例如。/usr/bin/foo是操作系统的一部分,/usr/local/bin/foo而是本地替代品,/opt是一个目录,用于在各自的子目录中安装未捆绑的软件包。它们已经是由独立的第三方软件分销商提供的完整软件包。例如,someapp将安装在 中/opt/someapp,其命令之一将在/opt/someapp/bin/foo[然后通常在 中的bin目录之一中建立符号链接PATH,或者从桌面文件调用该程序(见下文)]。.desktop 档案要找出特定程序的安装位置,您可以执行许多步骤。首先,您需要找到它的.desktop文件。桌面文件类似于 Windows 中的快捷方式,对于系统应用程序,它们位于/usr/share/applications. 仅对当前用户可用的应用程序的桌面文件位于~/.local/share/applications. 以谷歌浏览器为例,它有桌面文件/usr/share/applications/google-chrome.desktop并查找以 开头的行Exec=,这决定了如何启动谷歌浏览器。它说:
Exec=/opt/google/chrome/google-chrome
Run Code Online (Sandbox Code Playgroud)
所以你知道谷歌浏览器在/opt.
现在对于位于/usr/share/applications/firefox.desktop. 它简单地说
Exec=firefox %u
Run Code Online (Sandbox Code Playgroud)
起初这似乎没有多大帮助,但随后您意识到它firefox必须位于PATH变量(最有可能是 a bin)中的目录中,我们可以查找它(见下文)。
要查找命令,您可以使用以下一项或多项:type,which和whereis(我已经提供了指向其在线手册页的链接)。
type:它描述一个命令,并指示如果用作命令名称将如何解释它。命令的可能类型有:
(类型本身是内置的 shell,请尝试使用type type:P)
执行type firefox给了我们
firefox is /usr/bin/firefox
Run Code Online (Sandbox Code Playgroud)
这就是我们想知道的
如果命令是一个文件(您使用 进行了检查type),那么您还可以使用:
which:显示命令的完整路径,
执行which firefox给了我们
/usr/bin/firefox
Run Code Online (Sandbox Code Playgroud)whereis:定位命令的二进制文件、源文件和手册页文件。
执行whereis firefox给了我们
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Run Code Online (Sandbox Code Playgroud)奖金
您可以/usr/bin/firefox仔细检查ls -l /usr/bin/firefox,这给出:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Run Code Online (Sandbox Code Playgroud)
这似乎/usr/bin/firefox是“仅”指向脚本的符号链接/usr/lib/firefox/firefox.sh。如果您检查脚本,您会发现脚本调用/usr/lib/firefox/firefox.
你现在可以安息了:)
bin*_*inW 18
没有与Program Files 文件夹完全等效的单个目录。Linux 安排事情的方式与 Windows 有很大不同。
在 Windows 中,我们安装的每个程序在 Program Files 目录中都有自己的目录。在该目录中,为不同类型的文件创建了更多子目录。子目录没有固定的结构。程序自己决定他们想给每个目录调用什么,以及他们想把什么放在哪里。
但是在 Linux 中,当安装程序时,不同类型的文件被复制到不同的位置。可执行文件复制到/usr/bin,库文件复制到/usr/lib,文档复制到/usr/ man,/usr/info和/usr/doc 中的一个或多个。如果有配置文件,它们通常在用户的主目录或/etc 中。
Lek*_*eyn 10
该C:\Program Files文件夹将/usr/bin在 Ubuntu 中。/bin看起来更像C:\windows。
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
Run Code Online (Sandbox Code Playgroud)
Ubuntu 的结构与 Windows 不同。Ubuntu 将几乎所有的应用程序放在一个目录中,比如/usr/bin. Windows 将创建一个新文件夹,例如Mozilla Firefox,并在其中添加配置、可执行文件、DLL、图像等。Ubuntu 将它们拆分,可执行文件进入/usr/bin,系统范围的配置进入/etc,共享对象进入/usr/lib,图像进入/usr/share,......
Linux“程序文件”在整个层次结构中。这可能是对/usr/bin,/bin,/opt/...,或在其他目录。
我想你会找到一些与你的应用程序相关的文件。然后,我知道如何查看程序安装时安装的文件。
synaptic通过sudo apt-get install synaptic在终端上发出来安装。Properties。Installed File选项卡。结果与 相同dpkg -L package_name。这是因为 linux 根据它们的类型将安装的文件分别移动到目录。
/usr/bin或/bin。/usr/share/icons或打开~/.local/share/icons本地。/opt。/usr/share/applications或打开~/.local/share/applications/usr/share/doc/usr/lib以及许多其他目录。(CMIIW,接受更正)