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

Linux 文件、目录与磁盘格式


用户与用户组

  • 用户:即某个文件的拥有者,可以管理自己账号下的文件,另有一个超级账号 root,可以统一管理全局,利用 su root 命令登录该账号。
  • 用户组:相当于群组,多个用户之间可以组成用户组,组内数据可共享,并且对外不共享。

用户身份、用户组记录文件:
默认情况下,系统账号以及 root 的相关信息,都记录在 /etc/passwd 文件夹内,个人的密码记录在 /etc/shadow 文件夹内,所有的组名记录在 /etc/group 文件夹内。



文件权限

ls 命令可以列出当前目录下的所有文件,ls -al 则可以更详细的列出所有文件以及权限等信息。

  • 第一列代表文件类型与权限:
    • 第一列一共有 10 个字符
    • 第一个字符表示文件类型
      • 如果为 d 则是目录
      • 如果为 - 则是文件
      • 如果为 l 则表示链接文件
      • 如果为 b 表示设备文件里面的存储设备
      • 如果为 c 则表示串口设备,如键盘鼠标
    • 接下来的 9 个字符,三个为一组,且均为 rwx 三个参数组合,没有该权限则为 -。分别表示文件拥有者、用户组内其它账号、非本人且没有加入组的其它账号的权限。
  • 第二列表示有多少文件名链接到此节点。每个文件都会将它的权限与属性记录到文件系统的 inode 中,每个文件名会链接到一个 inode,这个属性就是记录有多少不同文件名链接到相同的 inode 号码。
  • 第三列表示文件拥有者的账号
  • 第四列表示文件的所属用户组
  • 第五列为文件大小(Bytes)
  • 第六列为创建日期或修改日期。这个时间如果距离现在太久,会仅显示年份,不具体到小时。如果想要显示完整的时间,可以使用 ls -l --full-time
  • 第七列为文件名,如果前面有 .,则为隐藏文件。

修改文件属性与权限

  • chgrp [-R] [group name] [file name]:修改文件所属用户组
  • chown [-R] [account name] [file name] or chown [-R] [account name]:[group name] [filename]:修改文件拥有者
  • chmod:修改文件的权限。方法有两种,分别是使用数字和使用符号。
    • 使用数字 chmod [-R] [number] [filename] :数字对照表关系为 r:4 w:2 x:1,这三种权限加起来为一个数,分别有三个数,来表示用户、用户组、其他人对应的权限。
    • 使用符号 chmod [u/g/o/a] [+/-/=] [r/w/x] [file name]

-R 表示递归,即连同该目录下的所有目录与文件一并修改



目录配置

