Linux 文件和目录

devtools/2025/2/6 2:42:37/

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.ppmy.cn/devtools/156428.html

相关文章

独立开发经验谈:如何借助 AI 辅助产品 UI 设计

我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营一款独…

TensorFlow 与 PyTorch 的直观区别

背景 TensorFlow 与 PyTorch 都是比较流行的深度学习框架。tf 由谷歌在 2015 年发布,而 PyTorch 则是 Facecbook AI 研究团队 2016 年在原来 Torch 的基础上发布的。 tf 采用的是静态计算图。这意味着在执行任何计算之前,你需要先定义好整个计算图&…

CSS 图像、媒体和表单元素的样式化指南

CSS 图像、媒体和表单元素的样式化指南 1. 替换元素:图像和视频1.1 调整图像大小示例代码:调整图像大小 1.2 使用 object-fit 控制图像显示示例代码:使用 object-fit 2. 布局中的替换元素示例代码:Grid 布局中的图像 3. 表单元素的…

Android-音频采集

前言 音视频这块,首先是要先采集音频。今天我们就来深入探讨一下 Android 音频采集的两大类型:Mic 音频采集和系统音频采集。 Mic音频采集 Android提供了两个API用于实现录音功能:android.media.AudioRecord、android.media.MediaRecorder。…

LeetCode --- 434周赛

目录 3432. 统计元素和差值为偶数的分区方案 3433. 统计用户被提及情况 3434. 子数组操作后的最大频率 3435. 最短公共超序列的字母出现频率 一、统计元素和差值为偶数的分区方案 本题可以直接模拟,当然我们也可以来从数学的角度来分析一下这题的本质 设 S S S …

CF 761A.Dasha and Stairs(Java实现)

题目分析 大概意思是输入偶数值奇数值,判断是否能够凑成一连串数字 思路分析 能够连成一串数字的条件考虑:1.偶数与奇数差为1;2.偶数与奇数相等,且不为0 代码 import java.util.*;public class Main {public static void…

「AI学习笔记」深度学习进化史:从神经网络到“黑箱技术”(三)

在这篇文章中,我们将探讨深度学习(DL)这一领域的最新发展,以及它如何从传统机器学习(ML)中独立出来,成为一个独立的生态系统。深度学习的核心思想与我们大脑中的神经网络高度相似,因…

关于图像锐化的一份介绍

在这篇文章中,我将介绍有关图像锐化有关的知识,具体包括锐化的简单介绍、一阶锐化与二阶锐化等方面内容。 一、锐化 1.1 概念 锐化(sharpening)就是指将图象中灰度差增大的方法,一次来增强物体的轮廓与边缘。因为发…