shell编程之重定向
标准输入,输出和错误
---------------------------------
文件文件 描述符
---------------------------------
输入文件—标准输入 0
输出文件—标准输出 1
错误输出文件—标准错误 2
1.标准输出和标准错误输出重定向
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
command 2 >> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
其中2>&1表示重定向stderr到stdout. 将错误消息的输出, 发送到与标准输出所指向的地方.
2.标准输入重定向
command < filename >filename2 把command命令以filename文件作为标准输入,以filename2文件作为标准输出
command < filename 把command命令以filename文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到delimiter分界符
例如
[root@localhost shell]# wc<<EOF
> 123
> test 90
> sds
> sdjisjdis
> EOF
4 5 27
3.管道
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。
1.利用一个管道
# rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
.利用多个管道
# cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。
最新文章
- mac 抓包工具charles v3.9.3 安装破解步骤
- 项目中Ajax调用ashx页面中的Function的实战
- 利用Apache Ant编译Hadoop2.6.0-eclipse-plugin
- 足球运动训练心得及经验分析-c语言学习调查
- 【crunch bang】文件管理器-thunar
- 再战map
- IOS DLNA PlatinumKit库的使用
- mobile&;nbsp;web&;nbsp;手机开发
- 学习css3中的动画
- SVG基本形状及样式设置
- Ubuntu Server无线上网
- 记一次SSM项目小结(一)
- ui-router实现返回上一页功能
- Linux安装Elasticsearch
- IP地址和子网划分学习笔记之《IP地址详解》
- MFC RichText 滚动条问题
- hdu 5726 GCD 暴力倍增rmq
- 面试的角度诠释Java工程师(一)
- 癌症免疫细胞治疗知识:CAR-T与TCR-T的区别在哪里?--转载
- Modern Operating System
热门文章
- Discuz X3.2 分区 gid 完美伪静态方法 Apache/Nginx
- php设计模式之单例、多例设计模式
- ContentProvider与ContentResolver使用【转】
- 限制<;input>;输入内容 只允许数字 或者 字母
- MVC MVVM Knockout viewmodel 提交 完整过程,包含序列化 JSON 和 字典模型绑定
- &#39;mysql.column_stats&#39; doesn&#39;t exist and Table &#39;mysql.index_stats&#39; doesn&#39;t exist
- c# 各种排序算法+找第二大的数+句子单词反转
- 零基础学习Linux(三)linux与windows文件共享
- KinectStudio使用教程
- Android BLE API: GATT Notification not received