青训营day2 Linux基础

77 阅读4分钟

day2 Linux基础

操作系统

操作系统概述

操作系统是管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递消息

  • 管理计算机资源
    1. 处理器管理
    2. 存储器管理
    3. 设备管理
    4. 文件管理
  • 提供用户接口
    1. 命令接口
    2. 图形用户接口
    3. 程序接口

操作系统启动流程

graph LR
PowerUp --> BIOS & UEFI
BIOS --> BIOS自检 --> Bootloader --> OS
UEFI --> Bootloader --> OS
  • BIOS有一个BIOS自检,会使得加载速度变慢。无法启动2.2t容量以上的磁盘
  • USEI可以看作BIOS的优化

Linux 版本

  • 内核版本:由开发者进行维护
  • 发行版本:如ubantu等
    Linux内核+常用软件=Linux发行版本

查看Linux系统内核版本

  • 方法一: uname -a
  • 方法二: cat /proc/version

查看Linux系统版本

cat /etc/os-release

Linux基本组成

  • 内核
  • shell
  • 文件系统
  • 应用程序

Linux体系结构

  • 用户空间
    • 应用程序 用户空间通过GNU C library与内核空间交互
  • 内核空间
    • 系统调用
    • 内核
    • 平台架构相关的代码
    • 硬件设备

Linux进程管理

  • 进程是正在执行的一个程序或命令
  • 进程有自己的地址空间,占用一定的系统资源
  • 一个CPU核同一时间只能运行一个进程
  • 进程由它的进程id(pid)和他的父进程的id(ppid)唯一识别

查看进程信息

  • 查看启动的nginx进程 ps -ef grep nginx
  • 查看某个进程 top -p 93824
  • 关闭指定的进程 kill 93824
  • 全部进程动态实时视图 top

进程调度

  • R,可执行状态
  • S,可中断的睡眠状态
  • D,不可中断的睡眠状态
  • T,暂停状态或跟踪状态
  • Z,进程退出状态,僵尸进程
  • X,正式退出

进程调度原则

  • 一个CPU核同一时间只能运行一个进程
  • 每个进程有近乎相等的执行时间
  • 对于逻辑CPU而言,进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
  • 进程执行消耗时间与进程量成正比

文件系统

文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中持久化的保存文件
Linux中一切皆文件

虚拟文件系统

  • 对应用层提供一个标准的文件操作接口
  • 对文件系统提供一个标准的文件接入接口

查看文件系统类型

  • df命令报告文件系统磁盘空间利用率 df-T
  • mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息 mount

文件基本操作

  • ls 查看文件夹下内容
  • mv demo /home 移动demo文件夹到/home
  • rm -r demo删除demo文件夹
  • touch file.txt创建空文件
  • cp file.txt file_bak.txt 复制文件

用户权限

用户账户

  • 普通用户账户:在系统中进行普通作业
  • 超级用户账户:在系统中对普通用户和整个系统进行管理

组账户

  • 标准组:可以容纳多个用户
  • 私有组:只有用户自己

查看用户信息

  • w查看当前登录用户信息
  • groups查看当前用户所属的组
  • id xxxx查看用户的uid信息

文件权限

文件权限关于用户有三个概念

  • 所有者:文件的所有者
  • 所在组:文件的所有者所在的组
  • 其他人:除文件所有者所在组外的其他人 每个用户对于文件都有不同权限
  • R
  • W
  • X执行
    如drwxr-xr-x
    d(文件类型)rwx(所有者的权限)r-x(所在组的权限)r-x(其他人的权限)

软件包

  • 软件包通常指的是一个用户程序,它可以是一个GUI应用程序,命令行工具或(其他软件程序需要的)软件库
  • 软件包管理
    • 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
    • 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF