linux shell 编程 13 重定向
2016-02-04 15:17
447 查看
输出/输入重导向
> >> < << :> &> 2&> 2<>>& >&2
文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件。
常用的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
我们在简单地用<或>时,相当于使用 0< 或 1>(下面会详细介绍)。
* cmd > file
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。
* cmd >> file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。
* cmd < file
使cmd命令从file读入
* cmd << text
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用<<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。
* cmd <<< word
把word(而不是文件word)和後面的换行作为输入提供给cmd。
* cmd <> file
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。
* cmd >| file
功能同>,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用>!实现这一功能。
: > filename 把文件"filename"截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同).
cmd >&n把输出送到文件描述符n
cmd m>&n 把输出 到文件符m的信息重定向到文件描述符n
cmd >&-关闭标准输出
cmd <&n 输入来自文件描述符n
cmd m<&n m来自文件描述各个n
cmd <&-关闭标准输入
cmd <&n-移动输入文件描述符n而非复制它。(需要解释)
cmd >&n-移动输出文件描述符 n而非复制它。(需要解释)
注意: >&实际上复制了文件描述符,这使得cmd > file 2>&1与cmd 2>&1 >file的效果不一样。
> >> < << :> &> 2&> 2<>>& >&2
文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件。
常用的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
我们在简单地用<或>时,相当于使用 0< 或 1>(下面会详细介绍)。
* cmd > file
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。
* cmd >> file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。
* cmd < file
使cmd命令从file读入
* cmd << text
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用<<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。
* cmd <<< word
把word(而不是文件word)和後面的换行作为输入提供给cmd。
* cmd <> file
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。
* cmd >| file
功能同>,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用>!实现这一功能。
: > filename 把文件"filename"截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同).
cmd >&n把输出送到文件描述符n
cmd m>&n 把输出 到文件符m的信息重定向到文件描述符n
cmd >&-关闭标准输出
cmd <&n 输入来自文件描述符n
cmd m<&n m来自文件描述各个n
cmd <&-关闭标准输入
cmd <&n-移动输入文件描述符n而非复制它。(需要解释)
cmd >&n-移动输出文件描述符 n而非复制它。(需要解释)
注意: >&实际上复制了文件描述符,这使得cmd > file 2>&1与cmd 2>&1 >file的效果不一样。
相关文章推荐
- linux shell 编程 12 特殊符号 “&” 以及和他的恩怨
- linux shell 编程11 特殊符号总结:$0 $1 $2 $# $* $@ $! $$ $?
- 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
- 【Linux shell】 Shell编程中的条件判断
- shell检验日期格式
- shell学习
- Powershell 更新 Nagios Windows客户端
- shell之路【第四篇】输入输出重定向
- shell加密工具shc的安装和使用
- Git Shell 基本命令(官网脱水版)
- 分享原创powershell脚本小工具ctracert.ps1
- 常用快捷键及shell基本命令
- HBase笔记 - 常用Shell命令
- shell脚本ssh自动登陆服务器
- Linux---Bash的基本功能
- shell实现一个简单的计算器功能小脚本
- 【Linux Shell脚本攻略之一】find命令:文件查找和文件列表
- JDBC处理器和BeanShell取样器的组合应用
- 读文件名,shell
- Shell脚本中执行sql语句操作mysql