<Linux基础第10集>复习前面内容

环境

  • WSL1 : 不是真正的Linux系统,只是把Linux命令翻译为Windows能理解执行的命令,只是"模拟Linux的环境"
  • WSL2(Windows System for Linux 2) : WSL2 的 Linux 内核是原生的、功能几乎完整的,但它的运行载体是 Windows 的轻量虚拟化层,并非独立的硬件环境
  • CMD : Windows中基础的命令行工具
  • PowerShell : Windows中比CMD更加强大的命令行工具
  • Windows Terminal : 终端模拟器,能同时运行多个终端设备

Linux命令怎么被执行

  • 1 预处理 : 解析 去重 替换
  • 2 判断类型 : Shell会通过type命令的逻辑,判断是内置命令/外部命令/函数
    内置命令 : Shell自身集成的命令,无需查找,直接执行
    外部命令 : 由独立的可执行文件
    函数 : 用户自定义的Shell函数,直接执行
  • 3 查找可执行文件(仅外部命令需要) : Shell在PATH环境变量记录的路径中顺序查找,找到与命令名一致的二进制可执行文件(找到一个就停止)
  • 4 创建子进程,执行命令 : Shell本身是一个用户态进程,不会直接执行命令,而是通过内核系统调用创建子进程,让子进程执行命令
    外部命令:fork创建子进程后,通过exec系统调用,将子进程的程序替换为步骤 4 找到的二进制可执行文件,由子进程执行该文件,内核负责调度 CPU / 内存 / 磁盘等资源完成实际操
    内置命令:无需创建子进程,由 Shell 进程自身直接执行(因为内置命令是 Shell 的一部分,无独立可执行文件,创建子进程无意义)
  • 5 返回执行结果,回收子进程(外部命令)

总结 : 终端是界面,Shell是命令解释器,内核是实际执行者

命令执行的核心 : Shell先预处理和判断命令类型,内置命令自身直接执行,外部命令在$PATH中查找可执行文件后创建子进程,最终由内核调度资源完成操作,结果返回到终端

子网掩码

子网掩码的作用就是<确定一个IP的网络位主机位 >

网络位一样代表在同一个网段(若两个IP的网络位相同,不需要网关,直接通信,否则需要把数据先发送给网关)

主机位用来表示一个网段中的不同主机

apt(advanced package tool)

  • apt update # 刷新本地软件包索引数据库,同步镜像源的最新软件信息(可装包,新版本,依赖关系),仅仅是更新索引,不下载,不安装,不升级
  • apt install 包名 # 从镜像源下载并安装指定软件包,自动下载软件包本体+所有依赖包,并自动解决依赖问题
  • apt remove 包名 # 仅仅删除软件包本体,保留所有配置文件
  • apt purge 包名 # 删除软件包本体+所有配置文件
  • apt autoremove # 清除无用的依赖包
  • apt upgrade # 将系统中所有已经安装的软件包,更新到本地索引中记录的最新版本
  • apt search 关键词 # 在本地软件包索引中,搜索所有可安装的软件包
  • apt show 包名 # 查看指定软件包的下详细信息
  • apt list --installed # 列出系统中所有已经安装的软件包
  • apt install --only-upgrade 包名 # 更新系统中单个软件包

apt install 包名 的执行过程

  • apt 首先解析命令的包名,检查本地索引数据库中是否存在该包的记录
  • 全自动解析依赖关系
  • 生成安装列表,弹出用户确认提示
  • 从镜像源下载所有待安装包
  • 校验包的完整性和安全性
  • 调用dpkg更具执行实际安装
  • 执行软件包的配置脚本
  • 清理临时文件,返回安装结果

which whereis type 命令

  • type命令查找命令的类型,别名/内置/外置命令
  • which查找命令的可执行文件(只取第一个)
  • whereis查找命令的所有关联文件(所有可执行文件,帮助手册文件,源码文件)

lsattr chattr

lsattr file01.txt

chattr +a file01.txt

top

系统资源监控

bash 复制代码
# -p PID # 只显示PID的进程信息
# -d 时间 # 设置刷新时间
相关推荐
NamoAmitabha1283 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No73 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌4 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121385 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck6 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商6 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484817 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS7 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿7 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog8 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros