来自:《鸟哥的Linix私房菜-基础篇》
复制代码

Linux的目录配置依据的是FHS,那什么是FHS呢?因为利用Linux来开发的产品或DISTRIBUTION的社群或公司还有个人实在是太多了,如果每个人都用自己的想法来配置文件放置的目录,那真是太糟糕了,因此Filesystem Hierarchy Standard(FHS) 标准出炉了!

他们的目的是想让使用者可以了解到已安装软件通常放置于哪个目录下,所以他们希望独立的软件开发商、操作系统制作者、想要维护系统的用户都能遵循FHS标准,也就是规范每个目录下应该存放什么样的文件数据,统一目录架构。

FHS根据文件系统使用的频繁与否与是否允许使用者随意变动,将目录定成了四种交互形态:可分享、不可分享、可变动、不可变动。

可分享的(shareable) 不可分享的(unshareable)
不变的(static) /usr(软件放置处) /etc(配置文件)
不变的(static) /opt(第三方协力软件) /boot(开机与核心档)
可变的(variable) /var/mail(使用者邮箱) /var/run(程序相关)
可变的(variable) /var/spool/news(新闻组) /var/lock(程序相关)

可分享的:可分享给其他系统挂载使用的目录; 不可分享的:自己机器上面运作的装置文件或与程序相关的文件等。 不变的:数据不会经常变动,跟随着distribution而不变动;如函数库、系统配置文件等。 可变的:经常改变的数据,例如登录文件、新闻组等。

·/(root,根目录):与开机系统有关。 ·/usr(unix software resource):与软件安装/执行有关。 ·/var(variable):与系统运作过程有关。

一./

根目录是整个系统中最重要的一个目录,所有的目录都是用根目录衍生的,根目录不要放在非常大的分区槽内,因为分区槽越大,那放入的数据就越多,这样以来根目录所在的分区槽就可能发生较多的错误了。

建议:根目录不用太大,且应用程序所安装的软件也不要与根目录放在同一个分区槽内,保持根目录的简洁,这样性能不但会更好,也不太容易发生问题。

FHS要求必须要存在的目录:/bin(能被root和一半用户使用,主要有:cat,chmod,chgrp,chown,date,mv,mkdir,cp,bash等等常用命令;现在的很多Linux都将/bin变成了/usr/bin的链接档了,也就是说/bin和/usr/bin是一样的),/boot(主要存放开机会使用到的文件),/dev,/etc(系统的配置文件存放目录,例如用户的账户密码文件等,普通用户可查阅,但只有root用户可修改),/lib(函数库),/media,/mnt,/opt,/run,/sbin,/srv,/tmp,/usr,/var.

FHS建议存在的目录:/home(用户默认的家目录),/lib(用来存在与/lib不同格式的二进制函数库,例如支持64位的/lib64函数库等),/root(系统管理员root的家目录)

二./usr

根据FHS的定义,这里面放的数据属于可分享和不可变的,/usr是可分享给局域网内的其他主机来使用的喔!

不要误认为/usr就是user哦,/usr是Unix Software Resource的缩写哦,也就是Unix操作系统软件资源 的意思。建议所有开发人员,将他们的数据合理的分别放在这个目录的次目录下,而不要自行建立该软件自己独立的目录哦。

所有系统默认的软件都会放在/usr目录下,因此这个目录有点类似windows的C:\Windows(当中的一部分) + C:\Program files\这2个目录的综合体,也就是说软件应该安装在usr目录下。

三. /var

/var的目录会越来越大,因为/var存放的主要是一些动态性文件,比如cache、log file以及某些软件运行所产生的文件,比如mysql数据库的文件等。

CentOS7对目录的变动

CentOS7将一些原本在根目录下的数据全部都搬迁到了/usr下:

  • /bin --> /usr/bin
  • /sbin --> /usr/sbin
  • /lib --> /usr/lib
  • /lib64 --> /usr/lib64
  • /var/lock --> /run/lock
  • /var/run --> /run
目录树

