Linux目录配置整理

FHS:

  为了规范各种Linux发行版的目录配置方法和目录定义而制定了FHS规范。

  在FHS规范的Linux中,所有的文件和目录都由根目录开始,即“/”,它是所有文件和目录的起点。然后按层次化的树状划分下来。这种目录结构被称为“目录树”。


目录树的特性:

  ·起始点为根目录(/或root)

  ·每一个目录不仅能使用本地端分区的文件系统,也可以使用网络上的文件系统。

  ·每一个文件在树中的文件名(包含完整路径)都是独一无二的

  绝对路径与相对路径:

  ·由根目录(/)开始写起的文件名或目录名

  ·其他的都属于相对路径

  


FHS定义的目录树:

  每个目录都是依附在/根目录下面,所以安装的时候一定要有一个/根目录对应的分区才能安装的原因就在于此。根据FHS定义,每个目录应包含的文件内容如下:

/       根目录root(/),一般建议在根目录下只有目录。根目录是启动系统是第一个载入的分区,所以所有启动过程都会用到的文件都应该与根目录连在一起

/bin,

/usr/bin

/usr/local/bin

供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序。除了/bin之外,/usr/bin、/usr/local/bin也是放置用户可执行的二进制文件的目录
/boot 放置linux系统启动时用到的文件,启动时会用到linux的核心文件。其中vmlinuz就是linux的核心。另外grub、bootloader等引导器也存放在此
/dev

设备文件及特殊文件的存放位置,访问这个目录下的某个文件,就相当于访问某台设备。设备又分为字符设备(character device)和块设备(block device)

/etc

放置系统主要的配置文件,此目录下的文件几乎都是纯文本文件。

/etc/init.d/:所有服务的默认启动脚本都放在这里

/etc/xinetd.d/:这是超级守护程序(super daemon)贵案例的各项服务的配置文件目录。

/etc/X11:与X window相关的各种设置文件都在这里

/home

系统默认的用户家目录。在新增一般账号时,默认的家目录都会放到这里。~表示当前用户家目录;~cisco表示cisco用户的家目录

/lib,

/usr/lib,

/usr/local/lib

是系统使用的函数库的目录。程序运行过程中,可能会调用一些额外的参数,这需要函数库的协助。目录中包含基本共享库文件,以及内核模块文件(lib/modules)
/lost+found 系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。

/mnt

/media

临时文件系统和便携式设备的挂载点
/opt 给主机额外安装软件所放的目录,相当于windows的附件,第三方程序安装的位置
/proc 这个目录本身是一个“虚拟文件系统”,用于输出内核与进程信息相关的虚拟文件系统。它放置的数据都在内存中,因此不占据磁盘空间
/root 系统管理员的家目录

/sbin

/usr/sbin

/usr/local/sbin

放置一些供管理员使用的命令,如:fdisk、mk2efs、fsck等。目录下的可执行文件其他用户可以查看而不能设置
/srv 一些服务启动之后,这些服务所需要访问的数据目录。
/tmp 这是一般用户或者正在执行的程序存放临时文件的地方。任何人都可以访问,所以建议定期清理
/usr

“universal sharedread-only data”,根绝FHS规范的第二层内容,在/usr目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件。类似于windows系统中,“Program files”与“Windows”两个目录的结合。

./bin:保证系统拥有完整功能而提供的应用程序

./sbin:管理员才有权限运行的

./lib:库文件

./include:C程序使用的头文件

./share:结构化的独立的数据

./local:第三方应用程序的安装位置,包含bin,sbin,lib,lib64,etc,share等

/var

主要放置系统执行中经常变化的文件,其主要目录有:

cache:应用程序缓存数据目录

lib:存储应用程序状态信息

local:专用于为/usr/local下的应用程序存储可变数据

lock:锁文件

log:日志文件及目录

opt:专用于为/opt下的应用程序存储可变数据

run:运行中的进程相关的数据,通常用于存储进程的pid:文件

spool:缓冲池数据

tmp:保存在系统重启的之间存储的临时文件


特殊目录:

1,建议不可与root分区分开的目录:/etc,/sbin,/bin,/dev,/lib

    因为开机的时候核心只会载入/这一个分区。但是启动的时候会用到许多命令与函数库。比如要载入就需要mount程序,init程序等,还需要许多配置文件,设备文件,这些文件分别存在/etc,/dev,/lib等目录中,因此这些目录都需要与/绑在一起。

2,建议单独划分分区的目录:/home、/usr、/var、/tmp

    系统用户个人家目录在/home里,这个目录可能是访问最频繁的目录之一。为了合理地分配资源,我们可能会限制每个人可以使用的最大硬盘配额。因此必须将/home目录独立出来,而且最好这个分区能大一点,尤其是linux作为文件服务器的时候,就更重要了。

    /usr则是一些程序安装的目录,也可以独立出来;/var目录由于记录了相当多的常用数据,读取很频繁,所以是“容易出问题的分区”。如果当/var出问题的时候,就不会影响到其他分区,保证了安全性。

3,特别重要的目录

    /etc:这个目录是系统设置文件放置的地方,其中包括了系统上的账号与密码(/etc/passwd),启动时用到的各项设置(/etc/sysconfig/*),各主要网络服务的设置文件。如果此目录下的文件被删除或损坏,对系统危害比较大。

    /var:此目录是用于管理系统运行过程中的额重要暂存数据,此外最终的数据例如邮件/var/spool/mail也放置在此目录中。几乎所有服务的登陆文件,都存放在/var/log目录中。

    /opt与/usr/local:都是安装软件的目录,建议将自己的软件安装到自己的用户目录下,规范安装。

    

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

(0)
上一篇 2016-07-07 10:45
下一篇 2016-07-07 10:46

相关推荐

  • 马哥linux0803作业内容

    1. 创建sysadmins组 将用户user1,user2,user3加入sysadmins组中 将user3设置为sysadmins的管理员 用user3登录,将user2从组中移除 设置sysadmins的密码centos 设置user1 在创建新文件时,文件的所属组为sysadmins 删除user1…3 删除sysadmins 2、三种权限rwx对…

    Linux干货 2016-08-04
  • Linux发展史

    Linux发展史 Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。 Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。 li…

    Linux干货 2017-05-20
  • linux文件查找和压缩

    locate          非实查找,查找是根据全系统文件数据库进行的,                  #updatedb, 手动生成数据库,  locate查找速度快 find : &nbs…

    Linux干货 2017-03-04
  • 20160804作业

    查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255        &nb…

    Linux干货 2016-08-08
  • Mysql cmake 编译安装、

    基于cmake的mysql安装 1.1 前言 从mysql5.5起,mysql源码安装的编译工具configure开始向cmake过渡。安装方式和之前的略有不同。在这里简单介绍总结下。 安装之前,检查下GNU make, GCC, Perl, libncurses5-dev,cmake-2.8.4是否都已经安装,如果没有安装,用yum install 安装补…

    Linux干货 2017-08-29
  • 包管理一:配置本地ISO的yum源

    故事背景:网上找了一个软件,但是这个软件需要依赖光盘上面的基础包,但是这个服务器又不能上网,怎么办? 方法:这里推荐配置本地ISO的yum源,然后yum localinstall xxx.rpm 1、yum的配置文件说明 配置文件: /etc/yum.conf:为所有仓库提供公共配置 /etc/yum.repos.d/*.repo:为仓库的指向提供配置 仓库…

    Linux干货 2016-01-05