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

深入探究Linux树状目录结构

Linux 作为一款广泛使用的开源操作系统,其目录结构采用了树状设计,这种结构清晰、有条理,便于用户和系统进行文件管理与操作。
在这里插入图片描述

一、根目录(/)

根目录是整个 Linux 文件系统的起始点,就像一棵大树的根部,所有的文件和目录都从这里开始分支。它是整个系统的核心,包含了系统运行所需的各种重要目录和文件。

二、主要子目录及其功能

1.bin

存放二进制可执行文件,这些文件是系统的基本命令,例如lscpmv等。这些命令是用户与系统交互的基础工具,通过它们可以完成文件查看、复制、移动等常见操作。例如,使用ls命令可以列出目录中的内容:

ls /bin
  • 这些命令对于系统的日常管理和使用至关重要,它们通常是系统启动时就加载到内存中的,以确保用户随时可以使用。

2.usr

这是一个非常重要的目录,用于存放用户安装的软件、共享库等。它类似于 Windows 系统中的 “Program Files” 目录,但在 Linux 中,usr目录的结构更加复杂和规范。

其中usr/bin存放用户安装的可执行文件,usr/lib存放库文件,usr/share存放共享数据,如文档、图标等。例如,当你安装一个新的软件,如文本编辑器vim,它的可执行文件可能就会安装在/usr/bin/vim

3.sbin

bin类似,但这里存放的是系统管理员使用的系统管理命令,如fdisk(用于磁盘分区)、ifconfig(用于网络配置)等。这些命令通常需要管理员权限才能执行,因为它们涉及到系统的关键配置和管理操作。例如,使用fdisk命令查看磁盘分区信息:

sudo fdisk -l

4.etc

该目录用于存放系统的配置文件,几乎所有的系统配置都在这里进行。例如,网络配置文件/etc/network/interfaces、用户和组的配置文件/etc/passwd/etc/group等。这些配置文件决定了系统的各种行为和参数设置,对系统的正常运行起着至关重要的作用。修改/etc/hosts文件可以自定义主机名与 IP 地址的映射关系:

sudo vi /etc/hosts

5.tmp

临时文件存放目录,任何用户都可以在这个目录下创建和删除临时文件。系统会定期清理这个目录,但也不能完全依赖系统清理,用户在使用完临时文件后,最好手动删除,以释放磁盘空间。例如,一些应用程序在运行过程中可能会在/tmp目录下生成临时数据文件。

6.lib

存放系统的库文件,这些库文件是二进制可执行文件运行时所需要的共享库。类似于 Windows 中的.dll文件,Linux 中的库文件提供了函数和资源的共享,使得多个程序可以共享同一份代码,提高了系统的效率和资源利用率。例如,/lib/libc.so是 C 语言标准库文件,几乎所有的程序都会依赖它。

7.var

用于存放经常变化的数据,如日志文件、邮件、数据库等。例如,/var/log目录下存放着系统日志和各种服务的日志文件,这些日志对于系统的故障排查和性能监控非常重要。通过查看/var/log/syslog可以了解系统的运行状态和可能出现的问题:

tail -f /var/log/syslog

8.home

这是用户的主目录所在地,每个用户在home目录下都有一个以自己用户名命名的子目录,用于存放用户的个人文件、配置等。例如,用户user1的主目录为/home/user1,用户可以在自己的主目录下自由创建文件和目录,而不会影响其他用户和系统的正常运行。

9.dev

设备文件存放目录,Linux 将所有的硬件设备都视为文件,通过设备文件来进行操作和管理。例如,/dev/sda表示第一个 SATA 硬盘,/dev/tty1表示第一个虚拟终端等。通过读写这些设备文件,系统可以与硬件进行交互,实现数据的输入输出等操作。

10.boot

存放系统启动相关的文件,如内核文件vmlinuz、引导加载程序grub等。这些文件是系统启动过程中必不可少的,它们负责引导系统内核加载和初始化系统。

11.media

用于挂载可移动设备,如 U 盘、移动硬盘等。当插入可移动设备时,系统会自动在media目录下创建一个以设备名称或卷标命名的挂载点,用户可以通过这个挂载点访问可移动设备中的文件。

12.mnt

也是用于挂载文件系统的目录,但通常用于手动挂载一些临时的文件系统,如网络文件系统(NFS)等。与media不同的是,mnt目录的使用更加灵活,用户可以根据自己的需求进行挂载操作。

13.opt

设主要用于安装附加软件包。这些软件包可能是一些大型的第三方软件,它们不适合安装在usr目录下的标准位置,或者是一些具有特定安装要求的软件。可能包含各个软件的子目录,如/opt/myapp,这里myapp是一个具体的软件名称,该软件的所有文件(可执行文件、配置文件、数据文件等)都可能存放在这个子目录下,方便管理和维护。

