跟着AIGC探索Linux系统目录架构:深入了解操作系统的核心(三)

1. 前言

如果是Linux桌面级用户和MacOS用户这一步很好理解,Windows用户需要转换一下适应一下。mac系统目录确实是linux的差别不大,这里且简述一下LinuxWindows的区别,直接上图!

2. Windows系统目录

Windows系统目录结构使用盘符来表示不同的存储设备和分区,并有一些特定的目录用于存放核心系统文件、用户文件夹、程序文件夹和系统保留文件夹。这种目录结构为用户提供了方便的文件管理和应用程序安装方式。
如下图,这是大众常见的C盘、D盘等。最大的特点就是方便,易懂易使用,其次:

  1. 层次化结构:Windows系统目录采用层次化的结构,从根目录(C:\)开始,每个目录都有特定的功能和用途,形成了一个层次结构。

  2. 核心文件存放:Windows系统目录(通常是C:\Windows)是存放操作系统的核心文件和系统组件的位置。这些文件包括操作系统内核、系统驱动程序、系统配置文件等,是维持系统正常运行所必需的。

  3. 应用程序目录:Windows系统目录还包括用于安装和存储已安装应用程序的目录,如C:\Program Files和C:\Program Files (x86)。这些目录用于存放应用程序的可执行文件、库文件、配置文件等。

  4. 用户个人目录:Windows系统目录结构中有一个名为C:\Users的目录,用于存放每个用户的个人文件和设置。在该目录下,每个用户都有一个以其用户名命名的子目录,用于存储其文档、下载、图片、音乐等个人文件。

  5. 共享目录:Windows系统还提供了一些共享目录,用于多个用户之间共享文件和资源。其中包括C:\ProgramData目录,存放所有用户共享的应用程序数据和设置。

  6. 临时文件目录:Windows系统目录结构中包含一个用于存放临时文件的目录,通常是C:\Windows\Temp。这个目录用于存储临时生成的文件,如临时下载文件、临时安装文件等。

  7. 可自定义性:尽管Windows系统目录结构有一些默认的规定,但用户通常可以在一定程度上自定义目录的位置和名称。例如,可以更改用户个人目录的位置或使用不同的硬盘分区来存放某些目录。

3. Linux系统目录

Linux系统笔者认为最大的特点就是根目录,以/出发发散的一个集结性的目录架构,最大的特点就是逻辑性

与Win系统稍做对比,Linux系统目录结构使用根目录(/)作为起点,而不是盘符。根目录下有一些特定的目录用于存放不同类型的文件和配置。以下是对Linux系统目录的类比描述:

  • /bin:类似于Windows的程序文件夹,存放系统启动和运行过程中所需的基本命令和可执行文件。
  • /etc:类似于Windows的配置文件夹,包含系统的配置文件,如网络配置、用户账户和密码、软件包管理工具的配置等。
  • /home:类似于Windows的用户文件夹,每个用户都有一个以其用户名命名的子目录,用于存放个人文件和设置。
  • /lib/lib64:类似于Windows的库文件夹,存放系统运行时所需的共享库文件,为系统中的程序提供各种功能。
  • /dev:类似于Windows的设备文件夹,包含设备文件,Linux中一切皆文件,通过/dev目录下的文件与设备进行交互。
  • /var:类似于Windows的可变数据文件夹,存放经常变化的数据,如日志文件、数据库文件等。
  • /tmp:类似于Windows的临时文件夹,用于存放临时文件,通常在系统重启后会被清除。
  • /proc:类似于Windows的系统文件夹,提供对内核和进程信息的访问,可以通过在该目录下的特定文件中读取信息。
  • /sbin:类似于Windows的系统管理员文件夹,存放系统管理员使用的一些基本命令和可执行文件。
  • /usr:类似于Windows的应用程序文件夹,是用户软件的主要安装位置,包含了用户安装的应用程序、库文件、文档和其他资源。

3.1 重点1:多个/bin

