2023年最详细介绍Linux 系统目录结构!你确定不来了解一下吗?

  📚📚 🏅我是默,一个在CSDN分享笔记的博主。📚📚 

​​​

🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯

🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进代码的世界,让你从零开始,一步步成为编程大师。🚀🏆

🌈让我们在代码的世界里畅游吧!🌈

🎁如果感觉还不错的话请记得给我点赞哦!🎁🎁

💖期待你的加入,一起学习,一起进步💖💖

​ 

 一.虚拟机目录介绍

目录展示

Linux为免费开源的系统,拥有众多发行版,为规范诸多的使用者对Linux系统目录的使用,Linux基金会发布了FHS标准(文件系统层次化标准)。多数的Linux发行版都遵循这一规范。

注: FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件

常用的目录介绍:

目录作用
/usr全称(Unix Software Resource),该目录用于存放软件资源,FHS建议开发者,将软件产品的数据合理放在该目录的子目录下,有点类似于Windows中的c:\windows,与c:\Program files的综合体
/usr/bin/存放系统命令,普通用户和超级用户都可以执行
/usr/sbin/存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用
/usr/lib/应用程序调用的函数库保存位置
/usr/local/手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
/usr/src/源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里, (也可以按照自己的习惯,将手动下载的源码包放在/usr/local/src, 内核源码放在/usr/src/linux中)
/usr/includeC/C++ 等编程语言头文件的放置目录
/var用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等
/var/lib/程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
/var/log/登陆文件放置的目录
/var/run/一些服务和程序运行后,它们的 PID(进程 ID)保存位置
/var/spool/里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务
/var/www/RPM 包安装的 Apache 的网页主目录
/var/tmp一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
/home用户家目录,以每个用户的名称命名,存放每个用户的数据
/dev/设备文件保存位置
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/opt/第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。按照个人习惯也可以放在 /usr/local/
/root/root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
/sbin/保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据

通过登录虚拟机之后通过 cd ../ 推到根目录进行  ls 查看

