Linux目录结构:它是什么和它是如何工作的

不同的起源故事占目录与Linux和Windows的差异

Linux和Windows的一个重要区别在于系统默认的目录安排后,你会遇到一个干净的安装操作系统。

请注意我们不是在谈论文件系统技术模式,它是用于存储在磁盘上的数据。我们将回顾的目录结构将适用于大多数Linux发行版无论他们使用的文件系统。

根目录在Ubuntu Linux桌面

Windows和Linux目录结构之间的区别

在高层次上理解为什么这些操作系统的结构方式,是有用的了解他们的历史。

当基于windows的个人电脑开始他们的生长曲线,在早期的ms - dos,微软的操作系统特别专注于微型计算机(我们今天更频繁地调用台式电脑)。在这些早期,主要文件是存储在软盘驱动器。他们标记答:B:所以很容易区分。后,硬盘驱动器收到了C:开标签和额外的驱动器类型,如cd - rom或基于usb驱动器,被分配后续信件。

相比之下,Linux是Unix操作系统由AT&T在1970年代。在这个时候,人们使用的主要是“电脑”终端。他们在屏幕上显示文本信息,并提供了一个键盘输入。但是重担是由一个“系统”,可能是由多个物理机器:一个处理,一个用于存储,另一个提供了一个特定的应用程序。这些都是通过网络连接,而用户出现作为一个单一的实体。这个客户机-服务器配置,Unix是设计用来从单用户微机技术正好相反,ms - dos和后来的窗口,支持。

一个经验法则是为Linux文件系统文件系统,或者顶部的水平,不包含任何的文件。它可能包含在大多数系统内核(vmlinuz在数据),或操作系统的核心,可能是内存虚拟盘(initrd)包含数据系统需要启动并运行。但除了这些,它应该只包含在以下部分中我们将讨论的目录(等)。

/ bin目录下

你会遇到的第一个目录/ bin。这代表二进制文件操作系统,它包含“标准”项目。这里,“标准”是指基本实用程序需要使用操作系统在任何有意义的方式。项目你会发现这里的例子如下:

  • cd,或更改目录,运行就像Windows
  • 像文件管理命令cpmv(复制和移动文件,分别)。
  • 文件权限的工具等修改文件权限(修改文件权限)乔恩(改变这些文件的所有者)。
  • 提供你的计算环境的项目,如登录(提供你签署到机器的能力)bash或其他壳。

当你第一次安装一个Linux发行版,这些程序将安装作为最基本的安装的一部分,在许多情况下不能被删除。

/ boot目录

启动目录包含启动相关的文件)、虚拟磁盘和内核

接下来按字母顺序是/ boot,这包含文件系统使用时启动。它包含Linux内核的副本(你看到的根文件系统可能是其中一个的链接),initrd、或初始ramdisk系统和其他相关数据。

最重要的事情你应该知道这个目录并不是浪费时间。这里的东西是当你处理包管理器安装和升级内核。如果你删除一个文件需要你当前内核(或内核本身),你可能会得到一个无法引导系统。

/ cdrom目录

这是一个遗留的目录。它介绍了一个CD可能的地方安装或连接,其内容访问。当时它是共同的需要挂载cd - rom或管理员,权利。但现在更常见的找到光盘自己挂载上来的/媒体目录,我们将稍后讨论。

同样的,曾经有一个/软盘目录中。你可以看到这些是让用户,他们可能用于Windows,更舒适。但随着软盘驱动器不是标准组件在现代个人电脑,你甚至可能不会看到这个目录。例如,Ubuntu没有它。如果你的机器有一个软盘驱动器,你可能会发现它自动安装/媒体

/ dev目录

每一个物理设备在Linux系统表示为文件在/ dev

一个独特的方面是,基于unix的操作系统一切都是文件。也就是说,文件系统中代表一切:正在运行的进程,内存,是的,存储设备。当你将一些数据复制到您的硬盘驱动器,例如,Linux是写数据到一个文件/dev/nvme0n1p3代表第三分区你的SSD。

/ dev目录是所有这些特殊文件。如果你浏览它,你会看到文件你可以想象,所有设备从上述NVMe-based固态硬盘在SATA硬盘(如。/dev/sd*)以上的IDE (/dev/hd*)连接,年长的PS / 2鼠标端口(/dev/psaux)。星号表示通配符;例如,SATA-based设置,你的第一个硬盘将“/ dev / sd一个”,磁盘的第一个分区将“/ dev / sda1”。第二个分区是“/ dev / sda2”,而第二个磁盘的第一个分区是“/ dev / sdb1。”

虽然他们并不重要是在任何特定的顺序,重要的是要知道哪个是哪个。这些知识会阻止你覆盖你的Windows分区当你要安装Linux一个新的空白驱动安装,例如。

/ etc目录

/等目录的名字,放置任何额外的或等等文件,掩盖了它的重要性。在实践中,这个目录的房子的许多配置文件控制整个系统。有两种主要类型的文件驻留在这里:

  • 全局配置文件,例如/dev/fstab文件用来挂载这些巨额驱动器中描述/ dev目录上面。
  • 所谓的“骨架”文件,用作用户级设置默认值。这方面的一个例子/ etc / profile文件,其中包含Bash shell的设置。当创建一个新的帐户,这个文件拷贝到新帐户. profile并作为起点,直到用户定制。

许多的子目录/等他们控制的应用程序命名的,所以很容易在这里浏览试图找到你所需要的文件时修复应用程序的代理。

/ home /根目录

