Please enable JavaScript.
Coggle requires JavaScript to display documents.
Linux, 开机过程 - Coggle Diagram
Linux
shell
\ 可以让一条命令换行
取一个变量
$XXX
${XXX}
赋值一个变量
A=B
A=“B”
A=$B
A=“$B”
双引号可以使用变量
A=$(express)
环境变量
export Var
特殊的符号
$(当前shell的pid)
?(上一个命令的退出码)
export 声明环境变量(环境变量会被子进程继承)
login shell
登录之后的shell
执行配置读取
/etc/profile
~/.bash_profile || ~/.bash_login || ~/.profile (从往后找)
这两个文件 有可能还回去读取别的文件。比如 ~/.bash_rc
non-login shell
比如 bash 之后再输入 bash
执行配置
~/.bash_rc (也就是说默认情况下这个文件存放的是通用的配置)
source | .
用户在当前进程执行shell 多用于引入环境变量、
数据流的处理
>
将内容覆盖到文件内
>>
将内容追加到文件末尾
2> 和 2>>
同 > >> 相同 只是 这个处理的是标准错误输出
1>&2 (1 pipe in with 2)
echo ‘stdout’ 2> errorfile 1&>2
2>&1 (2 pipe in file with 1)
command > file 2>&1
&& ,|| ,$?, ;;
;; 如何如何都会执行每一个
&& 前面的成功后了执行后面
|| 前面的不放回 0 执行后面
$? 前面命令返回码为 ?执行后面
多元操作 如果是否返回的code是啥都会一直往后传 没有中断一说
|
只能处理标准输出
权限
文件类型
-
d
b
硬盘
c
外设
l
链接文件
权限信息存放地址
/etc/passwd
/etc/shadow
密码(加密后)
/etc/group
权限查看
user group others
rwx
口诀
英文越长数字越小 124
umask
决定 touch 文件的权限
文件夹 777 - umask
文件 666 - umask
权限变更
-R
chmod
777
u|g|o|a
+-=
,
eg: chmod -R u+x,a+r fileName
特殊权限
可以做到执行的时候拥有 所有者的权限 | 组的权限 | 仅能删除自己的文件等特殊权限
一些常用命令
查询文件
which
-a 找到全部的命令
在$PATH 中找命令
whereis
在 /bin /sbin 等目录中找文件
locate
在DB中去找
find 最高级的查询方式
find path -name ‘xxx'
变量声明
declare
declare -i num=123+23
declare -x expoertvalue
declare -r onlyreadvar=vvv
命令别名
alias x="xxx" 谁知指令
alias 查看全部
结合pipe的命令
多行文本格式化
cut
cut -c start-end
简单的获取数据 从start开始算
cut -d 'str' -f start,end
str 来分割 f 来选择保留的数据 -d 只能是一个字符
tr
对多行字符串进行替换
tr 'A' 'B': change A to B
支持正则
grep
对多行文本进行过滤
grep -v 反向选择
grep -E 二档
tee
xxx | tee file | grep
xargs
当想一次性执行多个命令的时候使用
last | xargs -n 1 echo (等价于循环的执行 echo xxx)
sed
格式 sed a,b [operator] argument
sed '1,3d'
sed '1a add txt'
sed '1,3c replace word'
sed -n '1,3p'
sed 's/query/replace_text/g'
git branch | cut -d ' ' -f 2,3 | grep -v master | xargs -n 1 git branch -D
硬盘的分区与命名
旧版
第一扇区
p-table(负责存放分盘信息)
负责存放系统开机引导程序
分区规则
读取p-table 最多分4个区(主分区+延伸分区)
延伸分区可以分N个逻辑分区
硬盘的命名
stat 接口(sd[a-z])
硬盘的分区读取决定数字 sda1
sd5 开始算逻辑分区
新版
新版把分区信息p-table扩容了
加了分区信息备份
第一个扇区只存放引导程序 与标识符
第二扇区存放分区信息地址与备份地址
最多32个扇区存放分盘信息
存储格式
superblock
记录统计信息
inode
记录文件权限,已经内容的存放位置
当要记录的文件太大时,inode会使用block来存放block的指针,来指数套娃
block
记录内容
df | du 可以查看存储情况
正则表达式
基础
^
$
.
*
[list]
[a-z]
[^list]
{n,m}
注意点
最好用''包起来正则
shell script 语法
test
语法
判断文件类型
test -d file
判断文件夹存在
test -f file
判断文件存在
test -e file
判断文件可执行
判断权限
test -x comand
判断数字
test A -eq B
判断字符串
test -z string
shell script的使用
[ -z "$string" ]
空格 引号
if [ ]; then a elif [ ]; then b else c fi
只有 【】 后加 ;
历史
相融分时系统
汤普森的Unics
C语言的Unics
商业版Unics
教授版Minux
重要的文件
/etc/passwd
开机过程
BIOS
选择读取哪个硬盘
执行选择硬盘第一个扇区的启动程序
程序的主要内容为 1.PC调到OS的执行文件,2.另外一个OS的执行扇区(如果有的话)
交给OS了
默认会选择主板上的内存那个
固件(写死在主板上)