1.重定向:
echo "ABCD" > temp.txt
将ABCD写入到temp.txt中
echo "ABCD" >> temp.txt
讲ABCD追加到temp.txt中
其中
> 相当于 1>
>>相当于 1>>
1为文件描述符,
文件描述符是与一个打开的文件或者数据流相关联的一个整数。
且系统预留了文件文件描述符如下:
0 ---- stdin(标准输入)
1 ---- stdout(标准输出)
2 ---- stderr(标准错误)
如何区分 stdout 与stderr:
当一个命令成功完成后,会返回数字0,此时的输出为stdout; 而一个命令命令发生错误并退出时,它会返回一个非0的退出状态,此时的输出为stderr。
命令的退出状态查询可以通过命令
echo $?
进行查询。
我们在使用重定向时会发现一个问题,输出被重定向到文件后,在终端就看不到打印了。
如何既重定向又同时终端打印呢??
这个时候就用到命令
tee
了。
echo "ABCD" | tee temp.txt
将输出内容"ABCD"重定向到 temp.txt同时在终端打印输出
echo "ABCD" | tee temp.txt temp02.txt
将输出内容"ABCD"同时重定向到 temp.txt 和 temp02.txt 并且在终端打印输出
echo "ABCD" | tee -a temp.txt
将输出内容"ABCD"重定向追加到 temp.txt同时在终端打印输出
本来该结束了,
但是感觉cat命令的 -n 参数挺有用,
用于输出添加行号。
在此备忘一下。
注:内容多参照 《Linux Shell 脚步攻略》。 算学习笔记了。跟大家分享一下。
写的有不妥的地方,还望多多指正!
每天进步一点点!!!