System Programming

" One vision, one purpose. "

Copyright © Tony's Studio 2020 - 2022


Chapter Zero - Meet Linux

0.1 What is Linux?

0.1.1 Linux OS

  1. Kernal:系统核心。
  2. Shell:用户与计算机交流的接口。
  3. 文件结构:a.k.a. 根文件系统。
  4. 实用工具
image-20221224130902822

0.1.2 Standards

POSIX

POSIX 是 Portable Operating System Interface 的缩写,POSIX 标准是为了应用程序跨 UNIX 平台的移植性而定义的源代码级的标准,后扩充为单一 UNIX 标准。其作用是通过规定应用程序接口等的规范,确保程序的兼容性与可以执行。

LSB

LSB 是 Linux Standard Base 的缩写,LSB 标准是 Linux 操作系统在应用及平台之间提高互操作性的核心标准。

POSIX vs LSB

Difference:

  • LSB 标准为二进制级标准,应用程序移植时无需重新编译,而 POSIX 标准为源代码级的标准,移植时需使用对应编译器重新编译。
  • 均规定了相关工具与命令。

Similarity:

  • 均规定了程序移植的规范。
  • LSB 标准包括许多 POSIX 接口。

0.2 Root directories

image-20221224130337040

(1) 启动相关

  • /boot:Linux 内核和启动文件,在启动时最先被加载。
  • /proc:虚拟目录,进程文件系统的根目录,对应正在运行的进程,访问进程对应的内存空间。
  • /run:临时文件系统,储存系统进程的变量数据等。
  • /sys:虚拟目录,包含连接到计算机的设备、驱动以及某些内核功能。

(2) 动态程序

  • bin:大部分 Gnu/Coreutils 和 linux-utils 程序的目录,存放必要的命令。
  • sbin:超级管理员权限的程序目录,系统管理目录。
  • lib,lib32,lib64,libx32:bin,sbin 中程序所需库的目录,必要的运行库。
  • /opt:用于安装附加软件。
  • /usr:包含了一般不需要修改的应用程序,如命令程序文件、程序库、手册和其他文档。

(3) 环境与数据

  • /etc:系统配置文件目录,包括密码文件、网卡信息、环境变量设置等。
  • /var:存放不断变化的文件,如日志文件等。

(4) 静态文件

  • /root:超级用户的主目录。
  • /home:用户的主目录,为用户创建的文件加及数据。
  • /tmp:临时文件,关机时删除。
  • /srv:存放作为服务器时,启动时需要提取的数据。

(5) 设备相关

  • /lost+found:存放和其他目录没有关联的文件,系统出错时产生的部分文件会存放至此。

  • /media:系统自动识别的挂载设备,如外接硬盘等。

  • /mnt:存放临时的映射文件系统。

  • /dev:包含外部设备信息,但不包括驱动。

(6) 其他目录

  • /snap:Ubuntu 的包管理目录。

" Do or do not. There is no try. "

Copyright © Tony's Studio 2020 - 2022

- EOF -