笔记 | 青训营笔记

50 阅读2分钟

day2:linux

计算机由五大基本单元组成
控制器、运算器、存储器单元、输入单元、输出单元
进程管理:
	一个CPU核同一时间只能运行一个进程
	进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别
	进程结构:树型结构
进程调度:
	进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
linux文件系统:
	Linux中一切皆文件,Linux文件系统采用树状的目录

day3:Shell 脚本与编程

Shell 处理来自终端模拟器的输入,解释执行之后输出结果给终端
Bash Shell的一种具体体现
Shell 即是一个解释器,又是一门编译语言
变量:
	类型	作用域	声明方式	规范
	自定义变量	当前Shell	=	字符串、整形、浮点型、日期型
	环境变量	当前Shell和其子Shell	export、declare -x	
	系统环境变量	所有Shell	启动加载	
	自定义变量:
		变量名=变量值(等号左右不能有空格)
			x=10
			y=5
		可以将命令复制给变量
			_ls=ls
		#默认为字符串不会进行加法运算
			tatal=x+y      错误
		#声明变量为整型
			let tatal=x+y
			declare -I tatal=x+y
		#导出环境变量
			export tatal
			declare -x tatal
	declare的使用:
		语法:declare [+/-] 选项 变量
			-	给变量设置类型属性
			+	取消变量的类型属性
			-a	将变量声明为数组类型
			-i	将变量声明为整型
			-x	将变量声明为环境变量
			-r	将变量声明为只读变量
			-p	显示指定变量的被声明类型
	系统环境变量:

image.png

	运算符和引用:

image.png

	管道:
		管道符 |,作用是将前一个命令的结果传递给后面的命令
		语法:cmd1 | cmd2

image.png

	判断命令:
		shell中提供了test、[]、[[ ]] 三种判断符号,可用于:
			整数测试、字符串测试、文件测试
		语法:test condition
			// 整数测试
				test $nl -eq $n2
				test $nl -lt $n2
				test $nl -gt $n2
			// 字符串测试
				test -z $str_a    字符串为空
				test -n $str_a    字符串非空
				test $str_a = $str_b
			// 文件测试
				test -e 位置 echo "文件名"    文件是否存在
				test -f  位置 echo "文件名"    文件是否存在、并且是普通文件
		注意:中括号前后要有空格
	分支语句:
		语法1:if condition;then           语法2:case $变量 in:
				程序段                    "第一个变量内容")
			elif condition;then                程序段
				程序段                         ;;
			else                               "第二个变量内容")
				程序段                         程序段
			fi                                      ;;
                                                                    *)
								程序段
								;;
								esac
	循环:
		while循环、until循环(达成条件退出循环)、for循环

image.png

	函数:
		语法一:funcName(){语句段}
		语法二:function funcName(){语句段}
		注意:shell中return不是指返回值,不会退出函数
		
	常用命令:
	

image.png

	执行:
		shell脚本一般以  .sh  结尾
		1、第一行要指定用什么命令解释器来执行
			#! /bin/bash
			#! /user/bin/env bash
		2、启动方式
			//文件名启动
				./xxx.sh
			//解释器启动
				bash ./xxx.sh
			//source 运行
				source ./xxx.sh