细心的小伙子发现,怎么有多个/bin、/lib… 这里举例一下/bin,以此类推

  • /bin:/bin是Binary的缩写,是用于存放系统启动和运行过程中所需的基本命令和可执行文件的目录。这些命令对于系统的基本功能是必需的,因此/bin目录通常包含了一些核心工具,如ls、cp、mv、rm等。这些命令在系统启动时可用,无需依赖其他文件系统的挂载。

  • /usr/bin:/usr/bin是用户软件的主要安装位置,包含用户安装的应用程序的可执行文件。当用户安装额外的软件时,它们通常会安装到/usr/bin目录或其子目录下。这些应用程序可以是系统提供的或由用户自行安装的。与/bin目录不同,/usr/bin目录中的可执行文件是非系统关键的,不是启动过程所必需的。

3.2 重点2:各目录之间有什么联系

这里结合Linux的/目录或Windows的盘符进行一个横向比较:

  • Windows系统的盘符和其他目录的关系:

Windows系统中的每个盘符(如C:\D:\等)都是独立的文件系统根,它们可以拥有各自的目录结构。每个盘符下都有类似于Linux根目录的结构,包含了诸如Windows目录、Program Files目录、Users目录等各种目录。这些目录和文件都是相对于各自的盘符而存在的,通过添加盘符和路径名可以访问到它们。

  • Linux系统的根目录和其他目录的关系:

Linux系统的根目录(“/”)是整个文件系统的起点,包含了所有其他目录和文件。其他目录都是相对于根目录而存在的,它们以根目录作为参照点进行定位和访问。例如,/bin/home/etc等目录都是根目录下的子目录,通过添加路径名可以访问到它们。

  • 主要区别:

    • 在Linux系统中,根目录是一个统一的起点,整个文件系统以层次化结构组织,其他目录都是相对于根目录的子目录。而在Windows系统中,每个盘符都是一个独立的起点,每个盘符下都有自己的目录结构。
    • Linux系统使用单一的根目录来管理整个文件系统,而Windows系统允许多个独立的盘符,每个盘符可以有自己的文件系统和目录结构。
    • Linux系统中的目录结构相对统一且一致,而Windows系统中的目录结构相对灵活且多样化,可能存在不同盘符下的相似目录。
    • 在Linux系统中,根目录是用"/"表示的单一根节点,而Windows系统中,每个盘符都可以被视为根节点,如C:\、D:\等。

这里凸显的就是刚刚提到的,逻辑性。笔者认为其实也跟他们的用途有关系,win系统一般都是用作个人电脑个人使用,为了方便使用和易操作;linux系统一般用作服务器操作系统,强调是高能低耗多用户,因此在管理使用和维护上更注重系统运行逻辑。

4. 讨论

作为开源操作系统的代表,Linux 在计算领域中发挥着巨大的作用。而要深入理解 Linux,从其核心构建模块开始,也就是目录架构。本文大致囊括了 Linux 系统目录架构,揭示各个目录的功能和作用,且与Windows横向对比。Linux 是一个多用户、多任务的操作系统,其目录架构为用户和系统提供了一个统一的组织结构。

以下是一些hen重要的目录大家留意,在使用Linux系统时应避免随意修改它们的内容:

目录 描述
/bin 存放系统启动和运行过程中所需的基本命令和可执行文件。
/etc 存放系统的配置文件,如网络配置、用户账户和密码等。
/home 用户的主目录,每个用户都有一个以其用户名命名的子目录。
/lib 存放系统运行时所需的共享库文件,为系统中的程序提供功能。
/usr 存放用户软件的主要安装位置。
/var 存放经常变化的数据,如日志文件、数据库文件等。

没有权限的用户还好,有root的记得不要乱修改

之前有萌新粉丝跑来问rm -rf /*的,我的评价是作为新手,告诉你这个命令的人肯定是坏心眼。这种就跟windows系统在键盘上按Alt+F4,花里胡哨但又不太懂的东西不要无脑用,脚踏实地一手~、

猜你喜欢

转载自blog.csdn.net/weixin_48093827/article/details/131720649
今日推荐