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

相关推荐

  • nginx反向代理负载均衡集群配置详解

    反向代理负载均衡集群配置详解 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时站在服务器角度来看,代理服务器对外就表现为一个反向代理服务器。 对反向代理服务器的攻击并不会使得后端内网Web服务器上网页信息遭到…

    Linux干货 2016-11-07
  • 用户创建及权限管理

    1.列出当前系统上所有已经登录的用户的用户名,注:同一个用户登录多次,则只显示一次即可。 who | cut -d ‘ ‘ -f1 | sort -u [root@localhost ~]# who danry :0 2017-07-16 23:20 (:0) danry pts/0 2017-07-16 23:23 (192.168…

    Linux干货 2017-07-17
  • Linux常见文件管理命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。3、请使用命令行展开功能来完成以下练习:(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d(2)、创建/tmp/mylinux目录下的:mylinux/├── bin├── boot│  …

    2018-02-26
  • Linux磁盘管理(一)

      磁盘,计算机最常见的存储硬件设备。对Linux而言,其哲学思想之一就是一切皆文件,因此linux之上所有设备的操作都是通过文件接口来实现的,也就是说在访问设备的时候就如同访问一个文件一样,因为他们使用的都是文件系统接口。 向磁盘中写入数据的操作过程:   首先硬件设备在系统上会映射成一个一个文件,我们在对硬件中写入数据就相当…

    Linux干货 2016-08-30
  • 利用keepalived实现主/从和主/主模式的高性能负载均衡集群

    要求: 1、使用nginx的反向代理功能实现负载均衡 2、keepalived实现高可用        第一组的虚拟地址为172.16.1.100             D设备的优先级高        第二组的虚拟地址为172.16.1.110             E设备的优先级高 3、分别实现主/从和主/主两种配置 集群拓扑:       第一种:主…

    2017-06-25
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i sum_login=0 declare -i sum_nologin=0 while read line;do shell=$(echo $l…

    Linux干货 2017-03-05

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:14

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