linux主要目录详解,/bin系统有很多放


linux主要目录详解

这里首先说一句:Linux一切皆文件,即Linux世界中的所有、任意、一切东西都可以通过文件的方式访问、管理。

/bin

系统有很多放置可执行文件的目录, 但/bin比较特殊。 因为/bin放置的是在单人维护模式下还能够被操作的指令。 在/bin下面的指令可以被root与一般帐号所使用,主要有: cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。


/boot
这个目录主要在放置开机会使用到的文件, 包括Linux核心文件以及开机菜单与开机所需配置文件等等。 Linux kernel常用的文件名为: vmlinuz, 如果使用的是grub2这个开机管理程序, 则还会存在/boot/grub2/这个目录喔!


/dev
在Linux系统上, 任何设备与周边设备都是以文件的型态存在于这个目录当中的。 你只要通过存取这个目录下面的某个文件,就等于存取某个设备啰~ 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop*, /dev/sd*等等


/etc
系统主要的配置文件几乎都放置在这个目录内, 例如人员的帐号密码档、 各种服务的启始档等等。 一般来说,这个目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权力修改。建议不要放置可执行文件。
在这个目录中喔。 比较重要的文件有: /etc/modprobe.d/,/etc/passwd, /etc/fstab, /etc/issue 等等。 另外 FHS 还规范几个重要的目录最好要存在 /etc/ 目录下喔:
/etc/opt( 必要) : 这个目录在放置第三方协力软件/opt 的相关配置文件
/etc/X11/( 建议): 与 X Window 有关的各种配置文件都在这里, 尤其是xorg.conf 这个 X Server 的配置文件。
/etc/sgml/( 建议) : 与 SGML 格式有关的各项配置文件
/etc/xml/( 建议) : 与 XML 格式有关的各项配置文件


/lib
系统的函数库非常的多, 而/lib放置的则是在开机时会用到的函数库, 以及在/bin或/sbin下面的指令会调用的函数库而已。 什么是函数库呢? 你可以将他想成是“外挂”, 某些指令必须要有这些“外挂”才能够顺利完成程序的执行之意。 另外 FSH 还要求下面的目录必须要存在。

 

/media
media是“媒体”的英文, 顾名思义, 这个/media下面放置的就是可移除的设备啦! 包括软盘、 光盘、 DVD等等设备都暂时挂载于此。 常见的文件名
有: /media/floppy, /media/cdrom等等。


/mnt
如果你想要暂时挂载某些额外的设备, 一般建议你可以放置到这个目录中。在早期时候,这个目录的用途与/media相同!只是有了/media之后,这个目录就用来暂时挂载用了。


/opt
这个是给第三方协力软件放置的目录。 什么是第三方协力软件啊? 举例来说,KDE这个桌面管理系统是一个独立的计划, 不过他可以安装到Linux系统中,因此KDE的软件就建议放置到此目录下了。 另外,如果你想要自行安装额外的软件( 非原本的distribution提供的) ,那么也能够将你的软件安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下呢!


/run
早期的FHS规定系统开机后所产生的各项信息应该要放置到 /var/run 目录下,新版的FHS则规范到/run下面。由于/run可以使用内存来仿真, 因此性能上会好很多!
Linux有非常多指令是用来设置系统环境的, 这些指令只有root才能够利用来“设置”系统, 其他使用者最多只能用来“查询”而已。 放在/sbin下面的为开机过程中所需要的,里面包括了开机、 修复、 还原系统所需要的指令。 至于/sbin 某些服务器软件程序, 一般则放置到/usr/sbin/当中。 至于本机自行安装的软件所产生的系统可执行文件( system binary) , 则放置到/usr/local/sbin/当中了。 常见的指令包括: fdisk, fsck, ifconfig, mkfs等等。


/srv
srv可以视为“service”的缩写, 是一些网络服务启动之后, 这些服务所需要取用的数据目录。 常见的服务例如WWW, FTP等等。 举例来说, WWW服务器需要的网页数据就可以放置在/srv/www/里面。 不过, 系统的服务数据如果尚未要提供给网际网络任何人浏览的话, 默认还是建议放置到 /var/lib 下面即可。


/tmp
这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录是任何人都能够存取的, 所以你需要定期的清理一下。 当然, 重要数据不可放置在此目录啊! 因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除。


/usr

 usr 目录结构

/usr/bin : 所有可执行文件,如 gcc,firefox 等(指不包含在 /sbin 和 /bin 内的);

/usr/include : 各种头文件,编译文件等时需要使用;

/usr/include/’package-name’ : 程序特定的头文件;

/usr/lib : 所以可执行文件所需要的库文件;

/usr/local : 这里主要存放那些手动安装的软件,即 不是通过“新立得”或apt-get安装的软件 。 它和/usr目录具有相类似的目录结构 。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面,我想这应该是个不错的主意。

/usr/X11R6 : x 系统的二进制文件,库文件,文档,字体等。它不等同于 /usr 的作用,只有 x 才能调用这些库文件等,其他程序不读取或者使用。因为 linux 没有原生图形界面,而且 linux 大部分情况下是 for server 的,所以图形界面没有意义;其中 X11R6 代表 version 11 release 6;

