兴安雪学运维之:目录树详解

article/2025/7/30 14:20:58

        极北之地,兴安之雪,老骥伏枥转战Linux运维,最近根据授课和大略看了FHS3.0,对Linux的目录有了初步的了解,怕人老忘性差,作以记录。

        一、目录结构图

        Linux的目录是一个倒置的树状结构,最顶层的目录为“/”目录,以此衍生各种子目录,而FHS3.0有对“/usr/”和“/var/”两个次级子目录进行了规范,大略结果如下图,由于篇幅有限,我把树状结构稍微进行了改变,表达的不是特别清晰,但具体的逻辑结构应该没问题。

        二、/:及相关目录介绍

        1、/:根目录:Root directory,它的作用,只要是比我强的,都知道他的作用,嗯,好像,没有比我弱的,在强调一边,CentOS系统中最重要的一个目录,也是最底层、最基础、最脆弱的一个目录,什么目录都可以损害,boot重要吧,损坏了,可以引导修复,etc重要吧,坏了可以重新配置,但如果/目录损坏了,你也别抱有幻想了,除了哪些顶级大神,能不同程度恢复一些数据,像我这种初学者,就只能用绝招,重装系统了。

        所有,/目录要最大程度上减少与其他的交互,尤其是人机交互,FHS建议根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好,根目录所在的文件也就不容易发生问题。但/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中,即使不放在同一个分区,应该该放符号链接。

        根据FHS定义根目录最好包含下面这些子目录:

        2、/bin----->/usr/bin :存放了系统关键的可执行的二进制文件,可以被所有人使用,这里存放的文件,也是一般用户的基本命令,例如cat、ls、chmod、chown,date,mv,touch,mkdir,cp,bash等,此目录作为系统变量环境的基本参数,使用echo $PATH,可以查询。目前在CentOS中,/bin目录是/usr/bin的符号链接。

        3 、/boot:主要放置系统启动所需要的文件,包括LInux内核文件以及自动选项与启动所需要的配置文件等;Linux内核常用文件名为:vmlinuz,如果使用grub2引导程序,则还会存在/boot/grup2这个目录。这个目录建议单独分区,一旦这个目录初选问题,系统将无法启动。

        如果说根分区似家里的正门,无论加入家里哪个房间,都需要从正门进入,那么boot分区就相当于正门的锁,每次回家之前,都需要开锁才能进入。 

        4、/dev:这里存放的主要是设备文件,Linux之中,一切皆文件,不论是物理设备,虚拟设备,程序借口等等,都是文件,通过访问这个目录中的文件,就相当于访问了设备。重要的设备文件有/dev/tty*,/dev/sda*,/dev/sr0,/dev/cdrom,,/dev/input,/dev/null,/dev/zero等等。

         这个目录非常重要,不论是鼠标、键盘、U盘、硬盘,光盘、打印机等外部设备,只要想接入Linux系统,必然会在这里有一个系统文件。这里的/dev/null文件,很有意思,对于像我这种初学者来说可以多练习一下。

        5、/etc/:系统主要的静态配置文件都放在这个目录中,例如账号、密码、组、登录方式、挂载方式、各种服务的启动文件,一般来说,这里的文件绝大部分可以给普通用户浏览,但只有root用户才能修改。

        这个目录中的配置文件,一般用cat可以查看,比较重要的文件:/etc/opt/:主要放第三方软件的相关配置信息。

        6、/lib(lib64):系统被调用的库函数,不能单独使用,只能被系统、命令或者程序脚本调用,64位系统。比较重要的/lib/modules/文件目录,主要存放与内核相关驱动模块。 

        7、/media:挂载点,现在基本不用。

        8、/mnt:比较常用的挂载点,一般建议将外接设备挂载到这个文件夹。

        9、/opt:第三方辅助软件放置的目录,根据个人习惯,有人习惯放在这里,有人习惯放在/usr/local目录下。

        10、/run:系统启动后产生的各项信息放置到这个目录,提升内存效能。

        11、/sbin---->/usr/bin:只能root用户才能使用的命令,主要用于设置系统环境,其他用户只能用来查询,包括了启动、修复、还原系统所需的命令。目前该目录作为/usr/sbin的符号链接。

        12、/srv:service的缩写,一些网络服务启动后,产生的数据和所需要的配置,都放在这个目录中,比较著名的有WWW,FTP等。

        13、/tmp:临时文件目录,这个目录是初学者经常使用的目录,所用用户都可以存取,建议不要把重要的目录文件放到这里,这个目录可以作为我们经常练习各种操作的地方,也可以作为公共交流区,不管别人,我是很喜欢这个目录,可以不负责任的删改。

        14、/home:家目录,每个用户登录系统后,第一时间所在的目录,也是对于用户来说比较隐私的目录,此目录可以配置个人登录shell的设置。

        15、/root:root的家目录,此目录可以进行单人维护模式,仅仅挂载根目录,所以此目录应该和根目录放置在同一个分区。

        16、/proc:虚拟文件目录,主要是存放系统在运行过程中内存中的文件信息,因为这个目录在内存中,所以不占用硬盘空间。比较重要的目录有/proc/cpuinfo、/proc/dma、/proc/interrupts、/proc/ioports、/proc/net*/等。

        17、/sys:与proc目录相似,主要记载内核与硬件信息相关的内容。