FHS (Filesystem Hierarchy Standard) 标准用于规范每个特定的目录下应该要放置什么样的数据。

  • 根目录 /:根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录在同一分区。
    • FHS 要求必须存在的目录
      • /bin:用于放置在单人维护模式下还能够被使用的命令
      • /boot:用于放置在启动时会使用到的文件,包括 Linux 内核文件、启动选项以及相关配置文件
      • /dev:任何设备都以文件的形式存放在这个目录。读写这个目录下的某个文件,就相当于读写某个设备。
      • /etc:存放系统主要的配置文件。另外 FHS 还规范几个重要的目录:
        • /etc/opt:必要。放置第三方辅助软件 /opt 的相关配置文件
        • /etc/x11:建议。与 X Window 有关的各种配置文件。尤其是 xorg.conf 这个 X server 的配置文件
        • /etc/sgml:建议。与 SGML 格式有关的配置文件
        • /etc/xml:建议。与 XML 格式有关的配置文件
      • /lib:存放在启动时会用到的函数库,以及 /bin/sbin 下的命令需要调用的函数库
      • /media:放置的是可删除的设备,如 软盘、光盘、DVD 的挂载
      • /mnt:用来暂时挂载一些额外设备,与 /media 相似
      • /opt:给第三方辅助软件放置的目录
      • /run:保存系统启动后产生的信息,可以使用内存来模拟
      • /sbin:系统启动过程中需要的,包括启动、修复、还原系统所需要的命令。某些服务器软件程序放置在 /usr/sbin 中,本机自行安装的软件所产生的系统执行文件放置在 /usr/local/sbin
      • /srv:一些网络服务启动后,需要使用的数据目录
      • /tmp:让一般用户或正在执行的程序暂时放置文件的地方。任何人都可存取,所以需要定期清理。
    • FHS 建议可以存在的目录
      • /home:系统默认的用户目录,此目录有两种代号:
        • ~:代表目前这个用户的家目录
        • ~username:代表 username 这个用户的家目录
      • /lib<qual>:用来存放与 /lib 不同的格式的二进制函数库,例如支持 64 位的 /lib64
      • /root:root 的家目录
    • FHS 没有规定,但仍重要的目录
      • /proc:一个虚拟文件系统,它的内容储存在内存中。存储系统内核、进程信息、外接设备的状态、网络状态
      • /sys:虚拟文件系统,记录内核和系统硬件信息
  • /usr:UNIX Software Resource 内部数据不可分享、不可变动。是 UNIX 操作系统软件资源所放置的目录,所有软件的数据应该合理的放置在此目录下的子目录中
    • FHS 要求必须存在的目录
      • /usr/bin:所有一般用户能够使用的命令。FHS 要求在此目录下不能有子目录
      • /usr/lib:与 /lib 相同,由其链接到该目录
      • /usr/local:系统管理员在本机将自己的软件安装到此目录
      • /usr/sbin:非系统正常运行所需要的命令。由 /sbin 链接到此目录
      • /usr/share:放置只读的数据文件,不分系统架构都可读取的文本文件,以及共享文件
        • /usr/share/man:在线帮助文件
        • /usr/share/doc:软件的说明文档
        • /usr/share/zoneinfo:与时区有关的时区文件
    • FHS 建议可以存在的目录
      • /usr/games:与游戏相关数据
      • /usr/include:C/C++ 等语言的头文件和包含文件,在我们用 Tarball(*.tar.gz)的方式安装软件时会用到
      • /usr/libexec:不被一般用户常用的执行文件和脚本
      • /usr/lib<qual>:由 /lib<qual> 链接到此目录
      • /usr/src:一般将源代码放置在这里,内核源代码放在 /usr/src/Linux
  • /var:该目录主要存放在系统运行时经常变动的内容,包括缓存和日志以及一些运行产生的文件
    • FHS 要求必须存在的目录
      • /var/cache:应用程序缓存
      • /var/lib:执行过程中需要用到的数据文件,此目录下各软件有各自的目录
      • /var/lock:某些设备或资源的进程锁
      • /var/log:日志文件,非常重要
      • /var/mail:放置个人电子邮箱,该目录与 /var/spool/mail 互为链接
      • /var/run:某些程序或服务启动后,会将它们的 PID 放在此目录下,此目录链接到 /run
      • /var/spoot:放置一些队列数据

相关文章:

Linux 文件、目录与磁盘格式

用户与用户组 用户&#xff1a;即某个文件的拥有者&#xff0c;可以管理自己账号下的文件&#xff0c;另有一个超级账号 root&#xff0c;可以统一管理全局&#xff0c;利用 su root 命令登录该账号。用户组&#xff1a;相当于群组&#xff0c;多个用户之间可以组成用户组&…...

锁屏面试题百日百刷-Hive篇(五)

锁屏面试题百日百刷&#xff0c;每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线&#xff0c;官网地址&#xff1a;https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容&#xff0c;还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你…...

java多线程(七)线程等待与唤醒

一、wait()、notify()、notifyAll()等方法介绍 在Object.java中&#xff0c;定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态&#xff0c;同时&#xff0c;wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用&#xff0…...

第13天-仓储服务(仓库管理,采购管理 ,SPU规格维护)

1.仓储服务开发配置 1.1.加入到Nacos注册中心 spring:application:name: gmall-warecloud:nacos:discovery:server-addr: 192.168.139.10:8848namespace: 36854647-e68c-409b-9233-708a2d41702c1.2.配置网关路由 spring:cloud:gateway:routes:- id: ware_routeuri: lb://gmal…...

Maven 命令行及例子

基本 mvn -v - show-version -version 显示版本信息mvn -h - help 显示帮助信息mvn -e -errors控制 maven 的日志级别&#xff0c;产生执行错误相关消息mvn -q - quiet 控制 maven 的日志级别&#xff0c;仅仅显示错误mvn -o - offline 运行 offline 模式&#xff0c;不联网更…...

JavaScript手写题

