跳转到内容

Linux 基础/Linux 的结构

来自 Wikibooks,开放世界的开放书籍
  • 基本上是 CLI
    • 就像 DOS 和 Windows 的命令提示符
  • 也有图形用户界面 (GUI)

文件系统

[编辑 | 编辑源代码]
FAT 结构
  • 磁盘上没有字母,就像 DOS/Windows -> 所有内容都在 / 下
  • 它挂载(连接)外部存储
    • 现在 Windows 也能做到这一点
    • /etc/fstab 文件包含分区和与其关联的设置的自动挂载点。
    • fdiskfdisk -l 命令,后者列出分区。
    • 在 /mnt 下,我们可以找到挂载的介质(但这并不总是正确的,因为在现代分区中,自动挂载的介质(如闪存驱动器)通常被挂载到 /media,但 /mnt 是为在那里挂载分区而创建的)
EXT 结构

FAT 表包含介质连续区域上每个簇的条目。每个条目包含文件中的下一个簇的编号或 EOF(文件结束),未使用的磁盘空间和磁盘的特殊保留空间。它只能执行软链接。

EXT 文件系统:它使用 inode(索引节点)表。在 inode 中,有文件的描述和数据块的位置,没有文件名。每个文件只有一个 inode。较大的文件可能包含多个目录条目,其中包含文件名。inode 包含名称、描述、创建日期、权限、所有者 (UID)、组 (GID) 以及与其关联的链接数量。(因此它可以做比 FAT 多得多的操作)它可以执行软链接和硬链接,这是 EXT 文件系统相对于 FAT 的最大优势之一。

  • 软链接:快捷方式,如果原始文件被删除,那么它也会删除自身,或者它会显示找不到可执行文件的错误。
  • 硬链接:文件的副本,但如果我们更改原始文件,那么副本的内容也会更改,但只有在所有副本都被删除后,文件才会最终消失。

文件系统的属性

[编辑 | 编辑源代码]
  • 它将权限分别附加到每个文件
  • 它将权限限制为所有者或组
  • 读、写、执行权限

文件管理器

[编辑 | 编辑源代码]
Fedora 29 下的 Midnight Commander。

内核 = 系统核心,操作系统的“灵魂”

它的任务:处理外围设备、处理文件系统、实现目录结构、控制处理器

内核类型

  • 单内核:内核由一个不可分割的单元模块组成。它常见于较旧的 Linux(早于 2.0)和 UNIX 系统。
  • 混合内核:像 Windows 一样 – 可以设置权限。混合内核基本上是微内核,其中一些“不重要的”代码部分已使用更少的抽象从用户级(用户空间)移动到内核级(内核空间),以运行得更快。
  • 微内核:内核位于多个小型程序中,而不是一个大型模块中。
  • 模块化:模块化内核试图解决单内核的问题。内核的各个部分 - 物理和逻辑 - 以及由此创建的模块,主要是驱动程序,可以加载到内存中。它节省了内核的大小,但两者加起来变得越来越大(它的尺寸是相对的,它取决于你想要添加多少驱动程序,完整的内核通常在 100 MB 或以上,但如果你很简化,它可以小于 10 MB)。我们将现代 Linux 系统归类到模块化术语下(要准确地说,Linux 内核是单内核模块化)。内核模块可以在 /lib/modules/kernel-version 文件夹中找到。

内核的位置:它位于 /boot 文件夹中,并且在根目录中有指向 vmlinuz 和 initrd 的软链接。

文件系统

[编辑 | 编辑源代码]

在文件系统中,数组在 Linux 中扮演着重要的角色。

虚拟文件系统(用于系统)

  • SMBFS、SSHFS、NFS 等。

支持的文件系统

  • ext2、ext3、ext4(Linux 的自有文件系统)
  • ReiserFS、Btrfs、ZFS、XFS
  • FAT32、NTFS
  • stb.

目录结构

[编辑 | 编辑源代码]
  • 层次结构
    • 目录(文件夹)
    • 文件

单级目录:Commodore 软盘;磁带

  • 路径
    • 根目录:/
    • 例如:/home/joe/myfile.txt
  • 连接(挂载)的介质
    • 例如 /mnt/usb
  • 挂载
    • mount /dev/scd -t ISO9660 /mnt/cdrom(如果我们要使用 CD-ROM)
    • mount /dev/sdb -ta /mnt/[name],其中 -ta 表示自动检测介质类型。
    • sda、sdb、sdc…… 表示 HDD、SSD,现代发行版将它们挂载到 /media/[分区名称]。
  • 卸载/断开连接:umount /dev/sdb

主要文件夹

[编辑 | 编辑源代码]
  • /bin、/sbin
    • 可执行文件、二进制文件(只有管理员才能运行 sbin 程序),不需要文件扩展名
  • /boot
    • 系统启动文件:GRUB、LILO、内核 (/boot/vmlinuz)
  • /cdrom、/media、/mnt
    • 介质挂载:USB、软盘、CD/DVD
  • /dev
    • 我们可以通过文件访问设备,例如:/dev/dsp(声卡)/dev/cdrom(CD)/dev/sda2(第一个 HDD/SSD 的第二个分区)
  • /etc
    • 配置文件
    • 只有系统管理员可以访问它
    • 全局配置文件文件夹
  • /home
    • 用户的文件夹
    • 用户的文件
    • 设置、配置文件、文件夹
    • 例如:/home/peter /home/peter/documents
  • /lib
    • 共享对象、库
    • 就像 Windows 中的 DLL 文件
    • 内核模块
  • /lost+found
    • 损坏的文件
    • 可恢复文件
  • /proc
    • 当前运行的操作 - 按文件和系统信息(处理器、内存等)编号
    • 示例命令(处理器信息):cat /proc/cpuinfo
  • /tmp
    • 临时文件的位置
    • 系统和用户级别都有
  • /usr
    • 用户文件的位置
    • 程序安装的程序
    • 源代码(内核):/usr/src
    • 文档:/usr/share/doc、/usr/doc
    • 图标等等。
  • /var
    • 服务的集合
    • 缓存(临时存储):/var/cache
    • 日志文件:/var/log/maillog
    • 电子邮件帐户(邮箱):/var/mail/root
    • www 文件夹:apache 的默认网页文件夹 (/var/www)
  • 系统管理员:root
  • 用户: “root” 用户基本上创建他们。
  • 用户可以分组。
  • 可以在文件系统中授予权限。
    • 例如:/home/joe/myfile.txt 26 joe joe -rwxrwxrwx
  • 第一个用户也拥有 root 权限(您在安装时设置),但这取决于发行版,例如 Debian 用户默认没有 root 权限,也没有 sudo。
华夏公益教科书