Linux基础 计算机五大基本单元 控制器 运算器 存储器单元 输入单元 输出单元
Linux版本 Linux内核➕常用软件=Linux发行版本
查看Linux系统内核版本 uname -a cat/proc/version cat/etc/os-release
Linux组成部分 内核 shell 文件系统 应用程序
Linux系统结构(进程管理,文件系统,用户权限)
进程管理 进程是正在执行的程序或命令,有自己的地址空间,占用一定的系统资源,一个CPU核同时间只能运行一个进程,进程由他的进程ID(pid)和父进程ID(ppid)唯一识别
查看进程信息的命令
1.查看启动的nginx进程 ps-ef | grep nginx 会返回pid 2.查看某个进程 top-p (pid) 3.关闭指定进程 kill (pid) 4.全部进程动态实时视图 top
运行的程序数量远大于CPU核数 采取进程调度
创建进程→进程就绪→CPU调度开始→进程运行 调度结束后回到就绪状态 有可能发生进程僵死导致进程结束
R可执行状态 等待状态 S可中断的睡眠状态 IO输入输出 D不可中断的睡眠状态 进程在等待某一个IO的完成 T暂停状态或者跟踪状态 例如debug时 Z退出状态,进程成为僵尸进程 X退出状态,进程将被销毁
调度原则:所有进程组成队列,轮询执行
进程的系统调用 应用程序在用户空间运行(用户态)→需要读取系统文件-发起系统调用→切换到内核态-才有权限(在内核空间运行)→执行系统调用→文件读取结束后会把结果返回给用户态的应用程序→再切换回用户态
文件系统
Linux文件系统采用树状结构,最上层是根目录
Linux有那么多文件系统,文件类型,如何实现对用户提供统一调用接口? 虚拟文件系统VFS 对应用层提供标准的文件操作接口 对文件系统提供标准的文件接入接口
如何查看文件系统类型
报告文件系统磁盘空间利用率 df-T 打印包含文件系统类型在内的磁盘分区信息 mount
文件的基本操作 ls 查看文件夹下内容 mkdir demo 创建文件夹 mv demo/home 移动demo文件夹到home rm -r demo 删除demo文件夹 touch file.txt 创建空文件夹 cp file.txt file_bak.txt 复制文件
用户权限
用户账户: 普通用户账户:在系统中进行普通作业 超级用户账户:在系统中队普通用户和整个系统进行管理
组账户: 标准组:容纳多个用户 私有组:容纳用户自己
查看用户信息的命令 w 查看当前用户所属组 gropes 查看用户uid id ➕用户名
用命令行工具查看文件权限或者文件类型信息时 d rwx r-x r-x 文件类型 所有者 所在组 其他人
用户权限操作命令
在根目录创建文件夹,查看当前用户拥有文件夹的权限 cd /⭐⭐ make demo ⭐⭐ ls - ld demo 创建一个用户,并赋予可写操作 sudo useradd ceshi
设置用户密码 sudo passwd ceshi
切换ceshi用户登录 su ceshi
进入demo文件夹 cd demo
创建index. js文件,提示无权限,需给ceshi用户demo文件夹的权限 touch index.js
demo文件夹的权限给ceshi sudo chown-R ceshi:ceshi ./demo
切换ceshi用户登录 su ceshi
进入demo文件夹 cd demo
创建index. js文件成功 touch index.js
Linux软件包管理 运行一个ignix必须先安装,这部分由软件包负责
软件包:应用程序,命令行工具,软件库
底层工具:用来处理安装和删除软件包文件等任务 上层工具:用于数据的搜索任务和依赖解析任务
软件包管理工具: RPM:red hat os的包管理系统DPKG:Debian os的包管理系统
Debian APT 常用命令
列出所有可更新的软件清单:apt update 安装指定的软件:apt install 安装多个软件:apt install<><><> 更新指定的软件apt update<> 删除软件包:apt remove<> 查找软件包:apt search 列出所有已安装包:apt list——installed
Debian配置软件源 通常Debian系统的Linux软件源配置文件:/etc/apt/source.list
deb mirrors.aliyun.com/debian buster 二进制可执行软件源 镜像地址 系统代号 main contrib non—free 软件分支/垂直划分
/dists:查看系统代号 加在镜像地址后 /pool:查看软件分支