搜索
首页运维Nginx破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?

  • 想象一下,你盯着 Linux 中一大堆晦涩难懂的目录名。你想知道应该把特定类型的文件放在哪里。于是把文件随意放进了 /usr/share,希望这样做是正确的。
  • 几天后,你发现应该把它放在 /var/local。

破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?

  • 我们都有过类似的经历。Linux 的目录结构可能非常令人困惑,甚至有时毫无道理可言。这些名称究竟代表什么?哪里才是放置文件的“正确”位置?
  • 准备好解密 Linux 目录,因为我们将踏上一段穿越时光的旅程,让你的未来更加无压力。在本文中,我们将揭示这些名称的含义,以及常见类型文件的存放位置。
  • /bin

破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?

  • 这是系统所需的可执行二进制文件的主要存储位置(因此被称为“bin”)。这些基本二进制文件在启动过程中由系统需要,以确保成功完成。在这里,你会找到像 ls 和 top 这样的基本命令。
  • 在启动过程中,如果 /usr/bin 不可用,/bin 有时会作为一个符号链接提供在顶层。
  • /boot
  • 这个目录包含了实际启动操作系统所需的所有关键文件。其中包括内核文件、引导加载程序文件(例如 GRUB)以及适用于现代 UEFI 系统的 EFI 文件。
  • 对于 Linux 系统来说,这个目录是最重要的目录之一,因为如果这里出了问题,你的系统可能无法启动,甚至不知道从何启动。
  • /dev
  • /dev是“device”的缩写,它是 Linux 用来存储对系统上大多数已连接设备(包括物理设备和虚拟设备)的引用的地方。在这里,你可以找到对硬盘、USB 外设、虚拟终端甚至空设备的引用,你可以将东西导向这个设备,以便让它们消失。
  • 如果你从命令行访问任何类型的设备,即使它不是物理硬件,很可能它就存在于这里。
  • /etc
  • 很有可能你以前曾在 /etc 目录中研究过。这是 Linux 保存所有核心配置文件的地方,不仅包括自己的程序,还包括你安装的第三方程序的配置文件。
  • 如果你需要修改程序的运行方式、核心网络设置或者 crontab,它们都存在于这个目录中。

