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]
orchown [-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
:虚拟文件系统,记录内核和系统硬件信息
- FHS 要求必须存在的目录
/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
- FHS 要求必须存在的目录
/var
:该目录主要存放在系统运行时经常变动的内容,包括缓存和日志以及一些运行产生的文件- FHS 要求必须存在的目录
/var/cache
:应用程序缓存/var/lib
:执行过程中需要用到的数据文件,此目录下各软件有各自的目录/var/lock
:某些设备或资源的进程锁/var/log
:日志文件,非常重要/var/mail
:放置个人电子邮箱,该目录与/var/spool/mail
互为链接/var/run
:某些程序或服务启动后,会将它们的 PID 放在此目录下,此目录链接到/run
/var/spoot
:放置一些队列数据
- FHS 要求必须存在的目录
相关文章:
Linux 文件、目录与磁盘格式
用户与用户组 用户:即某个文件的拥有者,可以管理自己账号下的文件,另有一个超级账号 root,可以统一管理全局,利用 su root 命令登录该账号。用户组:相当于群组,多个用户之间可以组成用户组&…...
锁屏面试题百日百刷-Hive篇(五)
锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你…...

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

第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 的日志级别,产生执行错误相关消息mvn -q - quiet 控制 maven 的日志级别,仅仅显示错误mvn -o - offline 运行 offline 模式,不联网更…...

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

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

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

【035】基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文
1.3 系统实现的功能 本次设计任务是要设计一个超市进销存系统,通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括:首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 …...

【Spark分布式内存计算框架——Spark Streaming】7. Kafka集成方式
集成方式 Spark Streaming与Kafka集成,有两套API,原因在于Kafka Consumer API有两套, 文档:http://spark.apache.org/docs/2.4.5/streaming-kafka-integration.html。 方式一:Kafka 0.8.x版本 老的Old Kafka Consum…...
如何引入elementUI
elementUI的引入完整引入按需引入完整引入 在 main.js 中写入以下内容: 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
即然是个人博客,那么绝对不能丢给自己一个大大的输入框敷衍了事。如果真是这样,现在就可以宣布项目到此结束了。如今没人享受用输入框写博客。作为一个有追求的程序员,作品就要紧跟潮流。 后来,Markdown 的崛起逐步改变了大家的排…...

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

【数据结构】单链表的C语言实现--万字详解介绍
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录1.链表1.1 链表的概念…...

电子科技大学软件工程期末复习笔记(七):测试策略
目录 前言 重点一览 V模型 回归测试 单元测试 集成测试 重要概念 自顶向下的集成方法 自底向上的集成方法 SMOKE方法 系统测试 验收测试 α测试 β测试 本章小结 前言 本复习笔记基于王玉林老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用…...

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

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

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

YOLOv8模型学习笔记
在前面的章节中博主学习了YOLOv5的相关知识,从YOLOv5的数据增强处理到模型设计,从正负样本匹配策略到LOSS设计,今天博主学习的是YOLOv8,同为ultralytics公司的产品,两者无论是思想层面还是具体的设计方面都有着异曲同工…...
Java SE知识点1
一、continue、break、和return的区别是什么? 在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要 在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词: 1. continue :指跳出当前的这一次循环,…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...