Linux系统目录结构详细介绍

目录

一、根目录(/)

二、/bin

三、/boot

四、/dev

1.设备文件类型:

2.常见设备文件:

五、/etc

六、/home

七、/root

八、/run

九、/sbin

[十、 /tmp](#十、 /tmp)

十一、/usr

十二、/var


Linux系统目录结构是一种层次化的文件系统结构,它定义了Linux操作系统中各个目录的作用和存放内容的规范。下面是Linux系统目录结构的主要部分:

一、根目录(/)

  • 整个文件系统的起始点,所有其他目录和文件都是从根目录开始的。根目录包含了系统中的所有文件和目录。

二、/bin

  • 存放着系统的基本命令和可执行文件,是系统用户可以直接执行的命令的存放位置。这些命令通常是用于系统管理和日常操作的常用工具;常见的/bin目录下的命令

|------------|------------------|
| /bin/ls | 用于列出目录内容的命令 |
| /bin/cp | 用于复制文件和目录的命令 |
| /bin/mv | 用于移动或重命名文件和目录的命令 |
| /bin/rm | 用于删除文件和目录的命令 |
| /bin/cat | 用于查看文件内容的命令 |
| /bin/mkdir | 用于创建新目录的命令 |
| /bin/pwd | 用于显示当前工作目录的命令 |
| /bin/chmod | 用于修改文件和目录的权限的命令 |
| /bin/chown | 用于修改文件和目录的所有者的命令 |
| /bin/chgrp | 用于修改文件和目录的所属组的命令 |

这只是/bin目录下的一部分命令,实际上,还有许多其他常用的命令也存放在这个目录/bin目录中的命令通常不依赖于其他库文件,因此可以在系统启动时就可以使用。

三、/boot

  • 存放引导相关文件的目录。在该目录中,通常会包含以下文件

|-------------|--------------------------------------------------------------------|
| vmlinuz | Linux内核的可执行文件。它负责加载操作系统并提供系统的基本功能 |
| initrd.img | 一个初始化RAM磁盘映像文件,用于在系统引导过程中加载并运行 |
| grub | GRUB(GRand Unified Bootloader)引导程序的配置文件。它包含了引导菜单的配置信息,可以选择启动哪个操作系统 |
| config- | 内核的配置文件,包含了编译内核时使用的配置选项 |
| System.map- | 内核符号表文件,它包含了内核中所有符号的地址信息 |
| memtest86+ | 一个用于测试计算机内存的工具。可以在引导菜单中选择运行 |

除了上述文件,boot目录还可能包含其他与引导相关的文件和目录。在不同的Linux发行版中,boot目录的具体内容和结构可能会有所不同

四、/dev

  • 设备文件目录,存放了系统中所有的设备文件。在Linux中,一切设备都被视为文件,而这些设备文件就存放在/dev目录下;

1.设备文件类型:

|--------------------------------|--------------------------------------------------|
| 字符设备文件(Character Device Files) | 以字符为单位进行读写的设备文件,例如键盘、鼠标、串口等。 |
| 块设备文件(Block Device Files) | 以块为单位进行读写的设备文件,例如硬盘、U盘等 |
| 虚拟设备文件(Virtual Device Files) | 用于与内核进行交互的设备文件,例如/dev/null(空设备)、/dev/zero(全零设备)等 |
| 符号链接(Symbolic Links) | 指向其他设备文件或目录的软链接 |

2.常见设备文件:

|-----------|-----------------|
| /dev/sda | 硬盘设备(sda为第一个硬盘) |
| /dev/tty | 终端设备 |
| /dev/ram | 虚拟内存设备 |
| /dev/null | 空设备,接收数据后将其丢弃 |
| /dev/zero | 全零设备,读取时将输出全零字符 |

dev目录中的设备文件在系统启动时会被自动创建,访问这些设备文件可以与硬件交互或进行系统配置

五、/etc

  • 存放系统配置文件的目录。它包含了许多重要的配置文件,用于设置系统的各种参数和选项。以下是一些常见的/etc目录下的配置文件:

|-------------------------|------------------------------|
| /etc/passwd | 存储系统用户的基本信息,如用户名、用户ID、用户主目录等 |
| /etc/group | 存储用户组的信息,如组名、组ID、组成员等 |
| /etc/shadow | 存储用户的加密密码和密码过期信息 |
| /etc/hosts | 用于设置主机名与IP地址的映射关系 |
| /etc/hostname | 存储主机名 |
| /etc/resolv.conf | 配置系统的DNS解析器 |
| /etc/fstab | 定义了系统的文件系统挂载点和选项 |
| /etc/network/interfaces | 配置网络接口的信息 |
| /etc/apt/sources.list | 用于配置系统的软件源 |
| /etc/sudoers | 定义了哪些用户可以以超级用户身份执行命令 |

除了上述文件,/etc目录还包含了许多其他的配置文件,用于设置系统的不同方面。这些配置文件对于系统的正常运行和用户的定制化设置非常重要

六、/home

  • /home目录是用于存放用户个人文件和配置的目录。每个用户在系统中都会有一个独立的子目录,以其用户名命名,位于/home目录下。例如,如果有一个用户的用户名是"john",则该用户的个人目录路径就是/home/john

每个用户的个人目录通常包含以下一些常见的子目录和文件:

|----------------------|--------------------------|
| /home/user/Documents | 用户的文档文件夹,用于存放文档和文件 |
| /home/user/Downloads | 用户的下载文件夹,用于存放从互联网上下载的文件 |
| /home/user/Desktop | 用户的桌面文件夹,用于存放桌面上的快捷方式和文件 |
| /home/user/Pictures | 用户的图片文件夹,用于存放照片和图像文件 |
| /home/user/Music | 用户的音乐文件夹,用于存放音乐文件 |
| /home/user/Videos | 用户的视频文件夹,用于存放视频文件 |

此外,用户还可以根据需要在自己的个人目录下创建其他自定义的子目录和文件,以组织和管理自己的个人文件。用户的个人目录通常具有对应用户的权限,只有该用户和超级用户(root)才能访问和修改其中的文件

七、/root

  • /root目录是系统管理员(root用户)的个人主目录。它是Linux系统中的超级用户(root)的默认主目录,类似于普通用户的/home目录。

    /root目录通常包含以下一些常见的子目录和文件

    |-----------------|------------------------------|
    | /root/Documents | root用户的文档文件夹,用于存放文档和文件 |
    | /root/Downloads | root用户的下载文件夹,用于存放从互联网上下载的文件 |
    | /root/Desktop | root用户的桌面文件夹,用于存放桌面上的快捷方式和文件 |
    | /root/Pictures | root用户的图片文件夹,用于存放照片和图像文件 |
    | /root/Music | root用户的音乐文件夹,用于存放音乐文件 |
    | /root/Videos | root用户的视频文件夹,用于存放视频文件 |

/root目录下的文件和子目录只有root用户才能访问和修改。作为系统的超级用户,root用户具有最高的权限,可以对系统进行任何操作。因此,/root目录通常被用来存放root用户的个人文件和配置,以及一些系统级别的脚本和配置文件

八、/run

  • run目录是一个临时文件系统(tmpfs),用于存放运行时的临时文件、进程相关文件和运行时数据。它是在系统启动时由initramfs(初始RAM文件系统)挂载的。

    /run目录的用途包括但不限于以下几个方面:

    |---------|--------------------------------------------------------------------------------|
    | 进程相关的文件 | /run目录存放了一些与正在运行的进程相关的文件,如进程ID文件(pid file)和套接字文件(socket file)。这些文件用于进程间通信和进程管理 |
    | 锁文件 | run目录也可以存放一些进程锁文件,用于协调多个进程之间的操作 |
    | 临时文件 | /run目录可以用于存放临时文件,这些文件在系统重启后会被清除。临时文件可以是任何需要在系统运行时储的数据 |
    | 运行时数据 | 一些系统和服务可能会将一些运行时数据存放在/run目录中,例如运行时状态文件、运行时配置文件等 |

总之,/run目录是用于存放运行时临时文件和数据的目录,它提供了一个临时性的存储空间,用于系统和进程之间的通信和数据交互。由于是一个临时文件系统,系统重启后,/run目录中的文件将会被清空并重新创建

九、/sbin

  • /sbin目录是存放系统管理员(root用户)使用的系统管理命令的目录。与/bin目录类似,/sbin目录中的命令也是可执行的,但这些命令通常只有超级用户(root)才能执行。

    /sbin目录中的命令主要用于系统管理和维护,包括:

    |--------------|----------------------------------------------------|
    | 系统启动和关机相关的命令 | 如/sbin/reboot(重启系统)、/sbin/shutdown(关机系统)等 |
    | 硬件设备管理相关的命令 | 如/sbin/ifconfig(配置网络接口)、/sbin/fdisk(磁盘分区工具)等 |
    | 系统服务管理相关的命令 | 如/sbin/service(管理系统服务)、/sbin/chkconfig(配置系统服务启动项)等 |
    | 文件系统管理相关的命令 | 如/sbin/mkfs(创建文件系统)、/sbin/fsck(检查和修复文件系统)等 |
    | 系统日志管理相关的命令 | 如/sbin/syslogd(系统日志守护进程)等 |
    | 系统安全管理相关的命令 | 如/sbin/iptables(配置防火墙规则)等 |

总之,/sbin目录中的命令是用于系统管理和维护的工具,提供了对系统底层和关键功能的管理和控制。这些命令通常只有超级用户(root)才能执行,用于进行系统配置、故障排查、性能调优等任务

十、 /tmp

  • /tmp目录是用于存放临时文件的目录。它是一个公共的临时文件夹,供所有用户和程序共享使用。

    /tmp目录的特点是存放的文件会在系统重启时被清空,因此它适合用于存放临时数据和临时文件。一些常见的用途包括:

    |--------|-------------------------------------------|
    | 程序临时文件 | 许多程序在运行过程中需要创建临时文件,例如某些编辑器的临时保存文件、临时下载文件等 |
    | 临时缓存 | 某些应用程序可能会将一些临时数据缓存到/tmp目录中,以提高性能 |
    | 临时传输文件 | 当需要在不同用户之间传递文件时,可以将文件放在/tmp目录中,供其他用户临时访问 |

/tmp目录对于所有用户都是可读可写的,因此请注意确保敏感数据不被存放在/tmp目录中,以防止数据泄露。此外,由于/tmp目录的文件在系统重启时会被清空,因此请注意在使用之后及时删除不再需要的临时文件,以释放磁盘空间

十一、/usr

  • /usr目录是Unix Shared Resources(Unix共享资源)的缩写,它是用于存放用户可共享的应用程序、文件和数据的目录。/usr目录是一个非常重要的目录,通常包含了系统的大部分软件包和应用程序。

    /usr目录的结构如下:

    |----------------|---------------------------------|
    | /usr/bin: | 存放可执行文件,包括系统和用户安装的应用程序 |
    | /usr/sbin: | 存放系统管理员使用的系统管理命令 |
    | /usr/lib | 存放系统的共享库文件,供多个程序共享使用 |
    | /usr/include | 存放C语言库的头文件(header files),用于编译程序 |
    | /usr/share | 存放与系统无关的共享文件,如文档、数据文件、图标等 |
    | /usr/local | 存放用户自行安装的软件包和应用程序 |
    | /usr/src | 存放源代码文件,用于编译系统内核、设备驱动程序等 |
    | /usr/share/doc | 存放软件包的文档和帮助文件 |
    | /usr/share/man | 存放程序和命令的帮助手册(man pages) |

总之,/usr目录是Linux系统中用于存放用户可共享的应用程序和文件的目录,它是系统的重要组成部分。在标准的Linux发行版中,/usr目录的结构和内容是按照一定的规范进行组织的,以方便用户安装、管理和使用各种软件包和应用程序

十二、/var

  • /var目录用于存储变量数据文件,如日志文件、临时文件、系统假脱机文件等。它通常作为单独的分区挂载,以确保即使根分区已满,系统进程也可以写入它。

    /var"中的一些常见子目录包括:

    |------------|-----------------------------------------------------------------|
    | /var/log: | 该目录包含系统和应用程序生成的各种日志文件。这些日志可用于故障排除和监视活动 |
    | /var/tmp | 此目录用于在系统重新启动时保留的临时文件 |
    | /var/spool | 此目录用于存储假脱机文件,通常用于打印队列和邮件队列 |
    | /var/www | 此目录通常用作 Web 服务器文件(如 HTML、CSS 和其他 Web 内容)的默认位置 |
    | /var/lib | 此目录用于存储特定于单个应用程序或服务的持久性数据文件。例如,MySQL 或 PostgreSQL 的数据库文件可能存储在此处 |

总的来说,/var目录在管理Linux系统中的各种类型的数据文件方面起着重要的作用

相关推荐
cuisidong199718 分钟前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
凌云行者25 分钟前
使用rust写一个Web服务器——单线程版本
服务器·前端·rust
光通信学徒1 小时前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试
wusam1 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
你会发光哎u1 小时前
Webpack模式-Resolve-本地服务器
服务器·前端·webpack
南种北李1 小时前
Linux自动化构建工具Make/Makefile
linux·运维·自动化
一直在进步的派大星1 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
小飞猪Jay1 小时前
面试速通宝典——10
linux·服务器·c++·面试
哲伦贼稳妥2 小时前
一天认识一个硬件之电源
运维·其他·电脑·硬件工程
暗恋 懒羊羊2 小时前
Linux 生产者消费者模型
linux·开发语言·ubuntu