当前位置: 首页 > article >正文

Linux 文件和目录

Linux 文件和目录

文章目录

  • Linux 文件和目录
    • Linux 目录
      • Linux 目录配置的依据 --FHS
      • 目录树
    • 文件属性
      • 文件的分类
      • 一般权限 UGO
      • 特殊权限 suid\sgid\sticky
      • 隐藏属性 ATTR
      • 文件访问控制列表 ACL
    • 文件相关的命令
      • 权限的修改 chmod chown chgrp umask
        • chmod
        • chgrp
        • umask
        • 相关文档 /etc/profile ~/.bash_profile
      • ATTR 权限命令 chattr lsattr
        • chattr
        • lsattr
      • ACL 权限命令
        • ACL 权限概念
        • getfacl
    • 文件存储结构
    • 软硬方式链接
    • 指令和文件的搜索
      • 肉眼查找 : ls -R
      • 文件名的搜寻 :whereis, locate, find
        • whereis
        • locate
        • find
    • Linux 文件和目录作业
      • UGO 权限作业
      • 特殊权限作业
      • ATTR 权限作业
      • ACL 权限作业

Linux 目录

Linux 目录配置的依据 --FHS

因为利用 Linux 来开发产品或 distributions 的社区 / 公司或个人实在太多了 , 如果每个人都用自己的想法来配置文件放置的目录 , 那将可能造成很多管理上的困扰。 你能想象 , 你进入一个企业之后 , 所 接触到的 Linux 目录配置方法竟然跟你以前学的完全不同吗 ? 很难想象吧 ~ 所以 , 后来就有所谓的Filesystem Hierarchy Standard (FHS) 标准的出炉了 !

