Linux系统
Linux系统简介
Linux 本质上是一个内核(kernel),但通常我们说的“Linux 系统”是指 内核 + 各种工具/软件包的集合。Linux内核是开源的,允许软件被自由地使用、修改和再发布,因此许多公司和组织都会基于Linux内核,来开发自己的系统,即发行版,如:
- Ubuntu(用户友好,适合入门)
- CentOS / RHEL(服务器常用)
- Debian(稳定性高)
- Arch Linux(极度自定义)
- Kali Linux(渗透测试、安全研究)
Linux系统结构(从底层到高层)
- 硬件层
- 就是物理设备,例如:CPU、内存、硬盘、网卡、外设等。
- Linux通过驱动程序控制和管理这些硬件
Linux内核(Kernel)
内核是Linux系统最重要的部分,关键模块
|模块|功能|
|—-|—-|
|进程管理| 负责进程调度、创建、终止(多任务能力)|
|内存管理| 管理虚拟内存、物理内存分配等|
|文件系统| 支持各种文件系统(ext4、NTFS、FAT等)|
|设备驱动| 管理硬件设备,如鼠标、硬盘、摄像头等|
|网络协议栈| 提供 TCP/IP、UDP 等协议通信|
|安全模块| 权限控制、SELinux、防火墙等|系统库
- 系统库 是连接应用程序和操作系统内核之间的重要桥梁。可以把它们理解为一组预先写好的“功能函数”集合,应用程序通过调用这些库函数来完成常见的任务(比如读文件、分配内存、创建进程),而不是直接操作内核。
- 分类
|类型|说明|实例|
|—-|—-|—-|
|标准C库(libc)| 提供最基本的函数,如 printf、malloc、open 等| glibc, musl|
|数学库| 提供数学函数如 sin、cos、sqrt |libm.so|
|动态链接库(.so)| 运行时动态加载的共享库,节省内存| /lib/libc.so.6|
|静态库(.a)| 编译时嵌入到程序里,独立运行| /usr/lib/libm.a|
|第三方库| 由社区或开发者提供的功能包| OpenSSL、SQLite、curl 等| - 系统库是 Linux 中的“工具箱”,程序只要打开它,就能轻松完成文件操作、网络通信、内存管理等底层操作。
Shell(命令行解释器)
- Shell 是一种程序,它翻译用户输入的命令,并执行。
- 常见的 Shell 有:bash(最常用)、zsh、sh 等。
- Shell 也支持编程(Shell 脚本)用于自动化任务。
应用程序
- 用户实际使用的软件:如 vim、gcc、git、浏览器等
- 这些程序运行在用户空间,调用内核功能完成实际工作。
为什么使用Linux
- 安全稳定:服务器崩溃很少见。
- 资源占用低:适合老电脑或嵌入式设备。
- 自动化强:Shell 脚本强大,适合 DevOps。
- 开发友好:几乎是编程环境的标配(尤其是 Python、C/C++)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 十柒!
评论