Linux 基础/Linux 的结构
外观
< Linux 基础
- 基本上是 CLI
- 就像 DOS 和 Windows 的命令提示符
- 也有图形用户界面 (GUI)
- 磁盘上没有字母,就像 DOS/Windows -> 所有内容都在 / 下
- 它挂载(连接)外部存储
- 现在 Windows 也能做到这一点
- /etc/fstab 文件包含分区和与其关联的设置的自动挂载点。
fdisk
或fdisk -l
命令,后者列出分区。- 在 /mnt 下,我们可以找到挂载的介质(但这并不总是正确的,因为在现代分区中,自动挂载的介质(如闪存驱动器)通常被挂载到 /media,但 /mnt 是为在那里挂载分区而创建的)
FAT 表包含介质连续区域上每个簇的条目。每个条目包含文件中的下一个簇的编号或 EOF(文件结束),未使用的磁盘空间和磁盘的特殊保留空间。它只能执行软链接。
EXT 文件系统:它使用 inode(索引节点)表。在 inode 中,有文件的描述和数据块的位置,没有文件名。每个文件只有一个 inode。较大的文件可能包含多个目录条目,其中包含文件名。inode 包含名称、描述、创建日期、权限、所有者 (UID)、组 (GID) 以及与其关联的链接数量。(因此它可以做比 FAT 多得多的操作)它可以执行软链接和硬链接,这是 EXT 文件系统相对于 FAT 的最大优势之一。
- 软链接:快捷方式,如果原始文件被删除,那么它也会删除自身,或者它会显示找不到可执行文件的错误。
- 硬链接:文件的副本,但如果我们更改原始文件,那么副本的内容也会更改,但只有在所有副本都被删除后,文件才会最终消失。
- 它将权限分别附加到每个文件
- 它将权限限制为所有者或组
- 读、写、执行权限
- mc(Midnight Commander) - CLI - 它基于 Norton Commander
- Gnome Commander - GUI
- 以及你使用的桌面环境附带的图形文件管理器:thunar、nautilus、rox-filer、dolphin、pcmanfm 等。(https://www.tecmint.com/top-best-lightweight-linux-file-managers/)
- 文件管理:对文件的操作
内核 = 系统核心,操作系统的“灵魂”
它的任务:处理外围设备、处理文件系统、实现目录结构、控制处理器
内核类型
- 单内核:内核由一个不可分割的单元模块组成。它常见于较旧的 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。