在Linux下所有目录和文件都是由根目录开始的,那是所有目录和文件的源头~,然后再一个个的分支下去,我们叫这种目录配置方式为:目录树。

  1. 目录树的起始点为根节点(/,root);
  2. 每一个目录不止能使用本地端的文件系统,也可以使用网络上的filesystem。
  3. 每一个文件在此目录中的文件名都是独一无二的。(包括完整路径)

根据FHS的定义,最好将/var独立出来,这样对于系统的数据还有一些安全性的保护呢!至少/var发生错误了不会影响到根目录,还可以进入救援模式!

绝对路径和相对路径

根据写法不同,可以将路径分为绝对路径和相对路径:

  • 绝对路径:由根目录开始写起到目录/文件为止,例如:/home/[User_File_Name]/.bashrc;
  • 相对路径:相对于当前路径的写法,例如:./home/[User_File_Name]或者../../;反正开头不是根目录开始的就属于相对路径的写法了。

相对路径是以你当前所在路径而言的;举例来说,你在/home目录,想要进入到/usr/bin目录,相对路径则可以这样写啊:cd ../usr/bin。绝对路径则可以这样写:cd /usr/bin。

这里需要解释一下, 一个.(.)代表的是当前目录,两个.(..)代表的是上一层目录;还有一点需要特别注意:在root目录,也就是根目录(/)下,.和..都代表的是当前目录哦。

这里对Linux的权限和目录配置做一个总结
  1. Linux的每个文件中,可分别给予使用者、群组、其他人三种身份分别授予所需的rwx权限;
  2. 群组是最有用的功能之一,可以给每个账户分配不同的群组,且每个账户可以拥有多个群组,以获得所需的资源。
  3. 利用ls -l来显示文件的权限属性,分别由:文件的额权限、文件类型、拥有者及所属群组、时间、文件/目录名。
  4. 如果文件/目录之前有一个.,则代表这个文件/目录是一个隐藏文件/目录.
  5. 切换到root账户的命令:su -,如果是进入普通用户的命令:su - userName;退出当前账户的命令:exit。
  6. 更改文件的群组命令:chgrp,更改文件的拥有者命令:chown,更改文件的权限命令:chmod。
  7. chmod修改权限的方法有2种,一种是数字发,一种是符号法,数字法中r,w,x分别对应4,2,1;例如:chmod 751 test,就是对test文件/目录修改权限为 rwxr-x--x,7就是rwx权限:4+2+1=7;5就是r-x权限:4+0+1=5;1就是--x权限:0+0+1=1;符号法更改例子:chmod u=rwx;g=rx;o=x test,u代表拥有者,g代表群组,o代表其他人身份。
  8. rwx对于文件的意义:r-可读取文件内容;w-可对文件的内容进行编辑、修改、新增(删除文件需要上一级目录的支持-是否具有w权限);x-该文件具有可执行权限。rwx对于目录的意义:r-可读取目录内的文件名列表;w-修改目录(可以对目录下的文件进行删除,可以新增文件等权限);x-代表可进入。
  9. 开开放目录给别人,至少需要r和x权限,w不能随意给。
  10. 要想读到文件的内容,文件所在的目录至少要有x权限,文件至少需要r权限。
  11. Linux文档名的限制:单一文件/目录的最大容许255个英文字符或128个汉字。
  12. 根据FHS官方文件指出:他们的主要目的就是希望让使用者可以了解到以安装的软件通常在哪个目录下。
  13. FHS订出来的四种目录特色:shareable、unshareable、static、variable四大类。
  14. FHS定义的三层主目录为:/、/var、/usr。
  15. 绝对路径都是以/开头写起,否则就是相对路径了。

