Linux目录分类说明

news2024/11/26 10:00:01

        在Linux根目录下一般包括如下目录,这里就这些目录的特点做一些归纳。(centos8为例)

         一、/var目录

        /var目录是一个包含经常变化的文件的目录。它是Variable的缩写,也有些人解释为Versioned Archives。通常包含以下内容:

        日志文件(log files):各种系统、应用程序和任务的日志文件,比如/var/log/messages、/var/log/syslog等;

        邮件(mail):发送和接收的电子邮件信息,保存在/var/mail目录下;

        打印机(printer):打印相关的临时文件和spool目录,保存在/var/spool目录中,包括打印队列等;

        数据库(databases):数据库的运行和存储文件,如MySQL等;

        软件包(packages):包括已安装的软件和库文件,保存在/var/lib目录下;

        Lock文件(locks):锁定文件、运行进程的pid文件等,保存在/var/lock目录下;

        运行目录(run):保存正在运行的进程的PID文件,保存在/var/run目录下。

        /var目录具有独特的目录结构和用途,在Linux系统中起着重要的作用。在维护Linux系统的过程中,/var目录的管理和维护非常重要,可以防止系统出现意外故障或数据丢失。

        二、/etc目录

        /etc目录包含的是系统的配置文件。这些文件是系统启动时需要读取的文件,也包含了许多系统中程序所需的配置信息,可以看作是计算机系统的“系统设置”页面。该目录下文件通常可以分为以下几类:

        系统配置文件:各种硬件设备及系统所需的配置文件,如网络配置文件(/etc/sysconfig/network)、系统启动文件(/etc/rc.d/rc.local)等。

        软件配置文件:各种软件所需的配置文件,如DNS配置文件(/etc/resolv.conf)、SSH配置文件(/etc/ssh/sshd_config)等。

        安全文件:包括密码文件和shadow文件,他们存储了所有用户及相应的密码和加密信息,以及一些涉及系统安全的配置文件,如sudo配置文件(/etc/sudoers)、防火墙配置文件(/etc/sysconfig/iptables)等。

        脚本文件:包括各种脚本文件,如启动脚本(/etc/init.d/)、定时任务脚本(/etc/crontab)等。

        /etc目录是一个非常重要的目录,它包含了对计算机系统运行的每个方面都是必不可少的文件。同时,因为它们是系统和应用程序的配置文件,所以他们可能会表现出同样对系统运行健康的重要性。错误的配置可能导致系统出于不稳定状态,而正确的配置可以增强系统的安全性、性能和功能。因此,对于Linux系统管理员而言,及时备份、更新和管理/etc目录的文件非常重要。

        三、/dev目录

        /dev目录是用于存储设备驱动程序的虚拟文件系统。/dev是Device的缩写。

        /dev目录下的每个文件都是内核虚拟文件系统的一个接口,它们表示了计算机系统上的硬件设备、磁盘分区、终端设备等等。

        /dev目录中存放的设备文件通常可以分为以下三类:

        块设备(Block Device):代表像硬盘、光驱、U盘等可以随机访问的储存设备。它们在/dev目录中的名称通常是以“sd”(SCSI硬盘)或“hd”(IDE硬盘)开头的文件名,如 /dev/sda1 表示第一个SCSI硬盘的第一个分区。

        字符设备(Character Device):代表串口、调制解调器、输入输出设备等。它们在/dev目录中的名称通常是以“tty”(teletype)开头的文件名,如 /dev/ttyS0 表示第一个串口设备。

        网络设备(Network Device):代表网络卡。它们在/dev目录中的名称通常是以“eth”(Ethernet)开头的文件名,如 /dev/eth0 表示第一块网络卡设备。

        /dev目录中的设备文件是Linux系统中非常重要的一部分,因为它们提供了访问硬件设备的接口。任何与设备相关的操作,在Linux中都是通过这些设备文件进行的。因此,理解/dev目录的作用和结构是非常重要的,特别是对于系统管理员和开发人员。

        四、/boot目录

        用于存储Linux内核和启动加载程序(Bootloader)相关的文件。这些文件是让计算机启动和加载操作系统所必需的。/boot目录通常包括以下一些文件和目录:

        vmlinuz:它是内核的压缩镜像,是Linux操作系统的核心。它包含了操作系统启动的时候需要的所有驱动程序和其他的核心组件。

        initrd.img:它是一个初始内存文件系统,包含了系统启动过程中可能需要的文件和驱动程序等。

        grub目录:GRUB(GNU GRand Unified Bootloader)是最常用的启动加载程序,它允许用户选择并启动多个操作系统或内核版本。/boot/grub目录包含了GRUB配置文件和相关的引导加载程序。

        memtest86+:它是一种系统内存测试工具,可以检测计算机硬件中的内存故障。

        /boot目录是Linux系统启动所必需的,如果/boot目录中的文件或目录被修改或删除,操作系统可能无法正常启动。因此,管理员应该非常小心地处理/boot目录,尤其是在系统更新和升级时。

        需要注意的是,/boot目录通常只用于存储引导和内核文件,不应存储其他数据文件。这是因为/boot文件系统通常很小,而且是在计算机启动时加载的,如果/boot目录被填满了其他文件,这可能会影响系统启动加载时间。

        五、/srv目录

        /srv目录是一种用于存储服务数据的标准化目录。其中,srv是“service”的缩写。

        在Linux系统中,服务数据通常包括网站文件、文件共享、FTP上传目录等等。这些服务数据的路径通常是在服务配置文件中指定的,而/srv目录则提供了一种标准化的目录结构,使得管理员和开发人员能够轻松找到和管理这些服务数据。

        /srv目录通常是空的,并不包含实际的服务数据,而是作为服务数据的根目录,在其中创建和管理服务数据的子目录。例如,/srv/http是一个常见的网站文件根目录,/srv/samba是一个常见的Samba文件共享根目录。

        在标准化的Linux文件系统中,/srv目录是规定的标准目录之一,它独立于操作系统和软件安装的位置。这意味着无论您在哪个Linux系统上使用服务,都应该能够在/srv目录中找到相应的服务数据。此外,/srv目录的使用也有助于文件系统的整洁和简洁。

        总的来说,/srv目录是一种用于存储服务数据的标准化目录结构,在Linux系统中广泛使用,有助于管理服务数据和文件系统的整洁性。

        六、/usr目录

        /usr目录是用于存储系统的次要文件、应用程序、库文件等。其中,usr是Unix Software Resource(Unix软件资源)的缩写。主要包括以下几个子目录:

        /usr/bin:用于存储普通用户使用的命令和应用程序,如ls、cp等;

        /usr/sbin:用于存储系统管理员使用的命令和应用程序,如fdisk、iptables等;

        /usr/include:存放用于编译程序的头文件;

        /usr/lib:存储和操作系统有关的库文件,包括动态链接库(.so文件)、共享对象文件(.a文件)等;

        /usr/local:用于存储与操作系统无关的程序和文件,这些程序和文件是管理员自己或其他人编译的,而不是通过操作系统的标准包管理系统安装的;

        /usr/share:包含其他程序、文档、图标、背景等共享文件;

        /usr/games:存放游戏程序。

        总的来说,/usr目录对于系统的正常运行并没有太大的影响,但它是Linux系统中重要的部分,对于管理员和程序员来说也是很重要的。/usr目录中的文件往往是系统安装时默认没有安装的或者许多软件共有的,而这些文件又是运行软件必须用到的,所以管理好/usr目录下的文件和子目录是非常有必要的。

        七、/opt目录

        /opt目录一般用于安装大型、独立的第三方软件,例如Java Runtime Environment(JRE)、.NET Core Framework等等。

        /opt目录下的顶级目录通常是与软件包或其供应商的名称无关和无特定的命名方案有关的子目录。通常,这些软件包是以压缩文件或二进制文件的形式发布的,管理员可以将它们解压缩或在/opt目录中创建一个新目录,并将所有文件和目录复制到该目录中。

        /opt目录是Linux版本的“Program Files”目录,它有助于将应用程序和数据分开,使系统更整洁。它还可以帮助管理多个不同版本的同一软件包或不同供应商的软件,使管理员的工作更加容易。

        除了大型第三方软件之外,/opt目录也可以用于存储其他目录可写而不属于标准系统管理的软件和数据,例如虚拟机映像、分享数据等。但是,如果/opt目录被用于存储不属于系统管理的其他文件,则应将其妥善保护起来以防止未经授权的读取和修改。

        总之,/opt目录是一个用于存储大型独立软件包的合理目录,它可以帮助管理员更好地管理第三方应用程序,提供更好的系统整洁性,并使不同版本的软件、以及软件和数据分开存储更加容易。

        八、/sys目录

        /sys目录是一种虚拟文件系统,用于显示和修改系统的硬件和驱动程序信息。该目录提供了与/sys中显示的虚拟文件对应的内核设备树(Device Tree)的信息,它同样也是由内核来维护。这里包含了许多文件和目录,其中包括以下一些重要的文件和目录:

        /sys/devices:包含了系统所有设备的信息,每个设备都有一个对应的目录,里面包含了设备的驱动程序、设备文件名,以及与该设备相关的其他信息。

        /sys/bus:包含了所有总线的信息,每个总线都有一个对应的目录,里面包含了总线的驱动程序、设备文件名以及与该总线相关的其他信息。

        /sys/class:包含了所有设备类的信息,每个设备类都有一个对应的目录,里面包含了该设备类的属性和与该设备类相关的其他信息。

        /sys/block:包含了所有的块设备(硬盘、U盘等)的信息,每个块设备都有一个对应的目录,里面包含了块设备的驱动程序、设备文件名以及与该块设备相关的其他信息。

        /sys目录是一个虚拟文件系统,其中显示了Linux内核的许多硬件、设备、模块和其它内核功能的信息。它作为Linux系统配置和管理的一部分,不应被用户或应用程序直接修改。管理/sys目录需要系统管理员具备一定的系统知识和相关经验。

        九、/home和/root目录

        用于存放普通用户的主目录的地方。在Linux中,每个普通用户有一个对应的主目录,以用户名命名,主目录通常位于“/home”目录下,如“/home/username”。

        每个用户在自己的主目录下拥有完全的读、写、执行权限。用户可以在自己的主目录下存储个人文件、配置文件、桌面文件以及其他重要数据,这些数据通常是受到用户密码保护的,只有该用户可以读取和修改。用户也可以在主目录下创建文件夹,在其中管理和组织自己的文件。它也是用户在系统中的默认起始工作目录。

        /home目录默认情况下是可写的,但该目录通常由系统管理员进行维护和管理。管理员可以对/home目录进行空间配额和权限管理,以确保系统的稳定性和安全性。

        在多用户环境中,/home目录的使用非常重要,因为它允许管理员、用户和软件将不同用户的数据隔离开来,可以更好地维护系统的安全性和可靠性。

        “/root”目录是系统管理员(即root用户)的主目录,与普通用户的“/home”目录类似。

        具体来说,“/root”目录是root用户的主目录,只有root用户才有访问权限。通常,root用户不应该将重要数据存储在/root目录下,而应该使用其他目录,以避免系统被黑客攻击后可能泄漏的数据引起的损失。

        /root目录通常包括一些系统级别的配置和数据文件,例如系统配置文件、日志文件、密码文件等等。管理员可以使用/root目录来管理和维护系统的软件和配置。

        需要注意的是,“/”(根目录)和“/root”(root用户的主目录)是不同的目录。在Linux系统中,/根目录包含了所有其他目录和文件,而/root目录只包含root用户的文件和目录。因此,/root目录可以视为在根目录下的一个文件夹。

        十、其他目录

        /media目录:该目录用于自动挂载可移动设备,如U盘、CD/DVD等。当设备被插入计算机时,系统会自动将其挂载到/ media目录下的一个子目录中。

        /mnt目录:该目录用于手动挂载文件系统,例如在安装新硬盘时挂载磁盘分区。

        /proc目录:该目录是一个虚拟文件系统,它包含有关正在运行的进程的详细信息。该目录下的文件和子目录提供了进程、内存、网络、硬件等各种信息。

        /run目录:该目录在许多Linux版本中用于存储运行时信息,如PID文件(进程号)、套接字文件(socket)和其他临时文件。它旨在代替/ var/run目录,并在开机时自动挂载。

        /tmp目录:该目录用于存储临时文件,例如安装程序或解压文件等。通常,/tmp目录下的文件在系统重新启动后会被删除。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Groovy基础教程

