有没有人参考各种路径名称对不同版本的Unix的意义?如果可能,请在列表中包含Solaris,RHEL和SLES.
例如,从我收集的内容/ lib是分发的标准库,它永远不会改变(这是正确的吗?还是他们不时得到新版本?),/ usr/local用于由sysadmin安装的应用程序等.但我不确定这是否正确,我还不清楚/ usr/lib和/ lib(前者是sysadmin安装的库?)和/ sbin和/ bin等之间的区别...谢谢.
所有这些都是直接从kdubois.net复制的.上去投票那个网站.
/ home - 这是包含特定于一个用户的信息的所有目录和文件所在的位置.系统的每个用户都应该被授予/ home中与该用户名相匹配的目录.每个用户的个人资料中包含的通常是您定期处理的所有文件,您的文档,媒体和设置都最好放在/ home/$ USERNAME目录中.
/ etc - 这是系统通常存储系统配置文件的位置.网络设置,图形X服务器以及许多其他系统功能都驻留在此文件夹中.看看里面.您的图形X服务器将其所有配置保留在X11 /目录中.文件mtab存储cron设置.如果你在Debian系统上,配置apt的文件正在使用apt /目录.此文件夹中有大量其他系统设置,因此,如果可以,请尝试了解它们.在搞乱/ etc目录中的任何内容时要小心!
/启动 - 此文件夹包含启动计算机所需的内容.最低限度它包含一个像GRUB或LILO这样的引导程序(在启动时弹出的菜单,允许您选择操作系统)和内核映像.通常,这里也包括初始的ramdisks.我更习惯于GRUB,所以我将深入了解使用grub的/ boot目录是如何工作的.在启动时,系统会查看/boot/grub/menu.lst以尝试确定如何为此会话启动所需的系统.在menu.lst中,有应该使用什么内核启动映像的规范,以及应该使用什么初始ramdisk.然后GRUB接受关于系统的内容并跳转启动内核进行引导.除非你搞乱启动选项,否则你可能不会经常处理/ boot,但它是Linux系统的关键部分,
/ bin - 这包含系统范围的基本二进制可执行文件.此处包含解压缩文件或导航目录等基本工具.例如,'cd','ls','ip','cat'和其他通用基本linux标准的程序都包含在这里.
/ mnt和/ media - 根据您使用的系统,这两个文件夹是您安装除/ filesystem之外的文件系统的位置.查看Ubuntu(我通常在笔记本电脑上发布的发行版),无论何时插入USB记忆棒,CD或新硬盘,它都会安装在/ media目录下.
的/ dev - 它包含系统的所有设备节点.内核检测到的任何硬件都放在这里作为条目.在现代Linux系统中,此文件夹主要由Udev管理,这有助于自动配置和填充此目录.强行删除此目录中的任何内容是非常不明智的.:-D.此文件夹非常有用,可以告诉您刚刚编译的驱动程序是否正常工作,以及查看系统所看到的硬件.例如,hd1,hd2等是PATA硬盘,sd1,sd2等是SCSI驱动器,ram是系统RAM,而video0通常是某种电视调谐器.严格来说,/ dev中的每个项目都不是系统的物理组件,但大多数都是.每个设备都被视为一个文件.这个概念对于经验丰富的开源人员来说很熟悉,但对于来自windows的新转换者来说却是一个奇怪的概念.这样就消除了大量的抽象,使得您的图形卡写入与撰写学期论文相同.内核处理使设备处理数据所需的实际步骤.由此产生了一些巧妙的小技巧.例如,我可以cat/dev/video0(我的Hauppauge电视调谐器)并用一个命令录制电视节目.(cat/dev/video0> show.mpg).尊重dev目录!:-D
/ lost + found - 当EXT文件系统出现问题时,任何孤立或有问题的文件都放在此处.希望你永远不必考虑这个文件夹.:-)
/ sbin - "系统二进制文件"的串联,此文件夹通常包含更高级别的系统实用程序,例如用于网络配置的ifconfig./ bin和/ sbin之间的界限对我来说总是有点模糊,但是sbin实用程序似乎总是执行更高级的功能,比如用于获取DHCP IP地址的dhclient,或用于格式化磁盘的mkfs.
/ root - 这是超级用户(root用户的)主文件夹.就那么简单.
/ tmp - 你可以猜到,这个文件夹包含临时文件.如果Mozilla Firefox需要缓存当前下载,它可以将部分文件存储在/ tmp中,直到完成下载,然后将其从/ tmp复制到您选择的下载位置.好的程序在使用它们时会自行清理/ tmp,但是它的内容会在重启时自动删除,所以不要担心这个文件夹会随着时间的推移而膨胀,直到导致性能问题.
/ lib - 包含所有系统库.看看里面,你会发现一堆.so文件.这些是其他程序运行所需的库.如果您对此感到好奇,请输入"ldd/bin/echo"(echo是一个用于输出文本的简单实用程序).您的系统将返回库echo连接的内容,即ld-linux.so.2和libc.so.6以及linux-gate.so.1.ldd适用于任何程序.修改系统库的名称将破坏您的系统.当程序需要访问位于库中的关键组件时,程序将不知道在哪里查看.几乎所有链接都反对libc.so.6和ld-linux.so.2,因此重命名这是破坏系统的可靠方法.您不必过于担心系统库,因为包管理员在保持一切顺利的同时做得很好.编译代码,或者帮助开发linux,但是,你可能会遇到有问题的库存问题,所以请注意!
/ srv - 很多时候,此文件夹在Web服务器上用于包含可通过Internet访问的信息.
/ proc - 这是一个任务关键文件夹,你可能不应该搞砸.内核使用它来组织进程(运行程序,或多或少)的信息.
/ opt - 可选.很多时候,系统管理员会使用此文件夹来安装您希望手动轻松删除的程序.例如,在我的基于gnome的系统上,我将KDE的库安装到/ opt,这样我就可以轻松地删除整个文件夹.编译软件时,默认安装会在目录中分散库,二进制文件和配置文件,因此通过告诉安装程序将所有内容放入/ opt,您仍然可以安装程序,但是可以将其保留在可以删除的位置全部一起.
/ var - 此文件夹包含包含系统状态信息的重要文件.例如,图形服务器的错误日志包含在此文件夹中
在/ usr - 可能是我最喜欢的文件夹/.通常,在/ usr中安装更多面向用户而不是让系统运行的程序.GNOME或KDE通常安装在此文件夹中,您可以在此处找到许多日常使用的程序(如Firefox,Evolution或Gedit).下降到/ usr,你会发现很多像你在/中看到的文件夹.这样做的原因是程序可以安装到类似root的文件夹(就像安装程序所期望的那样),而不会实际上用大量文件混淆/目录.系统的链接器知道查看/ lib和/ usr/lib,因此安装到/ usr/lib中的任何库都可以像/ lib中那样容易找到.同样,/ usr/bin中的二进制文件与/ bin一样容易找到,因为系统知道要查看两个路径./ usr/local包含另一个root目录!这与/ usr中的root like文件夹的原因相同,但是系统管理员可以安装更多永久性程序(通常是他亲自编译的程序).做这一切的原因可能看起来有点模糊或任意,但如果您开始尝试组织系统或开发新软件,实际上非常有用.
大多数Linux发行版遵循文件系统层次结构标准FHS(至少大多数情况下).它的大部分只是已经真正用于UNIX相当长的一段时间(规则/usr
,/var
...),其他都是相当新的(/media
......).
有一两件事,我发现混乱最初是两者的存在/bin
和/usr/bin
以及/lib
和/usr/lib
与那里的东西进了seeemingly随机分布.这种分裂的背后的原因是/usr
可以从不同的存储安装(可能远程)比根所以/bin
和/lib
应该包含一个最小系统,是足以让整个系统启动和运行中的一些系统故障的情况下.
所以Gnome,GIMP等都可以进入/usr
,因为它们不是必需的,但文件系统工具如shell fsck
和mkfs
shell都sh
需要驻留在非usr
目录中.