bash数据流重定向与管道
来源:互联网 发布:腾讯代理绝地求生优化 编辑:程序博客网 时间:2024/06/11 19:03
bash (Bourne-Again SHell) 是当前众多Linux系统的默认shell,拥有强大的功能,便于人们操纵使用Linux系统。
bash中使用的一些特殊符号有:
1. 输出重定向
举例说明:
#屏幕本应该显示的标准输出(stdout)内容重定向转存到test.txt文件中#如果test.txt文件已存在,则覆盖$ ls -al ~ > ~/test.txt#屏幕本应该显示的标准输出内容重定向转存到test.txt文件中 (数据累加而不覆盖)$ ls -al ~ >> ~/test.txt#将标准输出内容重定向到test.txt中,标准错误输出则重定向到test2.txt中,均为累加方式而非覆盖$ ls -al /test/ >> ~/test.txt 2>> ~/test2.txt#将标准输出内容与标准错误输出内容均重定向至test.txt中,累加方式$ find /home/ -name "test.txt" &>> ~/test.txt #正确写法$ find /home/ -name "test.txt" >> ~/test.txt 2>>&1 #正确写法$ find /home/ -name "test.txt" >> ~/test.txt 2>> ~/test.txt #错误写法#将标准错误输出内容丢弃,只在屏幕上显示标准输出内容$ find /home/ -name "test.txt" 2> /dev/null
2. 输入重定向
<的作用:用文本文件内容或设备来源代替键盘输入
<<的作用:结束输入 (不常用)
举例说明:
#创建一个文本文件test3.txt,内容为 /home/lsy/,以 end 为结束输入$ cat > test3.txt << "end"> /home/lsy/> end 在此处按下回车$ 查看当前目录下,存在test3.txt文件#下面这条命令的执行效果同 ls -al /home/lsy/$ ls -al < test3.txt
3. 管道
管道|用于连接两个命令,即以“|”左边命令的标准输出,作为右边命令的标准输入,如下所示:
command1 | command2 | command3stdout1 => stdin2 stdout2 => stdin3
管道命令只会处理标准输出,而对于标准错误输出则会忽略。而且,管道右边的命令,必需能够接收标准输入,如less、more、grep、cut等命令,而ls、cp、mv等命令不能接收标准输入,因而不能放在管道右边。
举个例子:
rpm -qa --last | less #用less来查看显示结果
4. 双向重定向
命令tee可以截获标准输出 (不能截获标准错误输出),传给一个文件或设备,同时保留作为标准输出继续交给下一步处理。用法如下:
tee [-a] file/device-a : 以累加的方式,将数据流加入file中#将 ls -al 的执行结果以累加方式保存至test.txt中,并显示在屏幕上$ ls -al | tee -a test.txt#将 ls -al 的执行结果以累加方式保存至test.txt中,并显示在屏幕上(用less命令查看)$ ls -al | tee -a test.txt | less#将 ls -al 的执行结果分别保存至test.txt、test2.txt中,均以累加方式写入$ ls -al | tee -a test.txt >> test2.txt
0 0
- bash数据流重定向与管道
- 数据流重定向与管道命令
- Linux学习——数据流重定向与管道
- linux Bash Shell IO重定向与管道
- linux数据流重定向和管道
- 数据流重定向和管道命令
- 重定向与管道
- 重定向 与 管道
- 管道与重定向
- 重定向与管道
- 管道与重定向
- Linux学习-Bash数据流重定向
- DOS重定向与管道
- DOS重定向与管道
- Linux管道与重定向
- DOS管道与重定向
- DOS重定向与管道
- shell 管道与重定向
- 归并排序
- eclipse的maven项目导入第三方jar包到pom.xml的方法
- JUnit使用(二)
- PHP调试的时候遇到Warning: session_start() [function.session-
- 理解Java内存模型
- bash数据流重定向与管道
- Android 在 Eclipse 项目中使用 Leakcanary 内存泄露检测
- Java内存管理:深入Java内存区域
- Gradle 1.12用户指南翻译——第五十九章. 组织构建逻辑
- 预习数组与指针
- [Azure]Azure虚拟机扩展的介绍和使用
- 标准表达式-Thymeleaf常见用法(二)
- C语言数组指针
- C# Winform 窗体美化(九、嵌入窗体)