一、概述 Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言,他结合了Python、Ruby和Smalltalk的特性,Groovy代码能够于Java代码很好的结合,也能用于扩展现有代码。由于其运行在JVM的特性,Groovy可以使用其他Java语言编写法的库。 …

电源ATE测试系统-电源模块自动化测试软件ATECLOUD-Power

ATECLOUD-Power测试应用场景 研发测试、产线测试、老化测试、一测二测等 ATECLOUD-Power解决测试痛点 ☁ 人工手动测试,效率低,需要提高测试效率和准确性; ☁ 测试产品种类繁多,测试方法多样,客户需要灵活的解决方案…

六、SpringBoot集成elasticsearch

目录 官网API介绍 1、新建maven项目 2、检查elasticsearch依赖的版本 3、配置RestHighLevelClient对象 4、使用springboot-test测试API的使用 官网API介绍 Java API Client https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html …

TypeScript基础使用方法

Author: 德玛玩前端 Date: 2023-06-07 TypeScript 一、Typescript介绍 1.1、TypeScript产生的原因 旧JS是弱类型语言,一个变量先后可以保存不同类型的数据,所以不可靠。旧JS是解释执行语言,一边解释,一边执行,一些低…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

7.SpringCloudAlibaba 整合 Sentinel

一、分布式系统遇到的问题 1 服务雪崩效应 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100%是可用的。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致调用服务瘫痪。 由于服务…