破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?

  • /home
  • 这是一个更具描述性的顶层目录之一。这正是用户的主目录所在的位置。可以将其视为每个用户在操作系统中拥有的独立空间。通常情况下,他们拥有自己对应主目录中的所有文件和子目录。
  • 如果在共享机器上查看此目录,你可能会发现许多以各个特定用户命名的子目录。在大多数系统上登录后,你可以使用路径中的 ~ 字符来引用自己的主目录。这对应的路径是 /home/
  • 这是存放仅与你相关的个人文件的最佳位置。图片、音乐文件、电子表格或者下一部伟大的小说,都应该存放在这里。你不应该在这里存储共享的程序配置或系统级数据。
  • /lib, /lib32, /lib64, …
  • 这些目录包含了共享的 C 库和内核模块。这些模块和库是之前我们提到的 /bin 目录中的可执行二进制文件所需的基础。换句话说,为了实际启动操作系统并使用任何默认的二进制文件,我们需要这些目录中的库文件。
  • 注意:如果存在多个不同架构的库文件,你会看到其他的 lib 目录存在。
  • /lost found
  • 这个目录很简单。在这里,你会找到一些文件被损坏,但已经尝试过恢复它们。这通常是由于意外断电或有时是硬件故障导致的。
  • /media
  • 这也非常直观。这是一个挂载点,用于挂载可移动介质。在历史上,它用于 CD、软盘甚至 Zip 磁盘驱动器。现在,如果你挂载任何虚拟 ISO 或 CD 镜像,它们可以出现在这里,以及 USB 闪存驱动器和其他可移动闪存介质。
  • /mnt 这是一个更通用的挂载点,你可以在这里挂载可移动介质或整个文件系统。现在,这通常用于存放外部磁盘、NFS 和其他远程文件存储。
  • 这个目录是空的,你可以自行决定在这里挂载什么和如何挂载。
  • /opt
  • 这是“option”的缩写,最初用于存放任何附加软件包。这些软件包在系统最初发行时并不包含在内,并且需要额外的费用。
  • 如今,这是少数几个可以安装附加软件包的位置之一(无论是否需要额外费用)。在某些情况下,发行版可能根本不使用 /opt,但这是你会找到第三方软件包数据和它们的静态配置文件的一个位置。
  • /proc
  • 这是一个独特的 Linux 目录。你不会在这里存储任何东西,实际上操作系统也不会在这里存储任何东西。这是 Linux 内核的信息中心。这个目录中的所有“文件”并不是普通文件。它们包含有关进程、内存和其他子系统的度量数据。这些特殊文件就像是窥视内核工作情况的窗口。
  • 通过简单地读取这个目录中的文件,你可以获取一些其他二进制文件获得的相同数据。
  • /root
  • 这是另一个简单、直观的目录。这是 root 用户的家目录。如果你以 root 用户身份登录到系统上,你会发现你的家目录现在在 /root 而不是预期的 /home/root。这是为了安全考虑,以防万一 /home 被挂载在一个无法访问或更糟糕的破损的远程分区上。
  • /run
  • 这个目录处理更多的启动和运行时信息。通常你会在这个位置找到进程 ID 或 PID 文件。这些文件描述了进程运行的位置,以便其他程序可以在稍后找到它并控制或引用它。
  • 此外,还可以在这里放置其他临时文件,如锁文件和套接字信息。这个目录旨在保存运行时信息,而不是持久化数据。
  • /sbin
  • 和 /bin 类似,/sbin 目录也包含了系统所需的可执行二进制文件。不同的是,这个目录中的二进制文件具有特殊的用途。它们都专门用于在系统上执行管理员功能。这意味着它们具有强大的能力,可以对操作系统进行重大修改或维护,因此它们通常存在于这里。
  • 你不会在这里找到像 echo 或 cat 这样的二进制文件。这个目录保留给像 fdisk 或 usermod 这样的工具。
  • /srv
  • 这是另一个非常通用的目录。这个目录用于存放系统负责“提供”的文件。例如,如果该主机是一个 Web 服务器,你可能会将所有的 HTML 和图像资源放在这里。
  • /sys
  • 根据你所使用的发行版及其版本的不同,你的系统上可能会有或没有 /sys 目录。这个目录与 /proc 目录类似,它包含设备和内核信息,但以更结构化的格式呈现。
  • /tmp
  • 又一个简单的目录。这是一个用于临时文件的目录。你可以在这里存储几乎任何你(或程序)喜欢的东西,但不能指望它会一直存在。尤其是在重启之间。
  • 如果你需要暂存一些不重要的数据或检查某个文件的输出格式,将其放在这里是一个选择。额外的好处是,如果你忘记了它,它可能会自动消失。
  • /usr
  • 这个目录可能需要写一篇专门的文章来介绍。根据 Linux 基金会的 FHS 规范,它被描述为:
  • “共享的、只读的数据。”
  • 这实质上意味着它应该能够在主机之间轻松传输,并且具有相同的未经修改的结构和层次结构。通常情况下,该目录中不包含任何独特的主机数据。其背后的理念是,/usr 的整体可以以只读模式挂载到另一个系统上而不会出现问题。
  • 然而,在实践中,这个目录确实被用来存储任意的信息。在某些情况下,你会发现文件存放在 /usr/share 或 /usr/local 中。你还会发现程序编译或自定义脚本被放置在 /usr/local/bin 中。
  • 一般来说,建议将不属于前面任何类别的配置或特殊数据存储在我们下一个、也是最后一个目录中。
  • /var
  • 这是“variable”的缩写,而这里正是保存变量数据的地方。
  • 以下是一些传统上保存在这里的内容:
Printer spools
  • Lock files
  • Debian apt and other running program caches
  • E-mail data
  • Logs

主要的目的是将系统在运行时所使用和修改的任何动态数据保存在/var目录中。如果你需要记录日志或保存动态的 .conf 文件,那么你来到了正确的地方。

