Linux 目录配置

Linux 目录配置

Linux目录配置标准:FHS
因为利用Linux来开发产品或distributions的团队/公司与个人实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。所以/后来就有所谓的Filesystem Hierarchy Standard (FHS)标准出炉了。
根据FHS(http://www.pathname.com/fhs/)的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下, 所以他们希服独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都能够遵循FHS的标准。也就是说,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。 这样做好处非常多,因为Linux操作系统就能够在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。
亊实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:
/ (root, 根目彔):不开机系统有关;
/usr (unix software resource):不软件安装/执行有关;
/var (variable):不系统运作过程有关。

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

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机,还原,系统修复等动作有关。

FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但性能较好,根目录所在的文件系统也较不容易发生问题。

表格

目录 应放置档案内容
/bin 系统有很多放置执行文件的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的命令。 在/bin底下的命令可以被root与一般账号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的命令。
/boot 这个目录主要在放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等等。 Linux kernel常用的文件名为:vmlinuz,如果使用的是grub这个引导装载程序, 则还会存在/boot/grub/这个目录
/dev 在Linux系统上,任何设备与接口设备都是以文件的形式存在于这个目录当中的。 你只有通过访问这个目录底下的某个文件,就等于访问某个设备。比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等
/etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等等。一般来说,这个目录下的各文件属性是可以让一般用户查阅的,但是只有root有权力修改。FHS建议不要放置可执行文件(binary)在这个目彔中。比较重要的文件有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ 等等。
/home 这是系统默认的用户家目录(home directory)。在你新增一个一般用户账号时, 默认的用户主文件夹都会规范到这里来。比较重要的是,家目录有两种代号: ~:代表目前这个用户的主文件夹,而 ~dmtsai :则代表 dmtsai 的主文件夹。
/lib 系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库,以及在/bin或/sbin底下的命令会呼叫的函数库而已。什么是函数库呢?你可以将他想成是“外挂”,某些命令必项要有这些“外挂”才能够顺利完成程序的执行之意。 尤其重要的是/lib/modules/这个目录, 因为该目录会放置内核相关的模块(驱动程序)
/media media是“媒体”的英文,顾名思义,这个/media底下放置的就是可删除的设备。包括软盘、光盘、DVD等等设备都暂时挂载于此。常见的文件名有:/media/floppy, /media/cdrom等等。
/mnt 如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。 在比较早的时候,这个目录的用途与/media相同。只是有了/media之后,这个目录就用来暂时挂载用了。
/opt 这个是给第三方软件放置的目录。什么是第三方软件啊?举例来说,KDE这个桌面管理系统是一个独立的计划,不过他可以安装到Linux系统中,因此KDE的软件就建议放置到此目录下了。 另外,如果你想要自行安装额外的软件(非原本的distribution提供的),那么也能够将你的软件安装到这里来。不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。
/root 系统管理员(root)的主文件夹。之所以放在这里,是因为如果进入单用户维护模式而仅挂载根目录时, 该目录就能够拥有root的主文件夹,所以我们会希望root的主文件夹与根目录放置在同一个分区中。
/sbin Linux有非常多命令是用来设置系统环境的,这些命令只有root才能够利用来“设置”系统,其他用户最多只能用来“查询”而已。 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的命令。 至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装的软件所产生的系统执行文件(system binary), 则放置到/usr/local/sbin/当中了。常见的命令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/srv srv可以规为“service”的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。常见的服务例如WWW, FTP等等。举例来说,WWW服务器需要的网页数据就可以放置在/srv/www/里面。
/tmp 这是让一般用户或者是正在执行的程序暂时放置文件的地方。 这个目录是任何人都能够访问的,所以你需要定期的清理一下。当然,重要数据不可放置在此目录。因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除。

以上内容多参考于《鸟哥的Linux私房菜》

原创文章,作者:XIAJIDONG,如若转载,请注明出处:http://www.178linux.com/71867

(0)
XIAJIDONGXIAJIDONG
上一篇 2017-03-26
下一篇 2017-03-26

相关推荐

  • DNS-BIND

    1.实验环境 服务器类型 域名 IP 主DNS服务器 test.com. 192.5.24.101 从DNS服务器 192.5.24.102 子DNS服务器 ops.test.com. 192.5.24.201 备注:所有服务器需保持时间同步。 2.正向解析区域(192.5.24.101) 1)  安装bind 2)  编辑主配置文件,修…

    2017-05-31
  • N22第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 [root@localhost ~]# who |cut -d' ' -f1 |sort -u   root   xuc 2、取出…

    Linux干货 2016-08-29
  • Linux中正则表达式及find指令的使用

    1、显示当前系统上root、Fedora或user1用户的默认shell [root@centos6 ~]# grep -E "^\<(root|fedora|user1)\>" /etc/passwd root:x:0:0:root:/root:/bin/bash fedor…

    Linux干货 2016-10-24
  • 程序包编译安装

    一、几个概念     1、开放源码         程序代码,人类可能读懂的程序语言,但是计算机不能识别和执行;     2、编译程序      &n…

    Linux干货 2015-05-11
  • linux学习总结-linux基础(之二)

    六、在Linux基础目录命名法则及功用 根据FHS(http://www.pathname.com/fhs/)的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下, 所以他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都能够遵循FHS的标准。 也就是说,FHS的重点在于规范每个…

    Linux干货 2016-09-23
  • 马哥教育网络19期+第五周练习博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;   grep "^[[:space:]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; &n…

    Linux干货 2016-06-19

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:14

    写的很不错,由其是内容上对linux目录的说明,排版就如果能再好些就更好了