重定向
1.重定向
Linux系统中默认标准输入是键盘,标准输出和标准错误输出都是屏幕。
大白话就是,对Linux系统常见的操作都是键盘输入命令,而执行的结果显示到屏幕上。
但是,其实输出不一定要显示到屏幕上,也可以把Linux命令的执行结果输出到一个文件中,这里就可以用到重定向。Linux命令由文件输入,而不是键盘也叫重定向,不过用的比较少。
2.重定向有什么用?
1.有些命令执行结果你可能要利用某一部分,把执行结果放在文件里面,你就可以自由编辑取用。
2.有时候输出的执行结果不止一个屏幕(使用虚拟机的同学常常遇到),你可能只看到了其中一部分,这时候为了看到全部的内容 你就可以把执行结果放到文件里面,然后你就可以查阅全部内容。
3.实例
不理解下面命令的内容没有关系,其实就是我要把一个目标文件的内容反汇编,总之执行结果输出不止一个屏幕 。
结果如下:
其实箭头上面还有内容,可是屏幕上只显示了最后一页的内容,::>_<::,我想看到没有看到的内容怎么办?
这时候就可以利用重定位命令把执行结果导入一个文件里面就可以啦~
原来的命令: objdump -s -d SimpleSection.o
重定为的命令:objdump -s -d SimpleSection.o > filename
注意,这里面的filename可以是已经存在的文件,也可以是不存在的文件,不存在就会创建一个新文件并把执行结果放到里面。
下面可以看一下:
我现在已经把执行结果导入了一个叫filename.txt的文件里面,这个文件之前并不存在,我用ls -al命令查看当前目录下的
文件发现了filename.txt。然后我可以打开filename.txt这个文件就可以看到执行结果的全部内容啦~
输入 nano filename.txt可以看到:
4.补充
根据输出效果的不同,与输出相关的重定向可以划分为三种。
- 输出重定向
把执行结果中正确的输出导入文件中,用法参考上面的里例子 :> filename
- 附加输出重定向
附加输出重定向的功能与输出重定向基本相同,两者不同之处在于:附加输出重定向将输出内容追加到原有的内容之后,而不会覆盖原有内容。只需要把命令改成:>> filename
- 错误输出重定向
把执行结果中错误的内容导入文件中,命令改成:2> filename