【笔记】Linux的目录配置(a2)相关推荐

  1. 多路径配置udev_学习笔记:Linux多路径配置 multipath实现设备用户组绑定详细设置...

    天萃荷净 Linux多路径软件配置,通过multipath实现设备用户组绑定详细设置 现在的Linux系统中,很多都会使用系统自带的multipath多路径软件,在以前的版本中,我们一般通过multi ...

  2. Linux随笔2 - Linux的目录配置、文件元数据信息、符号链接与硬链接和常用文件和目录管理命令示例

    目录 1. Linux的目录配置与FHS(Filesystem Hierarchy Standard) 1.1 根目录(/)的意义与内容 1.1.1 FHS要求根目录中必须存在的目录 1.1.2 FH ...

  3. 【Linux回炉 目录配置】

    Linux 目录配置(配置的依据--FHS标准): FHS定义了下面的结构: 类型的含义: 可分享的:可以分享给其他系统挂载使用的目彔,包括执行文件不用户的邮件等数据, 是能够分享给网络上其他主机挂载 ...

  4. 03.学习笔记-Linux下根目录介绍

    本节对linux下的根目录进行详细介绍. /bin:可执行文件 用户命令 /boot:系统启动相关文件 /dev:设备文件 块设备:随机访问 字符设备:线性访问,按字符为单位 显示器和鼠标都是线性访问 ...

  5. Linux标准目录配置(转自鸟哥)

    目录 应放置档案内容 / 根目录 root (/),一般建议在根目录底下只接目录,不要直接有档案在 / 底下. 根目录是开机的时候系统第一个挂载的 partition ,所以,所有开机过程会用到的档案 ...

  6. linux基础学习——linux的文件权限和目录配置

    linux基础学习--linux的文件权限和目录配置 1.用户和用户组和其他人概念: 三个概念的前提宗旨:linux是一个多人多任务的系统环境.如果不对文件作出一个权限限制的话.任何人都能操作这份文件 ...

  7. 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置

    第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...

  8. Linux下的目录配置

    Linux是开源的操作系统,如果每个人依据自己的想法来配置文件目录,可能会造成很多管理上的困扰,所以Linux的目录配置需要一定的标准 Linux目录配置的依据--FHS FHS(Filesystem ...

  9. Linux的基本学习(三)——目录配置、文件与目录管理

    承接上面的内容来学习Linux FHS: 为了让文件配置目录有秩序,让用户可以了解已安装软件通常放置于哪个目录下,于是就有了FHS标准的出炉. HFS依据文件系统使用的频繁与否与是否允许用户随意修改, ...

最新文章

  1. sklearn数据处理_one_hot
  2. Java工程师成神之路 转
  3. 北京协和医学院823计算机原理,2017年北京协和医学院放射医学研究所(天津)823计算机原理考研题库...
  4. 促进新一代人工智能产业发展三年行动计划_工信部新一代人工智能产业创新重点揭榜任务——中国联通智能化网络基础设施及开放平台启动会成功召开...
  5. [整理III]微软等数据结构+算法面试100题[最新第61-80题]
  6. php 中文key_API常用签名验证方法(PHP实现)
  7. PyQt5系列(二)Mac下使用py2app打包python项目
  8. 不平衡数据集_我们的不平衡数据集
  9. Esri中国社区 » GIS大讲堂:ArcGIS Server .Net ADF中的AJAX
  10. 我在b站上推荐一个看小电影的网站,结果被骂了
  11. Java基础寒假作业-个人所得税计算系统
  12. corelDraw 的CDR格式解析
  13. wifi连接状态android,判断android设备wifi连接状态
  14. 织梦html伪静态页面,dedecms织梦全站伪静态设置+全套伪静态规则
  15. 基于 AHB 总线的 SRAM 控制器设计
  16. C语言学习笔记第十天
  17. RS232电平 RS485电平 RS422电平
  18. 【matlab 求极限】limit函数求极限
  19. 何洋开讲丨“云”将如何在中国制造2025中起到颠覆作用?
  20. 华为快服务助手测试报错No data found

热门文章

  1. http请求头中Referer的作用及危害
  2. Java 集合List、Set、HashMap操作一(Array转List、Set排序、HashMap遍历、Set遍历、List遍历、HashMap大小长度、List打乱顺序)
  3. Python客户端syn连接
  4. jquey的parent()和parents()的区别
  5. 黑马程序员_java基础笔记(06)...集合
  6. Ubuntu下安装配置java及环境变量
  7. 阿里腾讯前端一面小结
  8. android-hotfix(QQ空间思路)浅析
  9. 天津知青网6周年网庆-京剧-智取威虎山片段
  10. 使用FreeImage加载纹理