1、Linux 文件文件目录
Linux 的目录结构是由很多文件块区组成,与 Windows 分区不同。
Linux 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面!
1.1、根目录(/
)
- 根目录是整个文件系统的起点,在 Linux下有且只有一个根目录。
- 它包含了系统运行所需的所有文件和目录。
- 所有其他目录都是从根目录派生出来的。
当你在终端里输入“/home”,你其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录。
1.2、常见子目录及其功能
目录 | 功能 | 特点 |
---|---|---|
/bin: /usr/bin | 可执行二进制文件的目录。存放系统用户级别的基本命令,这些命令是系统启动和运行所必需的,例如常用的 ls (列出目录内容)、cp (复制文件)、mv (移动或重命名文件)等。 | 这些命令在系统启动的早期阶段就可以使用,即使文件系统的其他部分尚未挂载。 |
/sbin: /usr/sbin: /usr/local/sbin | 存放系统管理员使用的基本命令,通常只有具有root权限的用户才能执行,一般用户只能"查看"而不能设置和使用。例如shutdown (关闭系统)、reboot (重启系统)、fdisk (磁盘分区工具)等。 | 这些命令主要用于系统管理和维护。 |
/home | 系统默认的用户家目录,用户主目录的根目录,每个用户都有自己的主目录,位于/home 下,以用户名命名。例如,用户john 的主目录是/home/john 。 | 用户可以在自己的主目录中自由创建、修改和删除文件和目录,通常用于存放用户的个人数据和配置文件。 |
/boot | 放置linux系统启动时用到的一些文件,如Linux的内核文件:(vmlinuz ),初始RAM磁盘(initrd.img )和系统引导管理器:(/boot/grub )。 | 这些文件对于系统的启动至关重要,修改或删除这些文件可能会导致系统无法启动。 |
/dev | 设备文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。在Linux中,设备被视为文件,可以通过对这些文件的读写操作来控制设备。例如,/dev/sda 表示第一个 SCSI 或 SATA硬盘,/dev/tty 表示终端设备。 | 这些文件实际上并不占用磁盘空间,它们只是系统与硬件设备之间的接口。 |
/etc | 存放系统和应用程序的配置文件。例如,/etc/passwd 包含用户账户信息,/etc/group 包含用户组信息,/etc/fstab 包含文件系统挂载信息等。 | 修改这些配置文件可以改变系统和应用程序的行为,但需要谨慎操作,以免导致系统不稳定。 |
/lib: /usr/lib: /usr/local/lib | 存放系统和应用程序运行所需的共享库文件。程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。例如,libc.so 是C标准库,许多程序都依赖于它。 | 共享库是一些可以被多个程序同时使用的代码库,这样可以减少内存的占用。 |
/media | 用于挂载可移动媒体设备,如USB闪存驱动器、光盘等。当插入可移动设备时,系统会自动将其挂载到/media 下的一个子目录中。 | 方便用户访问可移动设备中的数据 |
/mnt | 临时挂载点,通常用于手动挂载文件系统。例如,当需要挂载一个额外的硬盘分区或网络共享时,可以将其挂载到/mnt 下的一个目录中。 | 用户可以根据需要创建和使用/mnt 下的子目录。 |
/opt | 用于安装可选的软件包。一些第三方软件可能会将其文件安装到/opt 目录下,以避免与系统自带的软件冲突。 | 通常由用户或管理员手动安装和管理。 |
/root | 系统管理员(root)的家目录。之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。 | 与普通用户的主目录/home 不同,root用户的主目录位于/root 。 |
/proc | 虚拟文件系统,包含了系统和进程的运行时信息。这些信息并不是实际存储在磁盘上的文件,而是由内核动态生成的。此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有,/proc/cpuinfo 包含CPU的信息,/proc/meminfo 包含内存的信息。 | 可以通过读取这些文件来获取系统的实时状态信息。 |
/srv | 服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内、FTP服务器的文件等。 | 这些数据通常与系统提供的服务相关。 |
/tmp | 临时文件目录,用于存放系统和应用程序在运行过程中产生的临时文件。这些文件通常在系统重启时会被自动删除。 | 所有用户都可以在/tmp 目录中创建和删除文件。 |
/run | 在系统运行期间存放临时文件和信息,如进程ID文件、锁文件等。这些文件在系统启动时创建,在系统关闭时删除。 | 用于存储系统运行时的临时数据。 |
/sys | 虚拟文件系统,提供了对内核对象和设备驱动的访问接口。通过读取和修改/sys 下的文件,可以控制和配置内核和设备。 | 主要用于内核开发和系统调试。 |
/usr | 存放用户级别的应用程序和文件,是Ubuntu系统中最大的目录之一。它包含了许多子目录,如/usr/bin (用户级别的命令)、/usr/sbin (用户级别的系统管理命令)、/usr/lib (用户级别的共享库)、/usr/share (共享数据)等。 | 这些文件通常是只读的,由系统安装和管理。 |
/var | 存放经常变化的数据,如日志文件、邮件队列、缓存文件等。例如,/var/log 目录包含了系统和应用程序的日志文件,/var/mail 目录包含了用户的邮件。 | 这些文件的大小和内容会随着系统的运行而不断变化。 |
了解Ubuntu的磁盘目录结构对于系统管理和使用非常重要。通过熟悉各个目录的功能和用途,用户可以更好地组织和管理自己的数据,同时也能够更方便地进行系统维护和故障排除。在操作文件和目录时,一定要谨慎,特别是对于系统关键目录和配置文件,以免造成系统损坏。
每日一更!
公众号、优快云等博客:小菜狗编程笔记
谢谢点赞关注哈!目前在飞书持续优化更新~
日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!