1.系统架构

分類 后端, linux

1. 系统架构

1.1 PCI架构

  • PCI(外围组件互连): Intel Core系统的主要总线架构
  • 组件:
    • CPU:
      • 显示: eDP(支持i7 CPU和DDR4内存)
      • 显示: HDMI(支持i7 CPU和DDR4内存)
    • PCH(平台控制器中枢):
      • USB 3.0接口
      • PCI总线
      • 音频输出

1.2 lspci命令

  • 显示PCI总线和连接设备的信息
  • 可以查看:
    • 中断请求(IRQ)信息
    • 设备路径和速度
    • 制造商ID

1.3 ACPI(高级配置与电源接口)

  • 电源管理规范标准
  • 管理功能包括:
    • 电源按钮操作
    • 笔记本开合盖检测
    • 电池充电状态
    • CPU速度调节
  • 重要说明:
    • 不直接管理硬件,而是处理电源事件
    • 配置文件位置:
      • /etc/acpi/目录
      • /proc/acpi/目录
  • 守护进程:
    • acpid:
      • 配置目录: /etc/acpi/
      • 示例: 查看电源配置cat /etc/acpi/events/power.conf
    • systemd-logind:
      • 配置文件: /etc/systemd/logind.conf

2. 启动流程

2.1 传统SysV Init启动

  1. 电源启动
  2. BIOS初始化
  3. 引导加载程序(GRUB)
  4. 加载内核(vmlinuz, initramfs)
  5. 执行内核
  6. 执行initramfs
  7. init进程启动并挂载根文件系统
  8. init启动各种服务

2.2 现代systemd启动

  1. 电源启动
  2. UEFI初始化
  3. 引导加载程序(GRUB2)
  4. 加载内核(vmlinuz, initramfs)
  5. 执行内核
  6. 执行initramfs
  7. systemd启动并挂载根文件系统
  8. systemd启动各种服务

2.3 Init进程详情

  • 第一个用户空间进程路径: /sbin/init
  • 传统init流程:
    1. init读取/etc/inittab
    2. init执行/etc/rc.sysinit脚本
    3. init执行/etc/rc脚本
    4. /etc/rc执行/etc/rc<运行级别>.d/目录下的脚本

3. 分区表

3.1 GPT(GUID分区表)

  • EFI规范的一部分
  • 支持最大9.4TB分区
  • 使用GUID标识:
    • 设备标识
    • 分区标识

3.2 MBR(主引导记录)

  • 使用CHS(柱面/磁头/扇区)寻址
  • 最大只支持2TB分区

4. 系统信息命令

4.1 uname命令

显示系统信息:

1
2
3
4
5
6
uname -m  # 显示硬件架构类型
uname -n # 显示网络节点主机名
uname -r # 显示内核发行版本
uname -s # 显示操作系统名称
uname -v # 显示内核版本
uname -a # 显示所有信息

4.2 wall命令

向所有用户广播消息:

1
wall "消息内容"

4.3 dmesg命令

显示内核环形缓冲区消息(启动日志):

1
dmesg

4.4 lsmod命令

列出已加载的内核模块:

1
lsmod

4.5 modprobe命令

手动加载设备驱动:

1
modprobe <设备名称>

5. /proc文件系统

/proc目录下的重要文件:

  • /proc/bus/usb/* - USB设备信息
  • /proc/cpuinfo - CPU信息
  • /proc/interrupts - 中断请求信息
  • /proc/pci - PCI设备信息
  • /proc/scsi/scsi - SCSI设备信息
  • /proc/version - 内核版本信息
  • /proc/meminfo - 内存信息

6. 运行级别

运行级别配置文件:

1
/etc/inittab

7. 模拟器

通过软件模拟硬件环境来运行不同操作系统的工具

8. 启动顺序图示

1
2
3
4
5
graph TD
A[BIOS/UEFI固件] --> B[引导加载程序]
B --> C[Linux内核]
C --> D[Init/Systemd]
D --> E[系统服务]

留言與分享

linux基础

分類 后端, linux

Linux 基础操作笔记

1. 文件操作

1.1 创建文件

1
2
3
4
5
# 创建单个文件
touch file

# 批量创建文件(创建love_1_linux.txt到love_10_linux.txt)
touch love_{1..10}_linux.txt

1.2 文件权限查看

1
ls -l  # 详细列表显示文件权限

输出示例:

1
-rw-r--r-- 1 user group 1024 Mar 1 10:00 example.txt

权限字段说明:

1
2
[文件类型][所有者权限][组权限][其他用户权限]
d rwx r-x r-x
  • 文件类型:-普通文件,d目录,l链接文件
  • 权限组成:r读(4) + w写(2) + x执行(1)

2. 帮助系统

1
2
man <command>  # 查看命令手册
man ls # 示例:查看ls命令手册

常用操作键:

  • 空格键:向下翻页
  • q:退出手册
  • /:搜索内容

3. 用户管理

3.1 用户查看命令

1
2
3
4
whoami        # 显示当前用户名
who am i # 显示登录信息
who -m # 同"who am i"
who mom likes # 显示特定用户信息(需实际用户存在)

3.2 用户操作

1
2
3
4
5
6
7
8
9
10
11
# 创建用户(自动创建home目录)
sudo adduser lilei

# 查看已创建用户
ls /home

# 切换用户
su -l lilei # "-l"模拟完整登录环境

# 删除用户及home目录
sudo deluser lilei --remove-home

4. 用户组管理

4.1 用户组查看

1
2
3
4
5
# 查看指定用户所属组
groups shiyanlou

# 查看所有组(按字母排序)
cat /etc/group | sort

/etc/group 文件格式:

1
group_name:password:GID:user_list

4.2 用户组操作

1
2
# 添加用户到组(需要root权限)
sudo usermod -aG sudo lilei # 示例:添加sudo组

5. 权限管理

5.1 文件权限修改

1
2
3
4
5
6
7
8
# 变更文件所有者
sudo chown shiyanlou iphone6

# 变更文件所属组
sudo chgrp group_name file

# 修改所有权限(所有者/组/其他用户)
chmod 755 filename # rwxr-xr-x

5.2 权限数字表示法

权限 数字
r– 4
-w- 2
–x 1
rwx 7 (4+2+1)

6. 文件类型说明

Linux 一切皆文件,主要类型包括:

  • -:普通文件
  • d:目录文件
  • l:符号链接(相当于快捷方式)
  • c:字符设备文件
  • b:块设备文件
  • s:套接字文件
  • p:管道文件

7. 重要补充说明

  1. 目录权限特殊含义:

    • 读权限:可查看目录内容
    • 写权限:可创建/删除文件
    • 执行权限:可进入目录
  2. 新建用户默认会:

    • 创建同名用户组
    • /home下创建用户目录
    • 基本配置文件从/etc/skel复制
  3. sudo权限配置路径:

    1
    2
    /etc/sudoers
    /etc/sudoers.d/

建议后续可补充:

  • 实际权限修改案例
  • 用户组管理实验
  • sudoers文件的配置方法
  • ACL高级权限控制

留言與分享

作者的圖片

Kein Chan

這是獨立全棧工程師Kein Chan的技術博客
分享一些技術教程,命令備忘(cheat-sheet)等


全棧工程師
資深技術顧問
數據科學家
Hit廣島觀光大使


Tokyo/Macau