一、重定向
1.输出重定向:>
1.写入指定文件
[root@VM-8-8-centos lesson5]# cat file.txt [root@VM-8-8-centos lesson5]# echo "hello world" > file.txt [root@VM-8-8-centos lesson5]# cat file.txt hello world [root@VM-8-8-centos lesson5]# cat file.txt > test.c [root@VM-8-8-centos lesson5]# cat test.c hello world
将 cat file.txt默认到显示器上的内容 显示到了 test.c文件中
2. 覆盖写
[root@VM-8-8-centos lesson5]# cat file.txt hello world [root@VM-8-8-centos lesson5]# echo "you can see you" > file.txt [root@VM-8-8-centos lesson5]# cat file.txt you can see you
file.txt文件的原来内容是 hello world,被变成了 you can see me
将原来的文件内容清空,再重新写
2.追加重定向 :>>
[root@VM-8-8-centos lesson5]# echo "you can see you" > file.txt [root@VM-8-8-centos lesson5]# cat file.txt you can see you [root@VM-8-8-centos lesson5]# echo "you can see me" >> file.txt [root@VM-8-8-centos lesson5]# cat file.txt you can see you you can see me [root@VM-8-8-centos lesson5]# echo "you can see me" >> file.txt [root@VM-8-8-centos lesson5]# cat file.txt you can see you you can see me you can see me
把file.txt文件的内容 you can see me 打印后,
使用 >> 发现会在文件结尾 追加内容。
3.输入重定向:<
1.键盘显示
[root@VM-8-8-centos lesson5]# cat abcdefhgjkl abcdefhgjkl
cat 不跟文件,默认从键盘读到什么就显示什么。
2.文件显示
用 < 变为 从 指定文件中读取数据
```c [root@VM-8-8-centos lesson5]# cat < file.txt you can see you you can see me you can see me [root@VM-8-8-centos lesson5]# cat file.txt you can see you you can see me you can see me
cat < file.txt 与 cat file.txt等价
cat < file.txt :从fille.txt文件中读取数据
4.重定向的一些认知误区
1. test.c只显示错误的
find /home -name test.c > msg.c
寻找 主目录中的 test.c文件 并重定向到 msg .c文件中发现只能显示出权限不够而不能访问的
即错误的
2. msg.c只显示正确的
打印
cat msg.c
文件 只显示正确的
结论:显示器输出的信息中,有正确的,也有错误的,
只把正确的进行了重定向
3.分析
标准输出 和 标准错误输出 都是在显示器上打印,是两个不同的文件,
所以 >只重定向 标准输出
find /home -name test.c > msg.c
默认重定向 是 find /home -name test.c 1> msg.c
只不过把代码是1省略了 ,而代码1对应标准输出
4.显示出正确的
find /home -name test.c 2> msg.c
这里就代表将代码为2重定向到 msg.c文件,代码2代表标准输出
此时 test.c只显示正确的
二 、xshell命令及原理
1.过程
用户并不是直接访问操作系统,而是通过外壳程序
外壳程序通过指令的方式收到,外壳程序把收到的指令传递给操作系统 操作系统进行处理,执行完后 再通过shell 返回给用户
2. xshell的意义
意义1
假设你叫张三,你找到了一份很好的工作,你的村长父亲非常高兴,可如今还没有女朋友, 你的村长父亲问你有没有相中的,你说你喜欢邻居如花,但是 不善于直接跟如花打交道,不敢向她表达心意,你的村长父亲说,咱们村东头有个非常有名的媒婆叫王婆,
找王婆帮你传递信息,王婆来了后,问你喜欢相中谁,你一口确定就相中了如花,
于是王婆就找到了如花,说你长的挺精神的,并且还有一份不错的工作,让如花考虑一下,如花
却拒绝了来自王婆的说媒,王婆回来跟你说,如花没有相中你。
用户把自己的需求给外壳,外壳对于需求加工处理 交给操作系统操作系统对指令进行执行,执行完毕禁止访问,把结果反馈给外壳,
外壳再将结果反馈给用户
帮忙进行命令行的传递和返回结果
意义2
王婆跟你说如花没有相中你后,你依旧没有放弃,想要王婆再尝试下,王婆说不过你,更碍于你的村长父亲,王婆只能再次前去如花家,但是还没等进去就看见了
如花和李四在一在牵手看电视,甚至双方的父母都在傍边,两人应该到了谈婚论嫁的地步了,
王婆只好返回,并跟你说,如花不可能相中你了,还是而打消这个念头吧
用户给外壳的要求不可能执行到,外壳直接就给拦截了,不会把非法请求传递给操作系统
保护操作系统