|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
计算机五大部件:
运算器,控制器,CPU,存储器,RAM,输入/输出设备
程序,指令和数据:
指令和数据放在存储器
控制器:读取指令,读取需要进行的运算;
运算器:
存储器:
产生
地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令
寄存器:CPU内部的一个暂时存储空间,比如现在要执行加法运算,已经传过来一个加数和加法,但是还没有传过来被加数,因此无法执行计算,此时需要把传过来的加数和加法就放在这里;被加数从RAM读取过来,RAM是非记忆存储器,掉电数据消失
输入设备/输出设备:I/O设备:硬盘,键盘/鼠标都属于
INOPUT设备:键盘,鼠标,硬盘
OUTPUT设备:硬盘,显示器,
系统设定
默认输入设备:标准输入STDIN ,0
默认输出设备:标准输出STDOUT ,1 正常执行结果
标准错误输出:STDERR,2
passwd --stdin
标准输入设备:键盘
标准输出和错误输出:显示器
I/O重定向:
标准输入输出重定向:
Linux:
输出重定向:>
输入重定向:<
eg: ls /var > /tmp/var.out 将执行的输出重定向到/tmp/var.out中去,
cat /etc/fstab > /tmp/var.out 同理,文件会覆盖上一个var.out 文件;(称为覆盖输出)如果想要保留此文件,则可以使用两个>>叫做追加输出
追加输出:>>,如果使用了一个>则会造成致命错误
set:
-C:如果文件内部已经有文件,禁止使用覆盖重定向
+C:文件内部已经有文件,启用覆盖重定向;
如果在不使用set -C改变并且想覆盖重定向,使用>|可以解决;
如果写ls /varr > /tmp/var2.out 如果写错了,不会输出var2.out因为标准输出和错误输出是两回事;
如果想保存错误输出: 则使用2>,2>>一个是覆盖重定向错误输出,一个是追加输出重定向输出;
如果 ls /var 2> /tmp/var2.out :则会输出到显示器,
ls /varr > /tmp/var3.out 2>/tmp/err.out :保存正确输出和错误输出分保存
&>:重定向标准输出和错误输出为同一个文件;ls /var.6 &> /tmp/res.out
&>>:重定向追加标准输出和错误输出为同一个文件
<:输入重定向:
eg tr ‘a-z' 'A-Z' file此时会报错,但是如果将输入重定向到文件,则文件相当于模拟键盘输入,
此时tr 'a-z' 'A-Z' < file 则会将文件内的小写字母变成大写字母;;
<<:Here Document:
此处生成一个文档: eg: cat << END 输入,以END结束,前面所有的内容作为文档输出
cat >> /tmp/myfile.txt << EOF 也可以这样写:cat <<EOF >> /tmp/myfile.md :将输入的文件定向到/myfile.txt 用脚本生成一个文件;
管道:命令也可以使用管道:
命令1 | 命令2 |命令3 ... :将前一个命令的输出当作后一个命令的输入叫做管道;
eg: echo "hello world" | tr 'a-z' 'A-Z' 得到的输出为:HELLO WORLD
eg:“cut -d: -f1 /etc/passwd |sort -n | tr 'a-z' 'A-Z'将文件以冒号第一项以大小分类排序的结果全部大写
eg:ls /var | tr 'a-z' 'A-Z'
所以管道的意思是组合小命令;
tee:
从标准输入读取并且写在标准输出和文件中;
echo 'l' |tee /tmp/hello.out ,结果是tee输出出来的,不是echo输出出来的;
只显示一个文件的行数,不显示多余信息:
wc -l /etc/passwd |cut -d ' ' -f1
|
|