1,进程是程序运行的副本。计算机是由进程来操作的。
物理地址
线性地址
cpu字长
静态编译
动态链接
设备类型
block 块
随即存储,按块存取
character 字符
线性存储,按字符存取
2.BASH
全局:
/etc
profile ,profile.d/*,bashrc
个人:
~/. bash_profile ~/.bashrc
pofile类:
设定环境变量
运行命令或脚本
bashrc类:
设定本地变量
设定命令别名
交互式读取: /etc/profile –>/etc/profile.d/* –>~/.bash_profile –>~/.bashrc –>/etc/bashrc
非交互:~/.bashrc –>/etc/bashrc –>/etc/profile.d/*
重新读取source文件
source 文件
. 文件
文件名通配glob 匹配文件名
特殊字符,元字符,不表示字符的表面意义,能匹配符合特征的字符串
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意字符
[[:alpha:]]=[a-zA-z]
[[:digit:]]=[0-9]
[[:lower:]]=[a-z]
[[:upper:]]=[A-Z]
[[:alnum:]]=[a-zA-Z0-9]
[[:space:]]=空白字符
[[:punct:]]=符号
[^a-z] 除了a-z之外的
命令补全,路径补全
内部命令:shell自带
外部命令:位于某路径下有与命令相同的可执行程序
hash:运行过的命令都存储到哈希表中,再次运行直接调用。-r清空,-d移除某个命令缓存
命令历史
先缓存到内存中,正常注销保存到.bash_history
histoty查看历史命令
$HISTSIZE
$HISTFILE
$HISTFILESIZE
$HISTCONTROL ignorespace ignoredups ignoreboth
!+ n 执行第n条命令
!! 上一条命令
!+ 命令字母 离当前最近的的以命令字母开头的命令
调用上次命令的地址可用:
ESC .
ALT+.
!$
history –c 清空历史命令
-w 保存缓冲历史到磁盘文件
命令行编辑
行首:Ctrl+a
行尾:Ctrl+e(end的意思)
删除至行首:Ctrl+u
删除至行尾:Ctrl+k
清屏: Ctrl+l 命令:clear (cls)
取消:Ctrl+c
命令行展开
管道与重定向
标准输出 stdin
COMMAN > | >> FILE
set –C | +C
>| 强制覆盖
/dev/null 数据装置
/dev/zero 泡泡机
/dev/random 随机数
/dev/urandom 随机数
标准输入 stdout
Command < FILE
COMMAND << EOF
标准错误输出 stderr
COMMAND 2> FILE
COMMAND 2>> FILE
同时重定向
COMMAND > FILE 2>&1
COMMAND &>FILE
管道:
COMMAND1 |COMMAND2|COMMAND3 …
tee
ls /etc/|tee > ls.out
命令别名
alias name=’command’
3.变量类型
字符
数值
整数
浮点(单精度,双精度)
编译性语言(静态语言,强类型)\
面向过程
面向对象
源程序--编译--链接--执行
脚本型语言(动态语言,弱语言):解释执行,依赖解释器
默认为字符型
bash,perl,python,php,ruby
4.bash变量类别
本地变量(局部变量) 变量只有在引用的时候才+$
作用范围仅限当前文件
仅对当前shell有效
‘(单引号):强引用
“(双引号):弱引用
`( 反引号):命令替换 用命令的执行结果替换命令
声明变量 ${变量} 变量引用
-i 整数
-a数组
-x环境变量
-r只读 通常只有注销系通才可释放
撤销变量 unset
环境变量
作用范围是当前shell及子shell
env export
特殊变量
$?程序执行状态的返回值 0代表成功 1-255代表失败
$$ bash的pid
位置变量
5:正则表达式
grep:Global Regular Expression Printing
grep [option] … file
-v :反向匹配、
-i :不区分大小写
-o:只显示匹配的串
-A#:
-B#:
-C#:
-E:扩展的的正则表达式
正则表达式元字符:
。 :匹配任意一个字符
[]:匹配指定范围内的单个字符
[^]:匹配范围外的单个字符
*:匹配前字符0次或任意次 工作在贪婪模式,能长则长
?:匹配前的字符0次或1次
\{m,n\} 精确次数
\{m,\}
\{0,m\}
\{m\}
单词锚定:
\<:锚定词首
\>:铆钉词尾
行锚定:
^:行首锚定 ^root
$:行尾锚定 root$
.* 任意长度任意字符
分组字符,后项引用
\(nn\) \(l..e\).*\1r