深入探究Linux树状目录结构
Linux 作为一款广泛使用的开源操作系统,其目录结构采用了树状设计,这种结构清晰、有条理,便于用户和系统进行文件管理与操作。
一、根目录(/)
根目录是整个 Linux 文件系统的起始点,就像一棵大树的根部,所有的文件和目录都从这里开始分支。它是整个系统的核心,包含了系统运行所需的各种重要目录和文件。
二、主要子目录及其功能
1.bin
存放二进制可执行文件,这些文件是系统的基本命令,例如ls
、cp
、mv
等。这些命令是用户与系统交互的基础工具,通过它们可以完成文件查看、复制、移动等常见操作。例如,使用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
也是一个虚拟文件系统,它主要用于提供关于系统设备和内核的详细信息,以及对设备的一些控制和管理功能。
二级目录 / 文件:如devices
、firmware
,devices
目录下包含了系统中所有设备的信息,以目录树的形式组织,通过查看这些目录可以了解设备的详细信息和设备之间的关系;firmware
目录可能用于存放设备的固件信息等,这些信息对于设备的管理和驱动开发等具有重要意义。
三、子目录的嵌套结构
在usr
、var
等主要目录下,还存在着更深层次的子目录结构,进一步细化了文件的分类和管理。例如,在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模板语法、数据映射与表达式
模板字符串 表达式中获取变量 可以支持在普通文本中,使用数据映射语法:${xxx} 获取数据域中变量的值 "Hello ${text}"渲染 html 使用数据映射语法:${xxx} 获取数据域中变量的值,并渲染 HTML "<h1>Hello<…...

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

GitLab 国际站中国大陆等地区停服,如何将数据快速迁移到云效
代码托管平台 GitLab 国际站(GitLab.com)近日发布公告,官宣即将停止对中国大陆、香港、澳门地区的用户账号提供服务,并提供 60 天过渡期自行迁移账户数据,超期未迁移的账号可能会被 GitLab 清除。这一重要决策引起了全…...

BPG图像库和实用程序(译)
1)快速介绍 编辑Makefile以更改编译选项(默认编译选项对于Linux应该是OK的)。输入make来编译,输入make install来安装编译后的二进制文件。bpgview:为了编译它,你需要安装SDL和SDL_image库。Emscripten的使用ÿ…...

简述1个业务过程:从客户端调用接口,再到调用中间件(nacos、redis、kafka、feign),数据库的过程
以下是一个常见的业务过程示例,展示了从客户端调用接口,再到调用中间件(Nacos、Redis、Kafka、Feign)和数据库的过程: 假设我们有一个电商系统,客户端要查询某个商品的详细信息,这个商品信息可…...

01.02、判定是否互为字符重排
01.02、[简单] 判定是否互为字符重排 1、题目描述 给定两个由小写字母组成的字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 在这道题中,我们的任务是判断两个字符串 s1 和 s2 是…...

什么是.NET中的反射,它有哪些应用场景
反射是.NET框架提供的一种强大的机制,它允许程序在运行时查询和操作对象的类型信息。以下是对.NET中反射的详细解释及其应用场景: 一、反射的定义 在.NET中,所有类型的信息(包括类、结构、委托、接口、枚举等以及它们的成员信息…...

Linux离线部署ELK
文章目录 前期准备开始安装安装elastic search安装logstash安装kibana 配置ELK配置ElasticSearch配置logstash配置kibana 启动ELK启动命令启动测试 设置ELK策略创建ILM策略将ILM策略与日志index关联查看索引是否被ILM策略管理 前期准备 ELK包含三部分软件 ElasticSearch用作搜…...

解决 chls.pro/ssl 无法进入问题
使用charles的xdm不知道有没有遇到这样的问题。手机上访问 chls.pro/ssl 就始终进不去了… 各种检查,ip地址、证书,ssl设置等等都正常,就是进不去。 在一位好心人的提醒下得到了一个解决办法。那就是换一个地址 最新地址是: charlesproxy…...

Rust 游戏开发框架指南
Rust 游戏开发框架指南 主流游戏引擎 1. Bevy 最受欢迎的 Rust 游戏引擎之一,基于 ECS(实体组件系统)架构。 特点: 🚀 高性能 ECS 系统📦 热重载支持🎨 现代渲染器🔊 内置音频系…...

hadoop3.3和hive4.0安装——单节点
hadoop3.3x和hive4.0安装部署 为什么我要安装hive4.0,因为阿里云镜像只有hive4.0 软件相互兼容性版本 系统centos7 uname -a如果内核3.0以上可以用 安装jdk1.8以上的版本(配置好环境变量) hadoop3.3.x与hive4.0.x 创建目录 mkdir -p /us…...

centos安装golang
1.下载golang golang所有版本网址 https://studygolang.com/dl //下载并解压到/usr/local文件下 wget https://studygolang.com/dl/golang/go1.18.3.linux-amd64.tar.gz //解压并复制到/user/local文件夹下 tar -C /usr/local -zxf go1.18.3.linux-amd64.tar.gz 2.编辑环境变…...