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)
上一篇 2017-03-26 22:17
下一篇 2017-03-26 22:47

相关推荐

  • 马哥教育网络班22期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。     文件管理类命令有:cp,mv,rm     1. cp:copy           使用方法:      &nbs…

    Linux干货 2016-08-22
  • N26-博客作业-week8

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主使用红色显示; #!/bin/bash # for i in {1..254}; do if -W 1 -c 1 ping 1…

    Linux干货 2017-03-26
  • 马哥教育网络班21期+第5周课程练习

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

    Linux干货 2016-08-08
  • 马哥教育N22期第八周作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 设备 功能 使用场景 区别 网桥 根据MAC地址来转发帧,本地通信只限本网段内, 相当于中继器,线路比较长保证信号不变形的传输 工作在物理层,相当于一个物理接口 集线器 接收到的数据包进行广播转发,所有端口都能收到此数据,通过MAC确认是不是发给自己的包进行回应 广播形式转发数据…

    Linux干货 2016-11-14
  • Nginx及其相关配置详解(二)

    与套接字相关的配置: 1、server { … }  #配置一个虚拟主机;         Default:—         Context:http server { # 配…

    2017-07-14

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:14

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