一、防抖 function debounce(fn, delay200) {let timeout null; // 定时器控制return function(...args) {if (timeout) { // 定时器存在&#xff0c;表示某个动作之前触发过了clearTimeout(timeout); // 清除定时器timeout null;} else {// 对第一次输入立即执行fn.apply…...

为什么图标的宽度总是8的倍数?

对于 Windows 上的所有图标而言&#xff0c;它的宽度总是8的倍数&#xff0c;这可不是因为人们喜欢2的幂&#xff0c;虽然在计算机世界&#xff0c;你会看到很多这样的数字&#xff0c;例如&#xff0c;1024&#xff0c;4096等。 在 Windows 的早期阶段&#xff0c;大多数显卡…...

常用的xpath

一、xpath 语法 简单看一下菜鸟教程即可 1、基本语法 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式&#xff1a; 表达式描述nodename选取此节点的所有子节点。/从根节点选取&#xff08;取子节点&#…...

【035】基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文

1.3 系统实现的功能 本次设计任务是要设计一个超市进销存系统&#xff0c;通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括&#xff1a;首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 …...

【Spark分布式内存计算框架——Spark Streaming】7. Kafka集成方式

集成方式 Spark Streaming与Kafka集成&#xff0c;有两套API&#xff0c;原因在于Kafka Consumer API有两套&#xff0c; 文档&#xff1a;http://spark.apache.org/docs/2.4.5/streaming-kafka-integration.html。 方式一&#xff1a;Kafka 0.8.x版本 老的Old Kafka Consum…...

如何引入elementUI

elementUI的引入完整引入按需引入完整引入 在 main.js 中写入以下内容&#xff1a; import Vue from ‘vue’; import ElementUI from ‘element-ui’; import ‘element-ui/lib/theme-chalk/index.css’; import App from ‘./App.vue’; Vue.use(ElementUI); new Vue({ el: ‘…...

vue3+rust个人博客建站日记4-Vditor搞定MarkDown

即然是个人博客&#xff0c;那么绝对不能丢给自己一个大大的输入框敷衍了事。如果真是这样&#xff0c;现在就可以宣布项目到此结束了。如今没人享受用输入框写博客。作为一个有追求的程序员&#xff0c;作品就要紧跟潮流。 后来&#xff0c;Markdown 的崛起逐步改变了大家的排…...

KDZD-JC软化击穿试验仪

一、概 述 KDZD-JC智能软化击穿试验仪是根据GB/T4074.6-2008和idtIEC60851-6:2004标准而设计的一种新型漆包圆线检测仪器。主要适用于固体绝缘材料&#xff08;如&#xff1a;塑料、橡胶、层压材料、薄膜、树脂、云母、陶瓷、玻璃、绝缘漆等绝缘材料及绝缘件&#xff09;在工…...

【数据结构】单链表的C语言实现--万字详解介绍

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1.链表1.1 链表的概念…...

电子科技大学软件工程期末复习笔记(七):测试策略

目录 前言 重点一览 V模型 回归测试 单元测试 集成测试 重要概念 自顶向下的集成方法 自底向上的集成方法 SMOKE方法 系统测试 验收测试 α测试 β测试 本章小结 前言 本复习笔记基于王玉林老师的课堂PPT与复习大纲&#xff0c;供自己期末复习与学弟学妹参考用…...

逆向-还原代码之除法 (Interl 64)

除法和32位差不多&#xff0c;毕竟背后的数学公式是一样的。区别只是32位的乘法需要两个寄存器来存放大数相乘的结果&#xff0c;而64位的不需要&#xff0c;一个寄存器就能存下。所以在64位的环境下&#xff0c;多了右移32位这条指令&#xff0c;其他指令一样。 //code #incl…...

Python WebDriver自动化测试

Webdriver Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化测试工具&#xff0c;它通常用来编写 Web 应用的自动化测试。 Selenium 2&#xff0c;又名 WebDriver&#xff0c;它的主要新功能是集成了 Selenium 1.0 以及 WebDriver​&#xff08;WebDriver 曾经是…...

2023年微信小程序获取手机号授权登录注册详细教程,包含服务端教程

前言 小程序中有很多地方都会用到用户的手机号&#xff0c;比如登陆注册&#xff0c;填写收货地址等等。有了这个组件可以快速获取微信绑定手机号码&#xff0c;无须用户填写。网上大多数教程还是往年的&#xff0c;而微信官方的api已做了修改。本篇文章将使用最新的方法获取手…...

YOLOv8模型学习笔记

在前面的章节中博主学习了YOLOv5的相关知识&#xff0c;从YOLOv5的数据增强处理到模型设计&#xff0c;从正负样本匹配策略到LOSS设计&#xff0c;今天博主学习的是YOLOv8&#xff0c;同为ultralytics公司的产品&#xff0c;两者无论是思想层面还是具体的设计方面都有着异曲同工…...

Java SE知识点1

一、continue、break、和return的区别是什么? 在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要 在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词: 1. continue :指跳出当前的这一次循环,…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...