Linux文件系统熟悉计划—— / 根目录

/ —— 根目录:

一、/介绍:

  • 在Linux中一切皆文件,文件系统是Linux的根本,可以把Linux的文件系统想象成一棵树,而/就是这棵树的树根,所以/才叫根目录,想想sudo rm -rf / --no-preserve-root这条命令的威力!
    Linux文件系统熟悉计划—— / 根目录
  • 所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。因此 FHS 建议: 根目录/所在分区应该越小越好,且应用程式所安装的软体最好不要与根目录放在同一个分区内,以保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。
  • 我的/目录截图:
    Linux文件系统熟悉计划—— / 根目录



二、/下的子目录:

子目录 FHS描述 备注
/bin Essential user command binaries (for use by all users) 基本用户二进制命令文件,供所有用户(系统管理员和用户)使用 /bin下不能有子目录
这里面存放着使用者最经常使用的命令。/bin是系统默认的路径,它是系统发出命令时搜索相应程序的目录列表。这意味着,只要在命令行中输入文件名,然后按下Enter键,就可以运行/bin中的对应的可执行文件(即,可运行程序)从而达到我们执行命令完成对应功能的操作。
/boot Static files of the boot loader 启动加载系统的静态文件 主要放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需设定文件等等。
如果这个目录中的文件被破坏,一般都会出现启动引导异常,无法正常进入系统。root权限才能读写文件
/dev Device files:The /dev directory is the location of special or device files. 特殊或设备文件的目录(Linux内核的设备管理器) 1、“一切皆文件”的直接体现。
2、该目录包含了Linux系统中使用的所有外部设备,如设备,声卡、磁盘等,还有如/dev/null. /dev/console /dev/zero /dev/full 等。它实际上是访问这些外部设备的端口,访问这些外部设备与访问一个文件或一个目录没有区别。
3、大多数设备都是块或字符设备,但是存在其他类型的设备,并且可以被创建。通常,“块设备”是存储或保存数据的设备,“字符设备”可以被认为是传输或传输数据的设备。例如,软盘驱动器、硬盘驱动器和CD-ROM驱动器都是块设备,而串行端口、鼠标和并行打印机端口都是字符设备。
/etc Host-specific system configuration 系统配置文件 1、该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文 件、设备配置信息、设置用户信息等。
2、这是我们linux系统的神经中枢,它包含所有与系统相关的配置文件。一个“配置文件”要被定义为用来控制程序操作的本地文件;它必须是静态的,不能是可执行二进制文件。因此,定期备份这个目录是个好主意。如果您重新安装或丢失当前的安装,它肯定会为您节省大量的重新配置时间。通常,不能存放二进制文件
/home User home directories (optional) 用户主目录(可选)(FHS标准标注可选说明该目录不是一定要在系统中出现 1、我们打开终端的初始位置默认在主目录里面的当前用户的目录下,以“~”为标识。
2、这里主要存放你的个人数据。具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root用户除外。 用户主目录显著的作用是作为私人数据空间,他们可以用这个空间把他们的文件与其他用户的文件分开保存。因为每个用户都有自己的空间,所以两个用户可以将文件或目录取同样的名字而不会出现问题。用户主目录的另一个显著作用是保存用户特有的配置文件。
/lib Essential shared libraries and kernel modules 基本的共享库和内核模块 这个目录里存放着内核模块和系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库,是二进制文件。它们对于基本系统功能是必不可少的。
/lost+found / 这个文件夹是Linux、MaOS和其他类似UNIX的操作系统的一部分。每个文件系统即每个分区都有自己lost+found的目录。你会在这里找到被损坏的文件的恢复位。 这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所,也就是说它对于恢复由于许多原因如电源故障而没有正确关闭的文件是有用的。任何要恢复的文件都保存在该文件夹中。fsck命令用于恢复这些文件。
/media Mount point for removeable media 可移动媒体的挂载点 类似软盘 U盘 光盘等临时挂放目录
/mnt Mount point for a temporarily mounted filesystem临时挂载文件系统的挂载点 临时将别的文件系统挂在该目录下。这个目录一般是用于存放挂载储存设备的挂载目录的。在以前,这个目录的用途与/media相同, 只是有了/media之后,这个目录就用来暂时挂载用了。
/opt Add-on application software packages附加应用软件包 1、这个目录是为所有不属于默认安装的软件和附加包保留的。因为要遵守FSSTND,所有第三方应用程序都应该安装在这个目录中。在这里安装的任何包都必须找到它的静态文件(如:额外的字体、剪贴板、数据库文件)必须将其静态文件定位在单独的opt的目录树中。
2、你没有安装此类软件时它是空的,但如果你一旦把它删除了,以后在安装此类软件时就有可能碰到麻烦。
3、如果妳想要自行安装额外的软件(非原本的distribution提供的),那么也能够将你的软件安装到这里来。 不过,我们习惯放置在/usr/local目录下。
/proc process,进程信息 在Linux下,/proc包含每个运行的进程的目录,包括内核进程。
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。通常,它是由系统自动安装的,而且大多数文件是只读的。
/root Home directory for the root user (optional)根用户的主目录(可选) 系统管理员(root user)主目录,系统管理员拥有*的权限,能够对系统中的几乎所有文件系统可读可写可执行的操作。除root之外,其他用户均放置在/home目录下。
/sbin System binaries系统二进制文件 和一开始我们讲的bin类似,s就是super 的意思,/sbin是Linux和其他UNIX类操作系统中root目录的标准子目录,包含可执行程序(即准备运行)程序,也就是说这里存放的是系统管理员使用的管理程序。
只有root用户能使用,其中包括安装和删除硬件、启动和关闭系统以及进行系统维护的命令。
/srv Data for services provided by this system本系统提供服务的数据 一般是空的,srv包含由该系统服务的站点特定数据。指定这一点的主要目的是使得用户可以找到针对特定服务的数据文件的位置,从而可以合理地放置需要单个树用于只读数据、可写数据和脚本(例如CGI脚本)的服务。只对特定用户感兴趣的数据应该进入用户的主目录。
/sys 跟proc一样虚拟文件系统 /proc是为了Linux内核调试创建的,但是早起的建立没有严格的规则所以/proc下文件很乱!正在运行的内核信息映射,只读
而/sys跟为严格有序,硬件设备的驱动程序信息,且/sys文件可读可写
/sys和/proc的详细区别参考
/tmp Temporary files临时文件 在UNIX和Linux中,tmp目录是存放临时文件的地方。Web浏览器在页面浏览和下载期间定期向TMP目录写入数据。当系统重新启动时,这个目录下的文件都将被删除。
/usr Unix System Resources
应用程序存放目录
用户的应用程序和文件几乎都存放在该目录下,在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏阿,一些打印工具等等。/usr目录包含了许多子目录: /usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。你的软件包管理器会自动帮你管理好/usr目录的。
/var variable 存放内容经常变化的文件和目录。例如日志,电子邮件,网站,ftp归档文件等。将这些文件放在这里便于给它们分配空间,同时也保护系统里其他比较稳定的文件。VAR的某些部分在不同系统之间是不可共享的。/var包含变量数据,即系统在运行期间必须能够写入的文件和目录,由于网络拓扑或安全问题,有些目录可以放在单独的分区或系统上,更容易备份。



三、注意:

以下五个目录必须与跟/处于同一分区:

  • /bin
  • /etc
  • /dev
  • /lib
  • /sbin
    Linux文件系统熟悉计划—— / 根目录
为什么/boot不需要跟/在同一个分区??

/boot存放的是系统启动时访问的文件,系统启动后不需要再访问




主要参考来源:

FHS文件系统层次化标准

linux 根目录下各个目录的详细介绍


Linux根目录文件夹含义


Linux根目录下各个文件夹的含义和用途


Linux-根目录(/)的意义与内容