Linux入门基础 #9:管道及重定向
来源:互联网 发布:ubuntu wifi 问号 编辑:程序博客网 时间:2024/06/17 07:01
本文出自 http://blog.csdn.net/shuangde800
---------------------------------------------------------------------------------
不要重复发明轮子
开源文化的核心理念之一就是不要重复发明轮子,很多开源软件都是现有软件,代码和功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大提高了效率和生产率。
管道和重定向
在Linux系统中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到某个复杂功能的目的。
在Linux中,几乎所有命令返回数据都是纯文本的(与因为命令都是运行在CLI下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协作成为可能。
Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。
命令行shell的数据流有以下定义:
名称 说明 编号 默认 stdin 标准输入 0 键盘 stdout 标准输出 1 终端 stderr 标准错误 2 终端
命令通过stdin接收参数或数据,通过stdout输出结果或通过stderr输出错误。
通过管道和重定向我们可以控制CLI的数据流
重定向:
关键字定义例子 >将stdout重定向到文件(覆盖)
echo "hello world" > outfile
ls -l > outfile
>>将stdout重定向到文件(追加) echo "hello world" >> outfile
date >> outfile
2>将stderr重定向到文件(覆盖) ls -l nofile 2> outfile 2>&1将stderr与stdout结合 ls nofile > outfile 2>&1 <重定向stdin grep keyword < /etc/passwd,
在passwd文件中找有关键字keyword的行输出
管道:
|
将一个命令的stdout作为
另一个命令的stdin
ls -l | grep keyword
find / -user shuangde 2 > /dev/null | grep Video
/dev/null 所有输出放到这里都会被自动丢弃,就像垃圾桶一样
管道通常是用来组合不同的命令,以实现一个复杂的功能
重定向通常用来保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定的文件
- Linux入门基础 #9:管道及重定向
- 【Linux 入门笔记】管道及重定向
- linux入门基础——linux多命令协作:管道及重定向
- Linux管道及重定向
- Linux管道及重定向
- 【Linux基础】重定向与管道
- Linux中重定向及管道
- linux重定向及管道使用
- Linux中重定向及管道
- linux中重定向及管道
- Linux中重定向及管道
- linux输入输出重定向及管道
- Linux中重定向及管道
- Linux中重定向及管道
- Linux-管道及IO重定向
- Linux管道、重定向及文本处理
- Linux中>、>>、<、<<重定向及管道命令
- linux的管道及重定向
- Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡
- C#_约束 实现可排序单链表
- linux系统调用实现代码分析
- 在指定的div对象中搜索内容并滚动div的滚动条到搜索到的内容处显示
- WinDBG调试驱动时中断DriverEntry的方法
- Linux入门基础 #9:管道及重定向
- HDOJ 1564
- poj 2778 经典 AC自动机+dp
- UVA 11375 Mathes
- Eclipse报错之://$NON-NLS$
- 构造函数初始化器
- 【PackageManager】Android获取已安装应用信息(图标,名称,版本号,包)
- Linux入门基础 #10:命令行文本处理工具
- IOS详解TableView——性能优化及手工绘制UITableViewCell