根据 FHS(http://www.pathname.com/fhs/) 的官方文件指出 , 他们的主要目的是希望让使用者可以了解到已安装软件通常放置在哪个目录下 , 所以他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户 , 都能够遵循 FHS 的标准。 也就是说 ,FHS 的重点在于规范每个特定的目录下应该存放什么样子的数据而已。

亊实上 ,FHS 是根据过去的经验一直再持续的改版的 ,FHS 依据文件系统使用的频繁与否允许使用者随意更动 , 而将目录定义成为四种交互作用的形态 , 用表格来说有点像底下这样 :

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

02

目录树

在类 Unix 系统中并不存在 C/D/E/F 盘符,一切的文件都是从 “ 根 (/)” 目录开始的并按照文件系统目录标准 FHS 采用树形结构来存放文件并定义了每个区域的用途。

目录名称严格的区分大小写,例如 root 、 rOOt 、 Root 、 rooT 等等均代表是不同的独立目录,并且名称中不得包含反斜杠 (/) 。

04

主要常见的目录定义:

目录名称 应放置文件的内容
/boot 开机所需文件 —— 内核,开机菜单及所需配置文件等
/dev 任何设备与接口都以文件形式存放在此目录
/etc 配置文件
/home 用户主目录
/bin 单用户维护模式下还能够被操作的命令
/lib 开机时用到的函数库及/bin 与/sbin 下面命令要调用的函数
/sbin 开机过程中需要的
/media 一般挂载或删除的设备
/opt 放置第三方的软件
/root 系统管理员的主文件夹
/srv 一些网络服务的数据目录
/tmp 任何人均可使用的 “ 共享 ” 临时目录
/proc 虚拟文件系统,例如系统内核,进程,外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin 非系统开机时需要的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件。
/var 主要存放经常变化的文件,如日志。
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里1.3 路径

另外一个重要的概念 “ 路径 ” ,这个路径指的是如何找到某个文件,分为 “ 绝对路径 ” 与 “ 相对路径 ” :

  • 绝对路径 (absolute): 由根目录 (/) 开始写起的目录或文件名
  • 相对路径 (relative): 相对于当前路径的写法

举例来说一个客人想找下厕所,你有两种回答的方法。

  • 绝对路径:首先坐车来到你家,到了你家后,右手边第一个房间就是厕所。
  • 相对路径:前面右拐第一个房间。

如果你说的是绝对路径,那么任何客人都可以按照这个提示找到你家的厕所,但缺点是过于繁琐,如果说的是相对路径,那么这个人并不是在每个路口右转都能找到厕所,缺点是不具备普遍性。

[root@rhel7 ~]# cd /etc/sysconfig/network-scripts/
[root@rhel7 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@rhel7 network-scripts]# cd ../modules
[root@rhel7 modules]# pwd
/etc/sysconfig/modules

文件属性

类 Unix 系统的设计初衷就是为让多用户同时工作,所以也迫使 Linux 系统有了极强的安全性。接下来我们一起来看看 linux 系统示如何实现安全性的。

[root@rhel7 tmp]# ll /
total 4148
lrwxrwxrwx.   1 root root        7 May  5 17:28 bin -> usr/bin
dr-xr-xr-x.   4 root root     4096 May  5 17:40 boot
drwxr-xr-x.  15 root root     4096 Aug 19 13:19 content
-rw-------    1 root root  2166784 Aug  8 05:24 core.2052
-rw-------    1 root root 19017728 Aug  8 05:27 core.2488
drwxr-xr-x   19 root root     3380 Oct 26 12:22 dev
drwxr-xr-x. 138 root root    12288 Oct 26 12:22 etc
drwxr-xr-x.   4 root root       31 Aug 23 17:32 home
lrwxrwxrwx.   1 root root        7 May  5 17:28 lib -> usr/lib
lrwxrwxrwx.   1 root root        9 May  5 17:28 lib64 -> usr/lib64
drwxr-xr-x.   2 root root        6 May 25  2015 media
drwxr-xr-x.   2 root root        6 May 25  2015 mnt
drwxr-xr-x.   4 root root       36 May  6 13:19 opt
dr-xr-xr-x  229 root root        0 Oct 26  2016 proc
dr-xr-x---.  26 root root     4096 Oct 12 14:11 root
drwxr-xr-x   39 root root     1200 Oct 26 12:24 run
lrwxrwxrwx.   1 root root        8 May  5 17:28 sbin -> usr/sbin
drwxr-xr-x.   2 root root        6 May 25  2015 srv
dr-xr-xr-x   13 root root        0 Oct 26  2016 sys
drwxrwxrwt.  31 root root     4096 Oct 26 12:42 tmp
drwxr-xr-x.  13 root root     4096 May  5 17:28 usr
drwxr-xr-x.  23 root root     4096 Oct 26  2016 var

第二字段,文件硬链接数或目录子目录数

文件的分类

文件 操作
普通文件 纯文本档 (ASCII) touch file
二进制文件 (binary)
数据格式文件 (data)
目录 (directory) mkdir dire
连结档 (link) ln file hfile
ln -s file sfile
ln -s ‘pwd’/file ssfile 绝对路径的软链接文件
设备与装置文件 (device) mknod bfile b 252 0 块设备
mknod cfile c 4 2 字符设备
数据输送文件 (FIFO, pipe) mkfifo pfile 管道文件

http://www.kler.cn/a/532906.html

相关文章:

  • Chromium132 编译指南 - Android 篇(一):编译前准备
  • 『 C 』 `##` 在 C 语言宏定义中的作用解析
  • 交叉验证、精确率、召回率
  • 蓝桥杯python基础算法(2-1)——排序
  • 求职刷题力扣DAY34--贪心算法part05
  • Chapter2 Amplifiers, Source followers Cascodes
  • 图像增广:用OpenCV实现的6个自动图像增强策略
  • 【数据分析】豆瓣电影Top250的数据分析与Web网页可视化(numpy+pandas+matplotlib+flask)
  • UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
  • ip属地是根据所在位置定位的吗
  • C#中的委托(Delegate)
  • Redis-BitMap实现签到功能
  • 2024美团春招硬件开发笔试真题及答案解析
  • JVM 四虚拟机栈
  • 暴力破解与验证码安全
  • LabVIEW涡轮诊断系统
  • 【深度学习】多层感知机的简洁实现
  • 渗透测试之文件包含漏洞 超详细的文件包含漏洞文章
  • 3、参数化测试
  • 【Redis实战】Chapter01-投票后端
  • 『 C++ 』中理解回调类型在 C++ 中的使用方式。
  • Android学习20 -- 手搓App2(Gradle)
  • leetcode 1482. 制作 m 束花所需的最少天数
  • git error: invalid path
  • Redis - String相关命令
  • UE编辑器工具