zoukankan      html  css  js  c++  java
  • 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)

    Linux目录配置的依据--FHS

    因为利用Linux来开发产品的公司太多,例如,CentOS、Ubuntu、ReHat...,导致了配置文件存放的目录没有统一的标准。后来就有了FHS(Filesystem Hierarchy Standard)的标准出来了。

    四种交互作用的形态

    1.可分享的: 可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机挂载用的目录。(总结就是对系统运作没影响的文件)
    2.不可分享的: 自己机器上面运作的装置文件或是与程序有关的socket文件等,由于仅与自身机器有关,所以当然就不适合分享给其他主机了。(总结就是会对系统运作有影响的文件)
    3.不变的: 有些数据时不会经常变动的,跟随着distribution而不变动的。例如函式库、主机服务配置文件等。
    4.可变动的: 经常改变的数据,例如登录文件、一般用户可自行操作的文件。

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

    根目录是整个系统最重要的一个目录。因为不但所有目录都是由根目录衍生出来的,并且根目录还有开机/还原/系统修复等动作有关。所以可以看出根目录是有多么的重要。
    因此FHS标准建议:根目录(/)所在的分区槽应该越小越好(其实就是根目录下的目录越少越好,但是必要的还是不可少),且应用程序锁安装的软件最好不要与根目录放在同一个分区槽内,保持根目录越小越好。如此不但性能较佳,根目录所在的文件系统也较不容易发生问题。

    由于上述的说明,FHS定义的根目录(/)底下应该有下面这些目录

    目录 放置文件内容
    /bin 存放的是root与一般账号锁使用的可执行文件目录,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等常用指令。
    /boot 这个目录主要放置开机会使用到的文件
    /dev 任何装置和接口设备都是以文件的形态存在于这个目录当中
    /etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的启始文件等
    /lib 开机时会用到的函式库
    /media 放置移除的装置,如软盘、光盘、DVD等都是挂载于此目录。
    /mnt 在早些时候,这个目录用途和/media相同,后来这个目录就用来暂时挂载的。
    /opt 第三方软件放置的目录
    /run 开机后所产生的各项信息文件
    /sbin 开机过程所需要的指令,例如开机、修复、还原系统等指令
    /srv 可视为service的缩写,是一些网络服务启动之后,这些服务所需要的数据目录。例如服务www,www服务器所需要的网页子类就可以放置到/srv/www/里面。
    /tmp 临时存放目录,重要的文件不要放这里!切记切记。
    /usr 下面再详细介绍
    /var 下面再详细介绍
    /home 系统默认用户的家目录, cd ~ 就会回到你自己家啦。
    /root 系统管理员(root)的家目录。
    /lost+found 这个目录是使用标准的ext2/ext3/ext4文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到这个目录下。如果是xfs文件系统就不放存放到这。
    /proc 放置的数据都是在内存当中的,例如系统核心、进程信息、装置的状态以及网络状态等等。
    /sys 与/proc类似,主要记录核心与系统硬件信息。

    /usr的意义与内容

    /usr里面放置的数据属于可分享与不可变动的内容。很多读者都会误会/usr为/user的缩写(其实我也是),其实是Unix Software Resources的缩写,即Unix操作系统软件资源。

    目录 应放置文件内容
    /usr/bin/ 所有一般用户能够使用的指令都放在这里,CentOS 7 已将全部用户的指令放到这里,而且使用连接档(暂时理解为快捷方式,后续文章会对其详解)的方式将/bin连结到此。
    /usr/lib/ /lib的连结档
    /usr/local/ 系统管理员在本机自行安装的软件,建议安装到此目录。
    /usr/sbin/ /sbin的连结档
    /usr/share/ 只读的数据文件,也包括共享文件,我们的男人 man(联机帮助文件)就是存放于此
    /usr/games/ 游戏相关文件
    /usr/include/ c/c++等程序语言的文件头(header)与引用文件(include)放置处。
    /usr/libexec/ 某些不被一般使用者管用的执行文件或脚本
    /usr/src/ 一般的源码建议放到这里,src有source的意思。

    /var的意义与内容

    如果/usr是安装时会占用较大的硬盘的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录,因为/var目录主要针对常态性变动的文件。包括缓存(cache)、登录文件、以及某些软件运行时所产生的文件

    目录 应防止文件内容
    /var/cache/ 应用程序本身运行过程产生的一些暂存文件(缓存文件)。
    /var/lib/ 程序执行过程所需要的数据文件放置的目录。如MYSQL数据库放置到/var/lib/mysql/
    /var/lock/ 某些资源一次只能被一个应用所使用到的。就放置在此目录,因为lock上锁嘛~
    /var/log/ 灰常重要!登录文件放置的目录!如/var/lib/messages
    /var/mail 放置个人电子邮箱的目录
    /var/run 某些程序或服务启动后,会将他们的PID放置到这个目录下。
    /var/spool 这个目录通常存放一些队列数据,如数据队列。

    绝对路径与相对路径

    绝对路径

    由根目录(/)开始写起的文件名或目录名称,例如:/home/vagrant/

    相对路径

    相对于目前路径的文件名写法。例如: ../home,比较特殊的连个目录:

    1. . 代表当前目录,也可以使用 ./
    2. .. 代表上层目录,也可以使用../

    第六章细讲绝对路径和相对路径


  • 相关阅读:
    软件质量的“奥秘”(一)——虚伪的质量
    IT项目管理中的假设约束依赖和承诺
    [转载]IT知识体系结构图
    如何看待项目开发过程中基于度量结果的绩效考评
    我常用的一些ASP自定义函数
    女生永远也不知道男生为什么***
    系统分析员、系统架构师、项目经理的区别
    软件工程知识体系全景图
    my music / NightWish / Groove Coverage / DJ
    qiushibaike.com
  • 原文地址:https://www.cnblogs.com/Johnson-lin/p/10877622.html
Copyright © 2011-2022 走看看