第二天:Linux基础 | 青训营笔记

52 阅读3分钟

1. 操作系统的启动流程

  • BLOS -> BLOS自检(导致启动速度变慢) -> BootLoader -> OS
  • UEFI -> BootLoader -> OS [改进后没有自检,启动速度快]

2. 查看进程信息

  • 查看启动进程:ps -ef | grep name(| grep name是查找name并且通过管道传输给前面的ps -ef命令
  • 查看某个进程:top -p name
  • 关闭某个进程:kill name
  • 全部进程动态实时视图:top

3. 进程调度

CPU按照某种策略或规则选择进程占用CPU进行运行的过程

4. 一切皆文件

保证在Linux里面的操作统一和接口调用统一。

查看文件系统类型

  • 查看文件系统磁盘空间利用率 df -T
  • 不加任何指令查看文件系统在内的磁盘控件利用率:mount

shell命令文件基本操作

  • ls path:查看当前路径下的文件内容
  • move file dir : 将文件移动到目录中
  • rm file/dir:删除文件/目录
  • touch filename : 创建文件
  • mkdir dirname : 创建目录
  • cp file copyfile : 将file中的内容复制到copyfile

*文件读取流程

  • 用户空间:用户进程、用户缓冲区
  • 内核空间:内核缓冲区、Socket缓冲区
  • 硬件空间:磁盘、网卡

当Linux需要读取文件时:首先,会在用户缓冲区查找是否有这个文件,如果有则直接读取文件;如果没有,则Linux会发起一次I/O请求,当发起I/O请求时,Linux会从用户态切换到内核态;然后读取内核缓存区中是否有该文件,如果有,则通过CPU将此文件拷贝到用户缓存区然后进行文件的读取;否则会通过DMA的方式向磁盘发起访问,找到该文件并读取,然后DMA(直接和磁盘进行交互,不通过CPU从而提升速度)将该文件复制到内核缓存区中,最后CPU将在内核缓冲区的该数据复制到用户缓存区中,Linux对该文件进行读取。

5. 用户权限

  • 用户账号:普通用户账号、超级用户账号
  • 组账号(group):标准组、私有组
  • 所有者、所有组、其他人
  • 读(r)、写(w)、执行(x)
  • d(文件类型)rwx(所有者)rwx(所有组)rwx(其他人)——共十位(赋值时可以直接777这种形式)

6. *软件包的管理

软件包:一个应用程序,可以是GUI应用程序、命令行工具、其他软件程序所需的软件库

软件包管理

  • 底层工具:处理安装和删除软件包文件等任务(DPKG -> Debian、RPM -> Red hat)
  • 上层工具:处理数据搜索任务和依赖解析任务(APT、YUM、DNF) [更加自动化,可以帮助我们屏蔽底层的表示]

总结自己学到的东西

  1. Linux文件读取过程
  • Linux --> 用户缓冲区 --> 读取文件
  • Linux --> 用户缓冲区 --> 内核缓冲区 --> 文件 --> CPU --> 用户缓冲区 --> 读取文件
  • Linux --> 用户缓冲区 --> 内核缓冲区 --> (DMA) --> 磁盘 --> (DMA) --> 内核缓冲区 --> (CPU) --> 用户缓冲区

图片.png

  1. 软件包/软件包的管理
  2. 熟悉shell命令
  • mount命令后面不跟指令可以用来查看文件系统磁盘中的内存信息
  • top -p : 查看某个进程的状态...