SDP协议是什么,详解SDP协议

一、SDP协议简介 SDP(Session Description Protocol)是一种会话描述协议,用于描述多媒体会话的参数。它是一种文本协议,通常用于VoIP(Voice over Internet Protocol)和视频会议等应用中。SDP协议定义了一种…

【自监督论文阅读 1】SimCLR

文章目录 一、摘要二、引言三、方法3.1 主要框架3.2 训练一个大的batchsize 四、数据增强4.1 实验一 数据增强的组合对学习好的特征表达非常重要4.2 对比学习需要更多的数据增强 五、一些实验证明5.1 大模型更有利于无监督对比学习5.2 非线性层的预测头增加了特征表示5.3可调节…

使用vtkWindow报错Debug Assertion Failed ... mfc140d.dll

环境:VS2022VTK7.1.1,还使用了MFC 报错信息 Debug Assertion Failed! Program: C:\WINDOWS SYSTEM32 mfc140d.dll File. D: a work 1 s src vctools VC7Libs ship ATLMFCnclude afxwin1.inLine: 21 For information on how your program can cause an a…

2023年智能优化算法之——能量谷优化器 Energy valley optimizer(EVO),附MATLAB代码和文献

能量谷优化器(EVO)是一种新的元启发式算法,它的算法是受到了关于稳定性和不同粒子衰变模式的先进物理原理的启发。在文献中,作者与CEC函数中最先进的算法进行了比较,并且证明该算法确实很强劲。算法原理大家请参考文献。 [1] Azizi M , Aic…

