Answers:
在Linux文档项目有Linux文件系统层次结构的描述,他们解释不同的文件夹和它们(这部分的历史)的意义。
正如xenoterracide已经指出的那样/bin
,/opt
它们是可以在Windows上与“程序文件”进行比较的标准目录。
/bin
包含几个有用的命令,它们对系统管理员和非特权用户都有用。它通常包含像贝壳bash
,csh
等....常用的命令一样cp
,mv
,rm
,cat
,ls
。
(引自TLDP)
/opt
保留用于不属于默认安装的所有软件和附加软件包。例如,通常在此处找到StarSuite,Kylix,Netscape Communicator和WordPerfect软件包。
(引自TLDP)
没有直接的对等物。目录结构非常不同。在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下相当陈旧
/opt
是第三方软件的首选,已经/usr/local
有相当长的一段时间了。
/usr/share
之所以称为“共享” ,是因为它在不同的体系结构(文档,脚本,图像)之间共享,而/usr/lib*
用于与体系结构相关的文件(而不是可执行文件/usr/bin
)。
Ususually, ,/bin
,/usr/bin
,/usr/local/bin
或/opt/bin
。我想/usr/bin
和/opt/bin
最接近于程序文件,因为他们通常是由系统管理员安装的非关键系统二进制文件,但与Windows这两个包含了包管理器安装的程序。/usr/local/bin
非发行版打包软件在哪里。/bin
适用于系统关键二进制文件,例如/bin/sh
。
/bin
,/usr/bin
,/usr/local/bin
或/opt/bin
。没有一个标准位置吗?我问的原因是因为我在几个VM上安装软件,并且默认位置占据了分区最大的位置。我想将分区空间更改为软件通常会去的目录,并且不要在所有VM中都放置不同的软件。
/opt
例如通常用于专有软件。
/usr/
是一个单独的分区。
/bin
和/usr/bin
歧视已经过时了。从历史上看,系统关键的东西将是/bin
,/lib
,...(直接在根),而/usr
(与/usr/bin
,/usr/lib
,...)将在后面安装(可能通过网络),不是必需的基本系统功能。
/opt
不应退出。过去,过去有些人认为将某些应用程序放置在与所有其他应用程序不同的位置是一个好主意。/bin
在根分区上。由于在某些系统上,根分区上的空间有限,因此将非必需的二进制文件(即所有用户应用程序)移至/usr/bin
。