三、/usr:Unix Software Resource

        FHS中将/usr目录作为一个次级目录组来设置。/usr里面放置的资料属于可分享的与不可变动的(shareable, static),是系统软件所放置的目录,而不是使用者的资料啦!这点要注意。FHS建议所有软件开发者,应该将他们的资料合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。其具体目录配置如下:

目  录   放置内容
/usr/bin作用同/bin
/usr/sbin作用同/sbin
/usr/local第三方软件安置点,强烈建议安装到此处,当然,你也可以另起炉灶,但总会不方便
/usr/lib同/lib
/usr/share只读数据文件,主要有共享文件,例如:man手册,软件帮助文件等等
/usr/includec/c++程序语言的头文件。
/usr/src源代码安置点。

        四、/var:variable

        此目录放置的系统运行后,数据产生变化占用硬盘的目文件,因为/var目录主要针对常态性变动的文件,包括快取(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序数据(lock file, run file),或者例如MySQL资料库的文件等等,常见的子目录有

目录放置内容
/var/cache程序运行中占用缓存的文件
/var/lock程序运行中需要被锁定的数据流所在目录
/var/log日志文件放置的目录,极其重要。
/var/mail个人邮件目录
/var/run某些程序启动后,会将他们的PID放置到这里
/var/spool程序运行中,队列数据放置点
/var/lib程序运行中调用函数所占的文件或者目录

 

 


http://chatgpt.dhexx.cn/article/VTJeGm7w.shtml

相关文章

【数据结构】B/B-树(目录树)

引言 关于B树的性质 一、B树的结构 二、B树的实现 #include<iostream> using namespace std; #if 1 //5分支Btree #define M 5 //奇数 #define MAXSIZE (M-1) //最多元素个数 #define MINSIZE (M/2) //最少元素个数 //B树 class Btree { public://关键码类型using KeyTy…

【Mybatis】Mybatis将String类型的0存到数据库中的number类型字段中,变成了空;

一、问题 Mybatis将String类型的0存到数据库中的number类型字段中&#xff0c;变成了空&#xff1b; 二、分析 自己写了一个自动写代码的脚本&#xff0c;带入springBatch后&#xff0c;读取文件时&#xff0c;少了序列号0-9的记录&#xff08;10笔一提交&#xff09;&#…

java取数据库number转String

2019独角兽企业重金招聘Python工程师标准>>> BigDecimal bigDecimal(BigDecimal)value; Long lbigDecimal.longValue(); String sbigDecimal.toString(); 转载于:https://my.oschina.net/u/2285090/blog/514110

字符串存入数据库date类型字段

有时候为了计算方便等原因需要将时间以date格式存入数据库&#xff0c;但是前台传过来的数据类型都是字符串&#xff0c;如果将字符串直接插入date类型的字段中会抛&#xff1a;ORA-01861: 文字与格式字符串不匹配。 前台页面有一个表单&#xff0c;如下所示&#xff1a; <…

2018年SCI论文--整合GEO数据挖掘完整复现 八 :STRING数据库构建蛋白质相互作用网络(PPI),cytoscape软件筛选hub基因

文章目录 论文地址STRING数据库PPI网络构建输入差异基因listPPI图保存结果 cytoscape软件筛选hub基因、功能模块输入“string_interactions”文件用cytohHubba插件&#xff0c;筛选top10 Hub基因生存分析用MCODE插件&#xff0c;筛选功能模块 论文地址 STRING数据库 PPI网络构…

string数据库使用和实践第三部分数据处理 流程-参数--后续分析

流程 1.首先要获取蛋白质列表&#xff08;单个/多个&#xff09; 格式&#xff1a;蛋白名称为一个占一行&#xff0c;或者氨基酸序列的通用格式。ID类别&#xff1a;可以为一种&#xff0c;可以为多种混合 2.在对应的数据框中输入蛋白质列表或者上传列表文件后&#xff0c;选择…

spring boot String类型json 存入数据库

效果图&#xff1a; 如图&#xff0c;string类型的json字符串&#xff0c;存入数据库&#xff0c;主要就是解析成map&#xff0c;遍历插入&#xff0c;不多说上干货&#xff1a; PostMapping(value "/currentConfig")public String saveSvConfig(RequestParam(&quo…

jpa @Convert list转String存入数据库

1.问题 list通过jpa直接存入数据库会报错这里需要进行转换 2.代码 1.dto对象 Entity Data Accessors(chain true) public class GameMatch {/*** 主键*/IdGeneratedValue(strategy GenerationType.IDENTITY)private Integer id;/*** 游戏id*/private Integer gameId;/*** …

string数据库使用和实践的第二部分网页展示http://string-db.org/

主页 protein-mode 该模式中&#xff0c;string数据库能够预测到特定物种中的某一个蛋白质的相互作用关系 通过该模式可以获取最多的特异性&#xff0c;但是覆盖面就会较小一些&#xff0c;原因是该模式中&#xff0c;string不会准确的去获取其他物种的直系同源物&#xff0c;取…

蛋白相互作用数据库,STRING使用指南

对于基因组数据分析而言的话&#xff0c;我们能用到网络分析的就是蛋白相互作用分析(protein-protein ineraction, PPI)分析了。 蛋白相互作用分析的数据库有很多&#xff0c;至于为什么选择STRING&#xff0c;还是在于其强大的可视化&#xff0c;以及自定义功能。这样我们可以…

五大常见的数据类型之 String

前言 我们都知道 Redis 提供了丰富的数据类型&#xff0c;常见的有五种&#xff1a;String&#xff08;字符串&#xff09;&#xff0c;Hash&#xff08;哈希&#xff09;&#xff0c;List&#xff08;列表&#xff09;&#xff0c;Set&#xff08;集合&#xff09;、Zset&…

数据库String字符串

char(n) varchar(n) tinyint tinytext text mediumtext longtextchar(0-255)varchar(0-21844) // 63533定长字符串 char()变长字符串 varchar(n) tinytext text mediumtext longtext(4GBtext)-- char varchar tinytext text mediumtext longtext -- 23767-1 21845-1 16383-1…

STRING:蛋白质相互作用(PPI网络)数据库简介

欢迎关注微信公众号《生信修炼手册》! 研究蛋白之间的相互作用网络&#xff0c;有助于挖掘核心的调控基因&#xff0c;目前已经有很多的蛋白质相互作用的数据库&#xff0c;而string绝对是其中覆盖的物种最多&#xff0c;相互作用信息做大的一个&#xff0c;网址如下 https://…

string数据库使用和实践第一部分string数据库介绍

背景 为什么要寻找蛋白质互做关系&#xff1f; 因为只有正确地发现和注释细胞中的所有功能性的相互作用关系&#xff0c;才能对细胞的功能进行系统层面的学习和理解。 大家在收集和展现蛋白质相互作用的信息上&#xff0c;一直在努力地跟上相互作用关系探索的步伐 近年来&#…

解决虚拟机桥接模式无法上网的问题

1.检查IP地址以及网关等信息是否正确 vim /etc/network/interfaces这里设置的是静态ip, auto lo iface lo inet loopback auto eth0 iface eth0 inet stastic address 192.168.43.40 # 设置IP netmask 255.255.255.0 # 设置子网掩码 gateway 192.168.43.19 # 设置网关 首先…

VM虚拟机桥接模式无法联网解决办法

1.桥接模式的意义&#xff1a; 桥接模式----使虚拟机客户机可以和主机在同一网段&#xff0c;这样&#xff0c;和主机同局域网内的其他主机就也可以ping到虚拟机了 2.问题描述&#xff1a; 1.主机和虚拟机客户机相互之间ping不通 2.将虚拟机改为网络模式为NAT模式自动获取I…

虚拟机配置桥接模式(bridge)

使用的Vmware虚拟机软件 需要使用bridge&#xff0c;桥接模式 首先&#xff0c;需要给主机电脑设置IP&#xff0c; 看主机使用的是有线还是无线&#xff0c;使用哪个就设置那个&#xff0c;可以先通过ipconfig/all来查看ip&#xff0c;然后根据实际信息配置网络适配器 手动配置…

虚拟机桥接模式下的网络设置

虚拟机共有三种网络模式&#xff0c;每种网络模式具体的原理参考&#xff1a; Vmware虚拟机三种网络模式详解 - 星朝 - 博客园原文来自http://note.youdao.com/share/web/file.html?id236896997b6ffbaa8e0d92eacd13abbf&typenote 我怕链https://www.cnblogs.com/jpfss/p/…

Virtualbox虚拟机桥接模式配置

VirtualBox提供了多种网络连接方式&#xff0c;不同的网络连接方式决定了虚拟机是否可以联网&#xff0c;以及是否可以和宿主机互相ping通 亲测之后总结一些在配置NAT模式和仅主机模式所踩的坑&#xff0c;最后选择了桥接模式 NAT模式&#xff1a;宿主机ping不通虚拟机&#…

VM虚拟机桥接模式设置固定IP

目录 一、VM虚拟机续订 二、Linux配置静态IP 一、VM虚拟机续订 选中虚拟机——>设置——>网络适配器 官方说明&#xff1a; 如果在笔记本电脑或其他移动设备上使用虚拟机&#xff0c;请选择复制物理网络连接状态。 当您在有线或无线网络之间进行移动时&#xff0c;该…