<Linux基础第14集>总结前面知识点,不含Linux命令

常见Shell

CMD

PowerShell

bash

zsh

fish

/etc

Linux中所有配置文件,都在/etc

/etc/ 系统和应用的配置文件

/etc/shells : 默认shell列表

/etc/group : 用户组信息

/etc/passwd : 用户基本信息

/etc/shadow : 用户加密密码

/etc/hostname : 主机名

/etc/hosts : 本地域名解析

/etc/gpasswd : 用户组密码相关信息

/etc/sudoers : 能使用sudo命令的用户名

/etc/network : 网卡配置文件

/etc/os-release : 系统发行版本

/etc/profile : 系统全局环境变量配置

/etc/resolv.conf : DNS配置

/etc/nignx/ : Nignx配置

/etc/mysql/ : MySQL配置

...

域名解析

访问www.baidu.com

  • 查看/etc/hosts文件,查看本地域名解析,找IP地址
  • 联网询问DNS服务器www.baidu.com的IP地址

Shell执行命令的流程

  • Shell解释器接收命令,解析命令
  • 如果是内部命令,直接执行,外部命令继续
  • Shell在PATH环境变量记录的路径中查找命令的可执行文件
  • 程序调用Linux内核提供的底层接口,内核操作
  • 程序将结果返回到终端

apt下载流程

  • 解析命令,在本地软件源中,找到对应软件包
  • 分析完整依赖链
  • 电脑向Ubuntu官方服务器(默认)发送下载请求
    (准确来说,电脑查看/etc/apt/source/list这个文件的下载地址,向这个地址发送请求)
  • 从服务器下载完整软件包+所有运行依赖
  • 校验下载的安装包完整性
  • 自动完成,解压,安装,配置

Linux操作系统(GNU/Linux)组成

(Linux一切皆文件)

Linux操作系统=Linux内核+Shell+应用程序+文件系统+驱动

  • Linux内核 : 管理硬件(CPU,内存,硬盘,网卡,显卡...) 管理进程 管理中断 调用
  • Shell : bash(最常用的Shell) fish zsh
  • 文件系统 : 普通文件(txt conf log),目录,硬盘,进程信息,屏幕,打印机
  • 驱动程序 : 内核和硬件之间的翻译官
  • 应用程序 : Java Python Go 各种命令工具...

Linux目录结构

bash 复制代码
/ # 根目录
/bin/ # 基本命令
/sbin/ # root专用命令
/boot/ # 系统启动文件
/etc/ # 配置文件 
/home/ # 普通用户家目录
/root/ # root家目录
/lib/ # 库文件
/tmp/ # 临时文件,重启会清空
/var/log # 日志
/dev/ # 设备文件
/opt/ # 第三方大程序
/mnt/ # 挂在U盘

Linux变量

分为 :

环境变量 : 全局生效

本地变量 : 仅当前Shell生效

位置参数变量 : 仅脚本中生效,传递脚本参数

特殊状态变量 : 仅当前Shell会话生效

环境变量

  • PATH : 外部命令可执行文件的目录
  • HOME : 当前用户家目录位置
  • SHELL : 当前用户默认Shell
  • USER : 当前登录用户名
  • UID : 当前用户UID
  • GID :当前用户GID
  • LANG : 系统语言/字符编码
  • TERM : 终端类型
  • PWD : 当前工作目录
  • OLDPWD : 上一个工作目录

位置参数变量

$0 当前Shell名称/路径

$1

$2

特殊状态变量

$? 上一条命令执行成功or失败

$$ 档期那Shell/进程的PID

$# 脚本参数的个数

$* 脚本所有参数(整体)

$@ 脚本所有参数(逐个)

正则表达式

明天专门写一集

物质

原子(no)=原子核(+)+核外电子(-)

原子核(+)=质子(+)+中子(no)

no表示不带电,-表示带负电,+表示带正电

电流

自由电荷定向移动形成电流

(电流方向 : 负电荷定向移动的反方向)

导电本质 : 部分电子可以在外电场的驱动下脱离原子核的束缚,定向移动到正载,形成电流

所以导电依赖于自由电子

白炽灯+二极管+晶体管+存储器

链接

类Unix

类Unix操作系统 : Linux MacOS

(注意 : Windows是Windows NT内核,是非Unix操作系统)

Linux和MacOS都是类Unix操作系统,内核设计思想/终端命令规范/系统调用逻辑高度一致

uname

kernel name : 内核名字

kernel release : 内核发行版本(格式 : 主版本.次版本.修订版.定制后缀)

operating system : 操作系统名字

machine architecture : 硬件架构

内核发行版本&&系统发行版本

系统发行版本 : 基于内核封装的完整电脑系统,由发行商维护

内核发行版本 : 这个系统的核心发行版本,由Linux内核社区维护

用户登录时操作

  • 系统级登录配置文件 : /etc/.profile
  • 用户级登录配置文件 : ~/.{Shell名}profile
  • 用户级个性化配置文件 : ~/{Shell名}rc
相关推荐
且从容.3 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道3 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
讯捷蓝达5 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.6 小时前
ubuntu安装flink
linux·ubuntu·flink
数字新视界8 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落8 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨8 小时前
WSL2的安装与使用
linux·wsl
微小的鱼8 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng8 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮9 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频