Linux树形结构-文件系统构建介绍,/etc,/var,/usr,/dev,/proc常用目录详细及作用

时间:2024-03-20 21:47:20

Linux文件系统构建介绍

对往Linux方向发展的运维工程师来说,或者对于需要用到Linux系统进行产品测试,售前,售后工程师可能对于Linux文件系统结构还比较陌生,不了解每个目录用来存放什么程序,哪些是程序文件,哪些是系统目录;相信看完这篇博客,能够揭开心中的疑惑;

1.目录结构:

1.1:树形目录
Linux系统设计最优秀的特征之一就是将所有内容都以文件的形式展现,通过一个树形结构统一管理,组织文件,如下图所示:Linux树形结构图;

(树形目录图)

从图中可以看出,整个文件系统类似于“树根”,简称”根“目录(root),整个根上面分出了许多“树杈,简称杈”,【杈:系统生成或自定义创建目录】每个“杈“下有分出了”杈“,意思就是说每个”杈“下面还可以继续分”杈“,当然,”杈“上面可以生出”叶子“【叶:可以创建目录和存放文件】
Linux树形结构-文件系统构建介绍,/etc,/var,/usr,/dev,/proc常用目录详细及作用
整个系统以文件形式全部存放在根目录,同时将所有文件进行分类,分级分层进行组织,形成一个树形目录结构,给管理文件带来许多便利;

2:目录功能

大部分Linux发行版本基本上遵循FSSTND标准【Linux文件系统目录布局,全名为 File System STaNDard】,例如Centos,Red Hat,Ubuntu,Debian,Kali等等,FSSTND标准的特点主要体现在根目录非常简洁,只包含系统最基本的文件,有利于程序的编写,移植,系统管理,维护等;

2.1:/etc目录

etc目录位于/“根”目录,主要存放与系统管理相关的配置文件和子目录,比较重要的有系统初始化文件/etc/rc,用户信息文件/etc/passwd等等,网络配置,服务启动配置文件也在/etc目录中;

2.1.1:/etc目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
passwd 用户库文件,每一个用户的用户名,UID,GID,工作目录都存放在此目录
shadown 存放用户密码文件,每个用户的密码加密后存放在此目录
group 主要存放用户组信息
fstab 系统开机启动自动挂载分区列表,需要设置开机自动挂载的分区,可以在此文件中编写加入
systemd systemd是Centos7版本之后的新增目录,用于完成整个系统的基本初始化配置
hosts 设定自己IP与主机名的对应表,类似于Windows系统中C盘windows/System32/dirvers的Host文件
resolv.conf 客户端DNS配置文件
sysconfig/network-scripts/ifcfg-eth0 sysconfig:系统配置,network-scripts:网卡配置文本存放目录,ifcfg-eth0:eth0为网卡标识,网卡名称
Xll X-Windows 配置文件
rsyslog.conf 系统日志输出配置文件,5.x版本之前对应的文件是syslog.conf,6.x版本对应文件是rsyslog.conf
crontab 系统级别守护进程配置文件
sysctl.conf 系统内核参数配置文件,7.x版本之后,内核参数配置文件移动到了/usr/lib/sysctl.d目录,不过sysctl.conf配置文件同样生效,可以覆盖/usr/lib/sysctl.d文件中的配置
services 定义系统服务与端口的对应关系
profile 系统全局环境变量配置文件

2.2:/usr目录

/usr目录用于存放应用程序,文件。例如我们在系统安装时选择了许多软件包,这些软件包默认的安装目录是在/usr目录,通常/usr目录比较大,按照一些软件默认也会安装在/usr目录,类似于我们在Windows在装应用,默认在C:\Program Files;

2.2.1:/usr目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
lib64 与 local /lib64 64位操作系统中的函数库目录
src 包含所有程序的源代码,主要以Linux核心程序源代码为主
local 存放本地安装的软件和其他文件,与系统没有关联
bin 与 local /bin 可执行二进制文件目录
lib 与 local /lib 32位操作系统使用的函数库目录
sbin 与 local /sbin 存放系统管理员与超级用户所执行的命令,普通用户及应用用户没有权限执行
include C语言的头文件,文件拓展名基本上.h
share 存放共享文件或目录,以及数据库,类似于Windows 网络共享

2.3:/var目录

/var用于存放系统运行,软件运行的日志信息

2.3.1:/var目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
log 存放各种应用程序的日志文件,(经常变动,需要定期清理)
lib 存放系统正常运行时需要改变的库文件
spool maill,new,打印机队列和其他队列输入,输出缓冲命令
tmp 存放比/tmp更大的危机
lock 存放被锁定的文件,大部分文件会在/var/lock产生锁文件,确保其他程序不会同时使用这个设备 或文件,类似占用
local 存放目录中所安装程序的可变数据
account 存放已经格式化的man页【man页:在线帮助,man page】
run 下次启动系统前的系统信息

2.4:/dev目录

/dev目录包含系统所有的设备文件信息

2.4.1:/dev目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
fd* 软盘设备,fd0为第一个软盘设备,fd1代表第二个软盘设备
audio* 声卡设备
hd* IDE硬盘设备,hda为第一块ide硬盘,hdb代表第二块ide硬盘,通过此方法类推
sd* SCSI设备,sda为第一块scsi硬盘,sdb代表第二块scsi硬盘,以此类推
lp* 并行接口
pty* 网络中登陆的远程终端设备
ram* 系统内存
ttyS* 串行接口,ttys0代表串行端口1,ttys1代表串行端口2,类似Windows系统中的COM1,COM2接口
Console 系统控制台,也可以理解为桌面控制台,可直接连接到显示器
null 输出空设备
tty* 虚拟控制台,tty1代表第一个虚拟控制台,tty2为第二个虚拟控制台,Linux一共有6个虚拟控制台,

2.5:/proc目录

/proc是一个虚拟目录,目录中的所有信息,包括目录都是通过内存映射,通过虚拟的内存映射目录可以和内核内部数据结构进行交互,获取关于进程的信息,同时可以在系统运行时修改内核参数,/proc与其他的目录不一样,它在内存中,而不是在硬盘

2.5.1:/proc目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
cpuinfo CPU详细信息,CPU名称,型号,类型
meminfo 内存信息,物理内存与虚拟内存
filesystems 系统支持的文件和文件系统类型
device 内核中设备驱动程序列表
net 网络协议和状态信息
dma 当前使用的dma通道【直接存储器存取,全名为Direct Memory Access】
ioports 当前使用的 I/O 端口
modules 当前系统加载的内核模块信息
stat 系统的各种状态信息
uptime 系统总启动时间和空闲时间,基本上以秒为单位
version 内核版本信息
loadavg 系统平均负载
kcore 系统内存映像,与物理内存大小一致,实际不会占用这么大的空间
kmsg 内核输出信息,被输出到rsyslog

2.6:其他目录

  1. /boot目录:存放Linux启动时核心文件,例如:镜像文件,链接文件;较重要,遭到破坏或者黑客攻击将无法启动系统;
  2. /bin与sbin目录:两个目录存放的都是可执行的二进制文件,bin是binary缩写,基本上就是用来存放我们经常使用的linux命令,例如文件操作需要经常使用的ls(查看),cd(切换目录),cp(复制)命令,文本编辑需要使用的vi(vi,vim编辑器),ed(不常用,类似于vi,也是文件编辑器),磁盘操作需要使用的dd(指定大小块拷贝一个文件),df(查看文件系统磁盘空间占用情况),mount(挂载)等等;
  3. /sbin目录:s是super User的缩写,只有超级用户才能执行的命令目录,如检查磁盘修复命令fcsk,磁盘分区fdisk,创建目录mkfs,关机命令shutdown,poweroff,初始化命令init等等;
  4. /home目录:系统中每个用户的工作目录,一般由用户的账号名称命名,比如说用户是Acronis,那么他的默认目录就是/home/Acronis
  5. /lib目录:存放共享程序库和映像文件,通过共享映射,每个程序就不需要分别保存自己的库文件而占用磁盘空间,大部分Linux系统都会提供让所有程序使用的文件,包含引导进程需要的静态库文件等等;
  6. /root目录:超级用户root默认主目录,通过root账号登陆到系统,默认进入到/root目录,普通用户,应用用户无权限进入;
  7. /run目录:外在设备自动挂载目录,一般出现在Centos7.x版本,用于自动挂载外界硬盘,U盘,光盘等等
  8. /mnt目录:用于手动挂载外接的U盘,移动硬盘等设备;
  9. /lost+found目录:用于保存丢失的文件,比如说意外关机磁盘读写错误导致的文件丢失,默认临时存放在这里,当系统重启后,引导程序运行fsck进行修复,除了”/“根,每个分区都会多出一个lost+found;
  10. /tmp目录:临时目录,用于存放临时文件,随时会被删除,也可以随时清理,没有占用机制;