14.proc

这是一个虚拟文件系统,提供系统信息。它并不是真正的磁盘文件,而是内核在内存中创建的一个虚拟文件系统,用于实时反映系统的运行状态和信息。

 二级目录 / 文件:cpuinfo:包含 CPU 信息,如 CPU 型号、核心数、频率等,通过查看`/proc/cpuinfo`文件,可以获取关于 CPU 的详细信息,这对于系统性能评估和优化非常重要。meminfo:内存信息的存放地,包括总内存大小、已使用内存、空闲内存、内存交换区等信息,查看`/proc/meminfo`可以帮助用户了解系统的内存使用情况,及时发现内存不足等问题。pid:每个进程都有自己的目录,包含进程信息。例如,`/proc/1`表示进程 ID 为 1 的进程的信息目录,在这个目录下有`cmdline`(进程的命令行参数)、`status`(进程的状态信息)等文件,通过这些文件可以查看进程的详细信息,如进程的启动命令、运行状态、内存使用情况等,这对于进程管理和故障排查非常有帮助。

15.root

超级用户(root 用户)的主目录。与普通用户的主目录home不同,root用户的主目录用于存放 root 用户的配置和个人文件。由于 root 用户具有最高的权限,所以root目录下的文件和配置通常与系统的全局设置和管理相关。

16.run

存放系统运行时数据。这些数据通常是一些临时的、与系统运行状态密切相关的信息,例如进程的运行时数据、系统服务的运行状态等。

17.srv

存放服务相关的数据。这里主要是一些系统服务所需要的数据文件,例如 Web 服务器的数据、FTP 服务器的数据等。

18.sys

虚拟文件系统,提供设备和内核信息。与/proc类似,/sys也是一个虚拟文件系统,它主要用于提供关于系统设备和内核的详细信息,以及对设备的一些控制和管理功能。

二级目录 / 文件:如devicesfirmwaredevices目录下包含了系统中所有设备的信息,以目录树的形式组织,通过查看这些目录可以了解设备的详细信息和设备之间的关系;firmware目录可能用于存放设备的固件信息等,这些信息对于设备的管理和驱动开发等具有重要意义。

三、子目录的嵌套结构

usrvar等主要目录下,还存在着更深层次的子目录结构,进一步细化了文件的分类和管理。例如,在usr目录下的local子目录通常用于存放用户本地安装的软件,src子目录可能用于存放源代码等。这种嵌套结构使得文件的组织更加有序,便于查找和管理。

Linux 的树状目录结构是其文件系统的重要特点,这种结构清晰地划分了不同类型的文件和目录,为系统的稳定运行和用户的高效操作提供了坚实的基础。了解和熟悉 Linux 的目录结构,是掌握 Linux 系统管理和使用的关键一步。

四、总结概括

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

深入探究Linux树状目录结构

Linux 作为一款广泛使用的开源操作系统,其目录结构采用了树状设计,这种结构清晰、有条理,便于用户和系统进行文件管理与操作。 一、根目录(/) 根目录是整个 Linux 文件系统的起始点,就像一棵大树的根部&…...

Realsense相机驱动安装及其ROS通讯配置——机器人抓取系统基础系列(四)

文章目录 概要1 Realsense相机驱动安装Method1: 使用Intel服务器预编译包Method2: 使用ROS服务器预编译包Method3: 使用SDK源代码方法对比总结 2 Realsense-ROS通讯配置与使用2.1 Realsense-ROS包安装2.2 ROS节点启动 小结Reference 概要 本文首先阐述了Realsense相机驱动安装…...

linux安装nvm

下载命令 wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz当前盘打开终端后的nvm文件夹中 mkdir -p /nvm/.nvm如果树根不够就用加sudo 解压文件 tar xvf v0.39.1.tar.gz输入pwd 确定当前文件完成路径 在当前文件中写入。bashrc文件及代码回车进入编辑…...

图论1-问题 C: 算法7-6:图的遍历——广度优先搜索

题目描述 广度优先搜索遍历类似于树的按层次遍历的过程。其过程为:假设从图中的某顶点v出发,在访问了v之后依次访问v的各个未曾被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先…...

基于 STM32 的多功能时间管理器项目

引言 在快节奏的生活中,时间管理显得尤为重要。本项目旨在通过 STM32 开发一个多功能时间管理器,功能包括计时器、闹钟和日历。用户可以方便地设置不同的提醒和计时任务,以更好地管理日常生活和工作。 项目名称 多功能时间管理器 环境准备 …...

Java工程结构:二方库依赖规约

文章目录 I jar 包分类一方库:二方库:三方库:II 专有名词GAV(GroupId、ArtifactId、Version):Maven 坐标III GAV 规则GroupId 格式ArtifactId 格式二方库版本号命名方式:主版本号.次版本号.修订号I jar 包分类 一方库: 本工程内部子项目模块依赖的库(jar 包)。 二…...

