1.运算器、控制器、存储器、输入输出(IO)
地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令
寄存器:cpu暂时存储器
2.系统设定
默认输出设备:标准输出,STDOUT,1(描述符)(显示器)
默认输入设备:标准输入,STDIN ,0 (通常是键盘)
标准错误输出:STDERR ,2 (显示器)
I/O重定向:
linux 输出重定向 >
linux 输入重定向 <
set -C 禁止对已经存在文件使用覆盖重定向,,,强制覆盖输出,则使用>|
set + 关闭上述功能
2> 重定向错误输出
2>> 追加错误输出
$>: 重定向标准输出或错误输出至同一个文件
输入重定向
管道:(从一端输入东西,从另一端出来)命令也可以使用管道
命令1 | 命令2 | 命令3 |...前一个命令的输出作为后一个命令的输入
tee: - read from standard input and write to
standard output and files
文本查找的需要:
grep: grep, egrep, fgrep print lines matching a pattern
pattern:文本字符和正则表达式的元字符组合而成的匹配条件。
grep [OPTIONS] PATTERN [FILE...]
[root@good eric ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

正则表达式:
元字符:
. 匹配任意单个字符
[] 匹配范围内的任意单个字符
[^]匹配范围外的任意单个字符
字符集合: [:digit:] ,[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:] 用的时候再用一个[]
匹配次数:
* 匹配其前面的字符任意次
.*任意长度的任意字符
\?匹配其前面的字符1次或者0次
\{m,n\} 匹配前面的字符至少m次,至多n次
位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行
\<或者\b:其后面的任意字符必须作为单词首部出现
\>或者\b:其前面的任意字符必须作为单词尾部出现
分组:
\(\)
\(ab\)*
后向引用:
\1:引用第一个左括号以及与之对应的右括号所包含的内容
\2:引用第二个左括号以及与之对应的右括号所包含的内容
正则表达式:
Basic REGEXP :基本
extendedregexp 扩展
grep :使用基本正则表达式定义的模式来过滤文本的命令
-E 支持扩展的正则表达式
-A n 后面n行也会被显示(After)
-B n 前面n行也会被显示(Before)
-C n 前后n行都会被显示(Context)
扩展正则表达式:
次数匹配:+匹配其前面的字符至少一次
{m,n} 不需要反斜线
分组:() \1 \2
或者:a|b or
C|cat 意思是:C或者cat
egrep 扩展正则
fgrep fast 不支持正则
We only live once, and time just goes by.