初阶训练营-Linux基础

135 阅读4分钟

linux基础命令

linux基本组成

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

内核是硬件与软件之间的中间层

内核是一个资源管理程序

内核提供一组面向系统的命令

查看Linux系统内核版本

 # 方法1
 uname -a
 # 方法2
 cat /proc/version
 # 查看发行版本
 cat /etc/os-release

linux系统结构

进程管理

进程是一个正在执行的一个程序或命令

进程有自己的地址空间,占用一定的系统资源

一个CPU核同一时间只能运行一个进程

进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别

查看进程信息

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

进程调度

进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程

进程状态

  • R(task_running)可执行状态
  • S(task_interruptible)可中断的睡眠状态
  • D(task_uninterruptible)不可中断的睡眠状态
  • T暂停状态或跟踪状态
  • Z退出状态,进程成为僵尸进程
  • X退出状态,进程即将被销毁
进程调度原则
  • 一个CPU核同一时间只能运行一个进程
  • 每个进程有近乎相等的执行时间
  • 对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
  • 进程执行消耗时间和进程量成正比

内核空间(kernal space):系统内核运行的空间-内核态

用户空间(user space):应用程序运行的空间-用户态

文件系统

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

Linux 中一切皆文件

Linux文件系统采用树状目录结构

最上层是(root/) 目录

问:如何实现对用户提供统一接口

虚拟文件系统

VFS

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

查看文件系统类型

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

用户权限

  • 用户账户

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

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

查看用户信息

 #查看当前登录用户信息
 w
 #查看当前用户所属组
 groups
 #查看用户uid信息
 id XXXX(用户名)

文件权限

所有者:文件的所有者

所在组:文件的所有者所在组

其他人:除文件所有者及所在组外的其他人

读(R),写(W),执行(X)

drwxr-xr-x

文件类型(d) 所有者(rwx) 所在组(r-x) 其他人(r-x)【每三个为一组】

用户权限操作
 # 在根目录创建一个文件夹,查看当前用户拥有文件夹的权限
 cd / && mkdir demo && ls -ld demo
 ​
 sudo useradd ceshi #创建一个用户,并赋予可写操作
 sudo passwd ceshi #设置用户密码
 su ceshi #切换ceshi用户登录
 cd demo #进入demo文件夹
 touch index.js #创建index.js文件,提示无权限,需要给ceshi用户demo文件夹的权限
 ​
 sudo chown -R ceshi:ceshi ./demo #demo文件夹权限给ceshi用户
 su ceshi
 cd demo
 touch index.js #index.js创建成功

linux软件包

软件包通常指的是一个应用程序,可以是GUI、命令行工具或软件库

软件包管理:

  • 底层工具:主要用来处理安装和删除软件包文件等任务:dpkg rpm
  • 上层工具:主要用来数据的搜索任务和依赖解析任务:apt yum dnf

rpm(red hat package manager)为red hat的包管理系统

dpkg(debian package)为debian操作系统的包管理系统

操作系统格式软件包管理系统前端工具
Debian.debdpkgapt,apt-get
Ubuntu.debdpkgapt,apt-get
CentOS.rpmrpmyum
Fedora.rpmrpmdnf
openSUSE.rpmrpmzypper

Debian apt 常用命令

  • 列出所有可更新的软件清单命令:apt update
  • 安装多个软件包:apt install <package_1> <package_2> <package_3>
  • 删除软件包命令:apt remove <package_name>
  • 查找软件包:apt search <package_name>
  • 列出所有已安装的包:apt list --installed

配置软件源

以Debian为例:/etc/apt/sources.list

 deb https://mirrors.aliyun.com/ buster      main contrib non-free
 (二进制可执行软件源)镜像地址(系统代号/水平划分)(软件分支/垂直划分)

镜像地址:mirrors.aliyun.com/

/dists:查看系统代号

/pool:查看软件分支