学习资源来自:www.magedu.com
学习记录过程中难免出现错误,如有发现,还望大神们指出。
示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考。(练习题在附录)
计算机组成:
计算机的五大主要部件:
运算器、控制器: CPU
存储器:RAM
输入设备/输出设备
总线:
地址总线:内存寻址
数据总线:传输数据
控制总结:控制指令
寄存器:CPU暂时存储器
I/O设备:
INPUT设备:数据的来源,鼠标键盘……
OUTPUT设备
系统设定
默认输出设备:标准输出,STDOUT(设备名称), 1(描述符)
默认输入设备:标准输入, STDIN, 0
标准错误输出:STDERR, 2
标准输入:键盘
标准输出和错误输出:显示器
I/O重定向:改变数据输出(输入)来源
输出重定向:
>: 覆盖输出(原有内容会被覆盖)
>>:追加输出(保留原有内容)
示例:
ls /var
ls /var > /tmp/var.out —— 输出到var.out(覆盖)
cat /tmp/var.out
cat /etc/fstab
cat /etc/fstab > /tmp/var.out —— 输出到var.out(覆盖)
cat /tmp/var.out
ls /var
ls /var >> /tmp/var.out— —— 输出到var.out(追加)
cat /tmp/var.out
set -C: 禁止对已经存在文件使用覆盖重定向;
强制覆盖输出,则使用 >|
set +C: 关闭上述功能
示例:
set -C
ls /usr > /tmp/var.out —— 禁止覆盖
set +C
ls /usr > /tmp/var.out —— 允许覆盖
cat /tmp/var.out
set -C
ls /usr >| /tmp/var.out —— 强制覆盖
set +C
重定向错误输出:
2>: 重定向错误输出
2>>: 追加方式输出
示例:
ls /varr > /tmp/var2.out —— 错误信息输出到显示器
ls /varr 2> /tmp/var2.out —— 错误信息输出到var2.out
cat /tmp/var2.out
ls /var 2> /tmp/var2.out —— 输出任在显示器
ls /var > /tmp/var3.out 2> /tmp/err.out
—— 重定向标准输出和错误输出
&>: 重定向标准输出或错误输出至同一个文件
示例:
ls /var6 &> /tmp/var5.out (var6不存在)
cat /tmp/var5.out
ls /var &> /tmp/var5.out
cat /tmp/var5.out
输入重定向:
<:输入重定向
<<:Here Document(在此处生成文档)
示例:
cat
abc
ctr+c(退出)
cat < /etc/fstab
tr ‘a-z‘ ‘A-Z‘
abc
ctr+c(退出)
tr ‘a-z‘ ‘A-Z‘ /etc/fstab —— 无法执行
tr ‘a-z‘ ‘A-Z‘ < /etc/fstab —— 输入重定向
cat << END(结束符)
The first line
The second line.
END(退出)
cat >> /tmp/myfile.txt << EOF
The first linde
The second line.
EOF
cat /tmp/myfile.txt —— 输入的文本被存入文档
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 | ...
示例:
echo "hello, world."
echo "hello, world," | tr ‘a-z‘ ‘A-Z‘
cut -d: -f1 /etc/passwd | sort
cut -d: -f3 /etc/passwd | sort -n
cut -d: -f1 /etc/passwd | sort | tr ‘a-z‘ ‘A-Z‘
只显示文件的行数不显示其它内容:
wc -l /etc/passwd —— 使用管道前
wc -l /etc/passwd | cut -d‘ ‘ -f1
tee:从标准输入读取数据,输出到标准输出并保存至文件
示例:
echo "Hello,World." | tee /tmp/hello.out
cat /tmp/hello.out