Django自带admin管理系统使用

1、admin路径地址 localhost:8000/admin 2、使用命令行创建超级管理员 python manage.py createsuperuser 之后按照提示一步一步往下走就好了。 3、修改管理员密码 python manage.py changepassword admin admin是超级管理员的账号 4、后台管理系统注册模型,…...

Jmeter 简单使用、生成测试报告(一)

一、下载Jmter 去官网下载,我下载的是apache-jmeter-5.6.3.zip,解压后就能用。 二、安装java环境 JMeter是基于Java开发的,运行JMeter需要Java环境。 1.下载JDK、安装Jdk 2.配置java环境变量 3.验证安装是否成功(java -versio…...

手摸手实战前端项目CI CD

由于图片和格式解析问题,为了更好阅读体验可前往 阅读原文 CI/CD 是 持续集成(Continuous Integration) 和 持续交付/部署(Continuous Delivery/Continuous Deployment) 的缩写,是现代软件开发中的一种自动…...

【Elasticsearch】搜索类型介绍,以及使用SpringBoot实现,并展现给前端

Elasticsearch 提供了多种查询类型,每种查询类型适用于不同的搜索场景。以下是八种常见的 Elasticsearch 查询类型及其详细说明和示例。 1. Match Query 用途:用于全文搜索,会对输入的文本进行分词,并在索引中的字段中查找这些分…...

K8S中的Pod调度之亲和性调度

亲和性调度 亲和性调度是一种比硬性指定节点(使用 nodeName 或 nodeSelector)更灵活的调度策略,它允许定义一组规则,根据这些规则,调度器会尝试将 Pod 调度到最合适的节点上,但如果找不到完全匹配的节点&a…...

高等数学学习笔记 ☞ 不定积分的积分法

1. 第一换元积分法 1. 基础概念:形如的过程,称为第一换元积分法。 2. 核心思想:通过对被积函数的观察(把被积函数的形式与积分表的积分公式进行比较),把外部的部分项拿到的内部(求原函数), 然后进行拼凑,…...

【HTTP】详解

目录 HTTP 基本概念啥是HTTP,有什么用?一次HTTP请求的过程当你在浏览器中输入一个浏览器地址,它会发送什么 ?---(底层流程)HTTP的协议头请求头(对应客户端)一些请求头请求方法 响应头…...

cursor重构谷粒商城01——为何要重构谷粒商城

前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶到中高阶程序员。 本项目将基于谷粒商城…...

如何在 ASP.NET Core 中实现速率限制?

在 ASP.NET Core 中实现速率限制(Rate Limiting)中间件可以帮助你控制客户端对 API 的请求频率,防止滥用和过载。速率限制通常用于保护服务器资源,确保服务的稳定性和可用性。 ASP.NET Core 本身并没有内置的速率限制中间件&…...

STM32-笔记43-低功耗

一、什么是低功耗? 低功耗‌是指通过优化设计和采用特定的技术手段,降低电子设备在运行过程中消耗的能量,从而延长电池寿命、提高性能和减少发热。低功耗设计主要从芯片设计和系统设计两个方面进行,旨在减少所有器件的功率损耗&am…...

Facebook 隐私风波:互联网时代数据安全警钟

在社交媒体飞速发展的今天,个人数据的隐私保护已成为全球关注的焦点。作为全球最大的社交平台之一,Facebook面临的隐私问题,尤其是数据泄露事件,频繁引发公众的广泛讨论。从用户信息被滥用到数据泄漏,Facebook的隐私挑…...

Java 中的 ZoneOffset

介绍 在我们的这个世界上因为地球是圆的,所以每个国家都会有自己特定的时区。 时区在我们对时间的使用上扮演了非常重要的角色。但又因为时区的存在,又给我们带来了很多的麻烦,比如北美地区使用的夏令时和中国统一使用东 8 区的时间等。 当…...

amis模板语法、数据映射与表达式

模板字符串 表达式中获取变量 可以支持在普通文本中&#xff0c;使用数据映射语法&#xff1a;${xxx} 获取数据域中变量的值 "Hello ${text}"渲染 html 使用数据映射语法&#xff1a;${xxx} 获取数据域中变量的值&#xff0c;并渲染 HTML "<h1>Hello<…...

频域增强通道注意力机制EFCAM模型详解及代码复现

背景与动机 在深度学习领域,如何有效处理时间序列数据一直是一个重要的研究方向。近年来, 频域分析技术 在时间序列处理中展现出了巨大潜力,特别是离散余弦变换(DCT)因其能够高效捕捉低频信息并避免高频噪声干扰而受到广泛关注。 FECAM模型的开发正是基于这一背景,旨在…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...