第一阶段总结(必会知识点)

rhel系:centos,麒麟,欧拉(华为)openeuler,龙蜥(阿里)anolis,rockylinux等等

Debian系:ubuntu,deepin等等

Linux系统部署(物理机)–看视频学习 远程连接:xshell,ssh命令,熟悉排错流程

Linux核心目录和文件

目录:/etc /root /mnt(挂载) /dev(磁盘) /tmp(系统存储临时文件) /home /var/log

文件:/etc/passwd
/etc/hosts
/etc/NetworkManager/system-connection/ens160.nmconnection
配置文件名称:网卡名+nmconnection作为配置文件的文件名;比如ens160.nmconnection
/etc/fstab 设置开机自动挂载
/etc/profile 系统环境变量
/etc/rc.local 开机启动
/etc/motd 登陆后显示图案
/var/log/cron crond日志
/var/spool/cron 配置crond==crontab -l
/var/log/message 内核日志、系统服务日志、硬件事件、用户认证日志、网络守护进程日志以及应用程序错误和警告
/var/log/secure 安全日志
/proc/cpuinfo ==lscpu
/proc/meninfo ==free
/proc/loadavg ==w/top
/proc/mounts 每个挂载点的详细信息

文件属性

ls -lhi每一列含义

  • ls -lhi 结合了 inode 号与详细列表信息,常用于排查文件链接、权限和存储问题。


第 1 列:Inode 号,文件的唯一索引节点号(Inode Number)
第 2 列:文件类型与权限
示例:-rw-r–r–.
拆解:
第 1 个字符:文件类型(-=普通文件,d=目录,l=符号链接,b=块设备,c=字符设备等)。
后续字符:权限(rwx=所有者/组/其他人的读/写/执行权限)。
最后的 . 或 +:扩展属性(如 SELinux 上下文或 ACL)。
第 3 列:硬链接数
含义:指向该 inode 的硬链接数量。目录默认至少有 2 个硬链接(自身 . 和父目录的 ..)。
第 4 列:所有者(Owner)
第 5 列:所属组(Group)
第 6 列:文件大小
第 7 列:最后修改时间atime
第 8 列:文件名,符号链接会显示指向的路径(如 link -> target)。

inode/block特点

Inode 的特点

  1. 元数据存储
    • inode 存储文件的元数据,包括权限、大小、时间戳(创建、修改、访问)、所有者、块位置等,但 不存储文件名
    • 文件名存储在目录的 block 中(目录本质是「文件名 → inode 号」的映射表)。
  2. 唯一性与分配
    • 每个文件/目录有唯一的 inode 号,不同文件系统的 inode 号可能重复(跨挂载点时需注意)。
    • 文件系统创建时固定分配 inode 总数(可通过 df -i 查看使用情况)。
  3. 硬链接与 inode
    • 硬链接共享同一个 inode,因此它们的元数据和内容完全相同。
    • 删除文件时,只有当硬链接数为 0 且无进程占用时,inode 和 block 才会释放。

Block 的特点

  1. 数据存储单元
    • block 是文件系统读写的最小单位(默认 4KB,可通过 mkfs 指定)。
    • 文件的实际内容被分割为多个 block 存储。
  2. 空间分配
    • 文件系统通过块位图(block bitmap)管理空闲 block。
    • 大文件可能占用多个不连续的 block(碎片化问题)。
  3. 碎片与性能
    • 频繁修改的小文件容易产生碎片,影响磁盘性能。
  • 现代文件系统(如 XFS、ext4)通过预分配和延迟分配优化碎片问题。

关键命令

  1. 查看 inode 使用情况

    df -i      # 显示文件系统的 inode 使用情况
    stat file  # 查看文件的 inode 详细信息
  2. 查看 block 大小

    tune2fs -l /dev/sda1 | grep "Block size"  # ext4 文件系统
    xfs_info /dev/sda1                        # XFS 文件系统

总结

  • Inode 是文件的元数据管理中心(属性中心),Block 是实际数据存储单元(存放数据)。
  • inode 耗尽或 block 空间不足均会导致无法创建新文件,需定期监控(df -i 和 df -h)。

软硬连接区别:

软链接类似于快捷方式,是一个指向另一个文件路径的特殊文件,删掉源文件链接失效,可以跨文件系统创建软链接。可以链接到目录。
硬链接实质上是多个文件名指向同一个 inode。删掉源文件依旧能用,因为它们都指向同一个 inode,数据仍然存在,但无法跨文件系统创建硬链接(即,不能链接到不同的分区或磁盘)。
硬链接不能链接目录(为了防止循环引用)。

修改/删除软链接:

pwd #查看当前路径
ll #查看所有文件

#首先我们先来创建两个文件
mkdir test_chk
touch test_chk/test.txt
touch test_chk/val.txt
vim test_chk/test.txt #sudo gedit test_chk/test.txt(这一步随便在这个test.txt里写点东东即可)

#下面我们来创建test_chk目录 的软链接
ln -s test_chk test_chk_ln
ll #ls -l查看

#修改软链接
#ln –snf [新的源文件或目录] [软链接文件]

#删除软链接
#rm –rf ./软链接名称
#rm -rf ./软链接名称/ (这样就会把软链接以及软链接指向下的内容删除)

#正确的删除方式(删除软链接,但不删除实际数据)
rm -rf ./test_chk_ln
#为了防止误删,可以询问 rm -ri ./test_chk_ln 或者改用mv 命令操作

#错误的删除方式
rm -rf ./test_chk_ln/ (这样就会把原来test_chk目录下的内容删除)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部