Windows爱好者了解C:\Users目录,这是为每个用户文档和设置系统的存在。从一开始就因为Unix是一个多用户系统,这个概念已经存在了许多年在Linux/家庭目录中。每个帐户享有子目录包含所有帐户的数据。事实上,一个正常的,非管理员用户甚至没有许可其他地方来存储文件。

/根目录是等效为系统管理员用户文件夹,或根用户。它只与/家庭在其位置(保持远离潜在的敏感文件正常用户)和所有权。

/ lib目录

你可能使用64位操作系统在这里,你可能有几个目录:/ lib,/ lib32,/ lib64。这些库包含软件内核使用最基本的操作。那些不包含代码特定于版本的处理器/ lib文件夹中。那些特定的版本/ lib32(32位)或/ lib64(64位)目录。

/媒体/ mnt目录

安装在可移动媒体得到的用户名/媒体目录中

几年前,如果你有可移动媒体像USB拇指驱动器,之前,你可以使用它需要分配它/ dev和创建一个条目/ mnt(山)目录。在更多的现代版本中,Linux发行版自动配置可移动媒体。事实上,根据用户登录设备连接时,系统将创建一个特定于用户的目录,安装设备,并确保用户正确的权限来访问它。不同的是,现在/媒体目录通常是用于此目的。

/ opt目录

曾经有一段时间不太久以前,你不能跳转到一个网站,下载一个Ubuntu包你喜欢的应用程序。你安装这些程序通过运行一个自定义安装程序,简单地打开他们的档案,甚至从他们的源代码。这些安装方法不统一,有时很难跟踪的文件以及如何卸载它们。的/ opt目录被引入这个可选软件,以确保你的系统不受影响的事件你安装或un-installation错误引导。

虽然现在有更多的开发人员提供他们的应用程序(在标准包格式。RPM的。deb),其中的一些程序仍然安装/ opt。这个目录是否仍然是有意义的讨论的主题在Linux社区,但是现在,它仍然存在。和一些软件安装,甚至从标准的。deb包。值得注意的是,Google Chrome在基于ubuntu安装系统。

/ sbin目录

/ sbin目录,像前面提到的/ bin二进制实用程序。然而,这个目录是有限的系统二进制文件,因此只有根用户可以运行它的内容。它包括这样的工具adduser(用于创建新用户帐户),insmod(用于硬件驱动程序加载到内核),和定时关机(电脑关闭)。

如果你想知道在最后一个,你有一个锋利的眼睛。不,你不需要一个“超级用户”关闭您的Linux系统,服务器系统上是这样。但在桌面上,你的首选环境(如KDE, GNOME或XFCE)设置它可以执行特定的命令,好像一个根用户。

/ usr目录

/ usr目录看起来简单,直到你开始进入它

用户数据存储在/家庭文件夹,/ usr和它的子目录保存大部分安装的软件系统。在这里安装意味着无论外的基本工具是可用的/ bin。例如,它将包含:

  • 应用,如桌面环境,LibreOffice办公套件,GIMP图像编辑器,Firefox web浏览器。
  • 源代码的Linux内核和硬件驱动程序。
  • 辅助文件,如艺术品或文档,上面。

/ usr目录将这些存储在自己的层次结构。它包含,自由,sbin子子目录,操作就像他们的上级的弟兄,但只包含相关软件安装。的/usr/share目录包含图标集等资产,以及文档文件。

/usr/share目录是巨大的,许多子目录为各种应用程序

最后,的初衷/usr/local分支是类似于/ opt——用户装机,“可选的”软件。辩论的一部分是这两种应该保持。的一个点/usr/local从源代码安装是大多数软件配置为地方本身。

/ var目录

/ var目录保存工作运行的应用程序和流程的数据

最后的“主要”Linux目录/ var目录包含系统数据。这意味着数据生成的系统的操作,如日志文件(/var/log),缓存(/var/cache),备份(/var/backup)。因为Unix (Linux也因此)最初是一个多用户系统,服务器应用程序,如电子邮件的等候区(/var/mail邮箱和/var/spool/postfix发文)和网络打印(/var/spool/cups)实例化。

其他目录

不同发行版使用的不同组合标准目录根级别的。下面,我们分享的根文件夹的目录清单MX Linux 18.3连续和Ubuntu 19.10集团貂。

mx linux根目录列表
ubuntu根目录列表

根据分布,您可能会遇到其他目录,:

  • 发现/失去了+:有些时候的数据得到错误的系统中。如果你知道你失去了你可以检查在这里,虽然内容不会很容易识别。你需要手动检查其内容弄清楚它们是什么。
  • / proc:所有在Linux中可以代表一个文件。的/ proc与目录包含文件流程,你可以把他们检查他们在做什么(但不要编辑这些)。
  • /运行:这是一个运行时目录他们需要处理一些临时数据存储,通常作为系统启动。与其他系统级目录,不要在这儿闲荡。
  • /提前:Ubuntu的提前是一个包格式将一个应用程序,应用程序需要的一切,在一个容器这是独立于其他系统。的/提前目录是这些容器安装到系统,以类似的方式存储设备。
  • 如果:这个目录的文件服务守护进程的程序存储。例如,静态web页面由Apache web服务器可能存储在/电脑/ www子目录。
  • / sys:符合“一切都是一个文件”咒语,/ sys和它的内容代表从Linux内核设置和信息,以同样的方式/ proc对运行过程。
  • / tmp:如果你猜这个目录的名称临时数据,你是正确的。系统级项目临时存储信息在这里。

在windows电脑上,没有什么本质上你从任何你希望把目录中排除,包括在根(C: \)水平。在基于linux的系统上,不过,你要保持数据属于他们的权利。Linux将产生粒状基于权限系统故意摩擦时力替代目录布局从接受系统的设计。

这个页面是有用吗?