/usr/X11R6/bin : x 的二进制文件,包含运行 x 的必须文件;

/usr/X11R6/include : x 相关的头文件;

/usr/X11R6/lib : x 库文件;

/usr/X11R6/lib/modules : x 的模块,启动时加载。缺少 video4linux, DRI and GLX 和 输入输出设备 模块,将工作不正常;

/usr/X11R6/lib/X11/fonts : x font server 的字体文件;

/usr/doc : 文档。实际是 /usr/share/doc 的软链接;

/usr/etc : 一个极少用到的配置文件存放地;

/usr/games : 曾经包含游戏等文件,现在很少用到;

/usr/info : 系统相关信息,是 /usr/share/info 的软链接;

/usr/man : man 手册,已经移至 /usr/share/man;

/usr/sbin : 类似 /sbin,root 可以执行。但此目录不包含在环境变量 $PATH 中,它包含的程序类似于 chroot, useradd, in.tftpd and pppconfig;

/usr/share : 它包含了各种程序间的共享文件,如字体,图标,文档等。(/usr/local 对应的目录是 /usr/loca/share);

/usr/share/doc : 类似应用程序的 man 手册。它包含程序的说明文件,默认配置文件等;

/usr/share/info : 不常用,已经被 man 代替;

/usr/share/man : app 的 manual;

/usr/share/icons : 应用程序的图标等文件,分为 png,svg 等多种格式;

/usr/share/fonts : 字体文件,系统范围内可使用,~/.fonts 仅当前用户可用;

/usr/src : linux 内核的源码和说明文档等;

/usr/src/linux : linux 源代码;

/usr/src/linux/.config : 内核编译过程产生的文件;通常由命令 ‘make config’ , ‘make menuconfig’ 或 ‘make xconfig’ 执行后产生;

/usr/src/linux/.depend, /usr/src/linux/.hdepend : ‘make dep’ 检测编译依赖时需要的文件,由 /usr/src/linux/.config 产生;

/usr/src/linux/COPYING : GNU license;

/usr/src/linux/Makefile : 编译内核所需的 Makefile;

/usr/src/linux/Rules.make : 当有多个 Makefile 时,根据它的规则执行 make;

/usr/tmp : 已经被众多发行版抛弃的临时文件夹。


/var 

 

/home

这是系统默认的使用者主文件夹( home directory) 。 在你新增一个一般使用者帐号时, 默认的使用者(非超级管理员)把主文件夹都会规范到这里来。 比较重要的是, 主文件夹有两种代号喔:
~: 代表目前这个使用者的主文件夹
~dmtsai : 则代表 dmtsai 的主文件夹!
/lib<qual> 用来存放与 /lib 不同的格式的二进制函数库, 例如支持 64 位的 /lib64 函数库等。

/root
系统管理员( root) 的主文件夹。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时, 该目录就能够拥有root的主文件夹, 所以我们会希望root的主文件夹与根目录放置在同一个分区中。
事实上FHS针对根目录所定义的标准就仅有上面的咚咚, 不过我们的Linux下面还有许多目录你也需要了解一下的。 下面是几个在Linux当中也是非常重要的目录喔:
目录 应放置文件内容
/lost+found
这个目录是使用标准的ext2/ext3/ext4文件系统格式才会产生的一个目录, 目的在于当文件系统发生错误时, 将一些遗失的片段放置到这个目录下。 不过如果使用的是 xfs 文件系统的话, 就不会存在这个目录了!


/proc
这个目录本身是一个“虚拟文件系统( virtual filesystem) ”喔! 他放置的数据都是在内存当中, 例如系统核心、 行程信息( process) 、 周边设备的状态及网络状态等等。 因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间啊! 比较重要的文件例如: /proc/cpuinfo, /proc/dma,/proc/interrupts, /proc/ioports, /proc/net/* 等等。


/sys
这个目录其实跟/proc非常类似, 也是一个虚拟的文件系统, 主要也是记录核心与系统硬件信息较相关的信息。 包括目前已载入的核心模块与核心侦测到的硬件设备信息等等。 这个目录同样不占硬盘容量喔!
早期 Linux 在设计的时候, 若发生问题时, 救援模式通常仅挂载根目录而已, 因此有五个重要的目录被要求一定要与根目录放置在一起, 那就是 /etc, /bin, /dev, /lib, /sbin这五个重要目录。 现在许多的 Linux distributions 由于已经将许多非必要的文件移出 /usr之外了, 所以 /usr 也是越来越精简, 同时因为 /usr 被建议为“即使挂载成为只读, 系统还是可以正常运行”的模样, 所以救援模式也能同时挂载 /usr 喔! 例如我们的这个 CentOS7.x 版本在救援模式的情况下就是这样。 因此那个五大目录的限制已经被打破了呦! 例如CentOS 7.x 就已经将/sbin, /bin, /lib 通通移动到 /usr 下面了哩!

 



 

相关内容