考研算法第27天:直接插入排序 【插入排序】

插入排序算法介绍 老规矩我们来模拟一遍样例: 其思想简单来说就是将旧数组的每个数放入到新数组中 但是每次放入都要遵守下面的原则:如果前面有比当前数大的数便把它放到当前数的后面去。 过程如下面这张图 https://ts1.cn.mm.bing.net/th/id/R-C.1d…

GPT-4满分通过MIT本科数学考试!这套提示词火了

量子位 | 公众号 QbitAI 万万想不到啊,MIT数学考试,被GPT-4攻破了?! 突然有人在最新论文工作中高调宣布: GPT-4在MIT的数学和EECS(电气工程和计算机科学系)本科学位考试中,表现出…

电商超卖,从业务到设计

编辑导语:超卖这一概念的定义可以从不同层面进行阐述,比如平台层面、渠道层面、仓库层面等。而假设因超卖导致订单难以履行,则容易让用户体验“打折”。为什么有时电商超卖的现象会发生?可以从哪些角度来降低超卖导致的风险&#…

Stable diffusion WebUI LoRA使用教学

在Stable Diffusion网络中,通常会下载社区中的LoRA模型,并对CLIP模型和Unet的CrossAttention的线性层进行微调。相应的被微调的层会有 lora_up 和 lora_down 两组参数,分别对应上述的 A 和 B 矩阵。参考高手的代码,只需根据LoRA保…

【Unity Shader】从入门到感慨万千(1)基本概念:什么是网格?什么是材质和Shader?

文章目录 一、什么是网格(Mesh)?二、什么是MeshFilter(网格过滤器)?三、什么是MeshRenderer(网格渲染器)?四、什么是材质(Material)?五、什么是Shader(着色器)?一、什么是网格(Mesh)? 如上图,模型的三角形面就叫做网格(Mesh),它的本质是一堆顶点数据的规则…

ShowMeBug与极狐(GitLab)战略合作,推动DevOps人才高效甄选

近日,ShowMeBug与领先的开放式一体化安全DevOps平台提供商极狐(GitLab)达成深度合作协议,双方将致力于共同打造具有行业强认可度以及高实用性的DevOps岗位题型,助力企业通过更为专业、标准的技术笔试题型,提升DevOps岗位人才筛选效…

关于智能指针的补充1(share_ptr、weak_ptr 相互配合使用)

关于智能指针的补充1 1.share_ptr存在的问题2.weak_ptr2.1介绍2.2weak_ptr 核心代码逻辑 1.share_ptr存在的问题 先看这样一段代码 #define _CRT_SECURE_NO_WARNINGS using namespace std; #include"smartptr.h" struct ListNode {GXPYY::shared_ptr<ListNode&g…

Unity核心3——2D物理系统

一、刚体 Rigid Body 2D ​ 刚体是物理系统中用于帮助我们进行模拟物理碰撞中力的效果的 ​ 2D 物理系统中的刚体和 3D 中的刚体基本是一样的&#xff0c;最大的区别是对象只会在 XY 平面中移动&#xff0c;并且只在垂直于该平面的轴上旋转 ​ 不同于 3D 刚体&#xff0c;2D…

【Vue2】PaginationSelect 带分页和搜索功能的下拉列表组件

1. 效果图 2. 组件完整代码 <template><div class"pagination-select"><el-selectv-model"selectedValue":style"{ width: width || 100% }"v-bind"attrs":remote-method"remoteMethod":loading"loadi…