此外,还有 /var/local 目录,在我的经验中,它经常成为杂项配置文件和其他不太适合其他类别的数据的综合存储目录。

总结

Linux文件系统的层次结构非常复杂且有着丰富的演变历史。一旦你熟悉了这些简短标题背后的含义,它们开始变得非常直观。花时间在每个目录中探索并研究标准本身将使你不仅对放置文件的位置更加熟悉,也对Linux在基本层面上的工作方式更加了解。

以上是破解 Linux 文件安放之谜:哪里才是绝佳文件归宿?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
NGINX单元:架构及其工作原理NGINX单元:架构及其工作原理Apr 23, 2025 am 12:18 AM

NGINXUnit通过其模块化架构和动态重配置功能提高了应用的性能和可管理性。1)模块化设计包括主控进程、路由器和应用进程,支持高效管理和扩展。2)动态重配置允许在运行时无缝更新配置,适用于CI/CD环境。3)多语言支持通过动态加载语言运行时实现,提升了开发灵活性。4)高性能通过事件驱动模型和异步I/O实现,即使在高并发下也保持高效。5)安全性通过隔离应用进程提高,减少应用间相互影响。

使用NGINX单元:部署和管理应用程序使用NGINX单元:部署和管理应用程序Apr 22, 2025 am 12:06 AM

NGINXUnit可用于部署和管理多种语言的应用。1)安装NGINXUnit。2)配置它以运行不同类型的应用,如Python和PHP。3)利用其动态配置功能进行应用管理。通过这些步骤,你可以高效地部署和管理应用,提升项目效率。

NGINX与Apache:Web服务器的比较分析NGINX与Apache:Web服务器的比较分析Apr 21, 2025 am 12:08 AM

NGINX更适合处理高并发连接,而Apache更适合需要复杂配置和模块扩展的场景。 1.NGINX以高性能和低资源消耗着称,适合高并发。 2.Apache以稳定性和丰富的模块扩展闻名,适合复杂配置需求。

NGINX单元的优势:灵活性和性能NGINX单元的优势:灵活性和性能Apr 20, 2025 am 12:07 AM

NGINXUnit通过其动态配置和高性能架构提升应用的灵活性和性能。1.动态配置允许在不重启服务器的情况下调整应用配置。2.高性能体现在事件驱动和非阻塞架构以及多进程模型上,能够高效处理并发连接和利用多核CPU。

NGINX与Apache:性能,可伸缩性和效率NGINX与Apache:性能,可伸缩性和效率Apr 19, 2025 am 12:05 AM

NGINX和Apache都是强大的Web服务器,各自在性能、可扩展性和效率上有独特的优势和不足。1)NGINX在处理静态内容和反向代理时表现出色,适合高并发场景。2)Apache在处理动态内容时表现更好,适合需要丰富模块支持的项目。选择服务器应根据项目需求和场景来决定。

终极摊牌:nginx vs. apache终极摊牌:nginx vs. apacheApr 18, 2025 am 12:02 AM

NGINX适合处理高并发请求,Apache适合需要复杂配置和功能扩展的场景。1.NGINX采用事件驱动、非阻塞架构,适用于高并发环境。2.Apache采用进程或线程模型,提供丰富的模块生态系统,适合复杂配置需求。

nginx行动:示例和现实应用程序nginx行动:示例和现实应用程序Apr 17, 2025 am 12:18 AM

NGINX可用于提升网站性能、安全性和可扩展性。1)作为反向代理和负载均衡器,NGINX可优化后端服务和分担流量。2)通过事件驱动和异步架构,NGINX高效处理高并发连接。3)配置文件允许灵活定义规则,如静态文件服务和负载均衡。4)优化建议包括启用Gzip压缩、使用缓存和调整worker进程。

NGINX单元:支持不同的编程语言NGINX单元:支持不同的编程语言Apr 16, 2025 am 12:15 AM

NGINXUnit支持多种编程语言,通过模块化设计实现。1.加载语言模块:根据配置文件加载相应模块。2.应用启动:调用语言运行时执行应用代码。3.请求处理:将请求转发给应用实例。4.响应返回:将处理后的响应返回给客户端。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!