树状目录结构:

 2.bin目录

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令(这里小编只是展示部分

2.boot目录

这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件

3. etc目录

etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录 

4.dev 目录

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的

5.home目录

用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

6.lib目录

lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库

DLL文件介绍

DLL文件是动态链接库文件,它们是一种可执行文件格式,允许程序共享执行特殊任务所必需的代码和其他资源。在Windows系统中,许多应用程序并不是一个完整的可执行文件,它们被分割为一些相对独立的动态链接库,即DLL文件,放置于系统之中

DLL文件的作用主要有以下几点:

  1. 提高程序的可重用性:通过将公共代码封装到DLL文件中,可以使得不同的程序都可以共享这些代码,从而提高程序的可重用性。
  2. 减少程序的内存占用:由于DLL文件可以在程序运行时动态加载,所以可以减少程序的内存占用,提高系统的运行效率。
  3. 方便程序的更新和维护:由于DLL文件可以独立于程序而存在,所以可以方便地对程序进行更新和维护,而不需要重新编译整个程序。
  4. 提高程序的安全性:由于DLL文件可以被多个程序共享,所以可以减少程序中的重复代码,从而降低程序的漏洞风险。

总之,DLL文件在Windows系统中扮演着重要的角色,它们向运行于Windows操作系统下的程序提供代码、数据或函数。如果出现问题,需要及时解决。

7./media目录

linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

8.mnt目录

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

9.opt目录

opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

10.proc目录

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器

11.root目录(不放置任何文件污染用户)

该目录为系统管理员,也称作超级权限者的用户主目录

12.sbin

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序

13.selinux

 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

14.srv

 该目录存放一些服务启动之后需要提取的数据。

15.sys

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

16.tmp

tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

17.usr

 usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:
系统用户使用的应用程序。

/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:
内核源代码默认的放置目录。

18.var

var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

19.run

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是 /bin/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/253381.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS CodeWhisperer:基于机器学习的代码建议工具

#AWS CodeWhisperer:基于机器学习的代码建议工具 AWS CodeWhisper概述 Amazon CodeWhisperer 是一种基于机器学习(ML)的服务,它可以根据Amazon CodeWhisperer 是一种基于机器学习(ML)的服务,它…

Java---接口讲解

文章目录 1. 接口概述2. 接口特点3. 接口成员特点4. 小案例应用5. 类和接口的关系6. 抽象类和接口区别 1. 接口概述 1. 接口是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的是体现在对行为的抽象。 2. 参考生活中的接口可以理…

玩弄GPTs:人人都会的Prompt模板

角色定义 分享一个自用的Prompt模板,只要学会了这个模板,当遇到新场景时,直接套用就行。 简单总结: 角色定义(Master)背景(Background)规则(rule)技能(skill)限制(constaints)工作流(workflow) 经过实际测试发现,这…

Gti GUI添加标签

通过Git Gui打开项目,通过菜单打开分支历史,我这里是名为"develop"的分支 选中需要打标签的commit,右键-Create tag即可 但貌似无法删除标签,只能通过git bash

IOday4作业

使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一半内容&#xff0c;父进程用于回收两个子进程的资源 #include<myhead.h>int main(int argc, const char *argv[]) {int pid-1;int fd -1;int fa -1;int fb -1;//求出文…

Splashtop 荣获 SDC“年度安全供应商”奖

2023年12月5日 荷兰阿姆斯特丹 Splashtop 是随处办公环境改革的先驱&#xff0c;在伦敦举办的第14届 SDC 颁奖典礼上荣获“年度安全供应商”奖&#xff0c;我们对此感到十分自豪。荣获这一知名奖项凸显了 Splashtop 致力于通过企业级加密和基于权限的访问保护不同规模组织的决…

【精选】MyFileServer (超详细思路过程)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

JVM 类加载机制(七)

1.加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化 ​ JVM 类加载机制分为五个部分&#xff1a;加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化&#xff0c;下面我们就分别来看一下这五个过程。 1.1. 加载 ​ 加载是类加…

强化学习第1天:强化学习概述

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​​ 文章目录 介绍 强化学习要素 强化学习任务示例 环境搭建&#xff1a;gym 基本用法 环境信息查看 创建智能体 过程可视化 完整代码 结语…

代码随想录算法训练营第三十六天|01背包问题 二维 ,01背包问题 一维 ,416. 分割等和子集

背包理论基础 01 背包&#xff08;二维&#xff09; 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 背包最大重量为4。 物品为&#x…

Python小案例:while练习题

目录 while练习题&#xff1a;1、存款多少年能翻倍2.小球坠落长度计算3、猴子吃桃4、计算&#xff1a;1-23-4...99-100的和 while练习题&#xff1a; 1、存款多少年能翻倍 1万本金&#xff0c;年利息&#xff1a;0.0325&#xff0c;求连本带息多少年能翻倍 解析&#xff1a;…

Codeforces Round 913 (Div. 3) A~E(F,G更新中)

A.Rook&#xff08;循环&#xff09; 题意&#xff1a; 给出一个 8 8 8 \times 8 88的棋盘和一个棋子&#xff08;可以任选上下左右四方向移动任意步数&#xff09;&#xff0c;问一次移动可以到达哪些格子。 分析&#xff1a; 使用for循环对棋子所在的行列进行遍历并输出…

「智慧城市」这一概念科学吗?还是炒作?

智慧城市是一个综合性的概念&#xff0c;它利用信息技术和创新概念&#xff0c;将城市的各个系统和服务集成起来&#xff0c;以提升城市运行效率、优化城市管理和服务&#xff0c;改善市民的生活质量。 具体来说&#xff0c;智慧城市涵盖了许多领域&#xff0c;包括城市规划、建…

数据通信的基础知识

目录 一、物理层的主要功能 二、物理层的特性 三、数据通信的几个术语 四、信道的几个基本概念 1、信道 2、基带信号 &#xff08;1&#xff09;基带调制常用编码方式 1&#xff09;不归零码&#xff08;NRZ&#xff1a;Non-Return to Zero&#xff09; 2&#xff09;…

MATLAB——二维小波的多层重构

%% 学习目标&#xff1a;二维小波的多层重构 %% 案例1 clear all; close all; load woman.mat; Xind2gray(X,map); [C,S]wavedec2(X,3,db4); %二维小波的多层分解 S C(1:38*38)0; %将小波的近似系数设置为0 Ywaverec2(C,S,db4); %二维小波的多层…

MYSQL全语法速查(含示例)

文章目录 1.从简单的查询开始查找所有记录(SELECT *)查找记录中的所有登录名(SELECT)查找登录名为admin的密码(WHERE)查找电话号码非空的记录(IS NOT NULL)查找所在城市为北京或者用户名字是李四的记录(OR)查找所在城市为北京并且用户名字是张三的记录(AND)查找用户名字是李四或…

组件的生命周期

目录​ 1&#xff1a;生命周期和生命周期函数的概念 2&#xff1a;组件创建的过程 3&#xff1a;组件创建阶段beforeCreate&#xff0c;created&#xff0c;beforeMount&#xff0c;mounted生命周期函数。 3.1&#xff1a;beforeCreate方法示例&#xff1a; 3.2&#xff1…

【数据结构】动态规划(Dynamic Programming)

一.动态规划&#xff08;DP&#xff09;的定义&#xff1a; 求解决策过程&#xff08;decision process&#xff09;最优化的数学方法。 将多阶段决策过程转化为一系列单阶段问题&#xff0c;利用各阶段之间的关系&#xff0c;逐个求解。 二.动态规划的基本思想&#xff1a; …

团队git操作流程

项目的开发要求&#xff1a;&#xff08;1&#xff09;项目组厉员代码提交不少于20次 &#xff08;2&#xff09;项目组厉员每天提交不少于20次 &#xff08;3&#xff09;企业项目开发代码的每天的提交一般提交3-5次 &#xff08;4&#xff09;代码仓库的管理 git的基础操作流…

对于多台232modbus仪表低成本通讯的modbus转profinet网关

随着越来越多的仪表设备采用Modbus通信协议&#xff0c;其中又以232 Modbus仪表的应用最为广泛。而为了实现多台232 Modbus仪表低成本通信&#xff0c;Modbus转Profinet网关应运而生。Modbus转Profinet网关不仅能够实现多台仪表之间的数据传输&#xff0c;还能够保证通信的稳定…