Shell 环境中的输入输出重定向

Linux Shell 环境中的输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误。

1.重定向标准输出到文件:

cat fo > foo.txt

2.重定向标准错误到文件

cat fo 2> foo.txt

3.重定向标准输出到标准错误

cat fo 1>&2

4.重定向标准错误到标准输出

cat fo 2>&1

5.重定向标准输出,标准错误到同一个文件

cat fo > fo.txt 2>&1或cat foo &> foo.txt

这里第个顺序很重要,先把标准输出重定向到文件,再把标准错误输出到标准输出,因为标准输出已经重定向到文件,所以标准错误与重定向到文件。

>&与&>效果相同

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以前经常看到 & 1, &2这样的符号,但是不知道是什么意思。

系统中有12个文件描述符,0,1,2是标准输入,输出和错误。可以任意使用文件描述符3到9

文件 文件描述符
输入文件——标准输入 0
输出文件——标准输出 1
错误输出文件——标准错误 2

标准输入:0

缺省是键盘输入,也可以是文件或其他命令的输出

标准输出:1

缺省是输出到终端,也可以输出到文件

标准错误:2

命令错误信息的输出,缺省输出到终端,也可以输出到文件

如果没有特别指定文件描述符,命令将使用缺省的文件描述符,键盘输出,终端输出

在输入一个cmd后,如果没有指定标准输出或错误输出,那么会将所有的输出都显示在屏幕上,

如果命令为:cmd > result.out 该命令等价为 cmd 1>result.out,会将标准输出重定向到result.out文件中,错误输出显示在屏幕上;

如果命令为:cmd 2>result.out ,会将错误输出重定向到result.out文件,标准输出显示在屏幕上;

如果命令为:cmd >result.out 2>&1,会将标准输出和错误输出都重定向到result.out文件,屏幕上不会有输出。

时间: 2024-10-10 10:36:12

Shell 环境中的输入输出重定向的相关文章

[Shell]Shell基本功能:输入输出重定向

/*----------------------------------------------------------------------------------------------- @黑眼诗人 <www.chenwei.ws> -----------------------------------------------------------------------------------------------*/ 输入输出重定向的作用: 输出重定向就是把命令的执行结果保存到

在没有RedirectAttributes的环境中如何在重定向环境中报错错误提示信息供页面使用

Spring在无RedirectAttributes的情况下(如Interceptor.filter中)使用Flash scope 今天遇到一个应用场景: 在需要在自定义的Interceptor中判断用户密码是否过期,如果过期,则重定向到修改密码页,强制修改密码,同时给出提示:“您的密码已过期,请修改密码” 判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那

mutt+msmtp实现在shell环境中发送电子邮件

139邮箱收到邮件后会自动下发短信,利用这一功能可以将服务器的异常信息发信到139信箱然后手机端会接到短信提醒,达到方便管理服务器的功能. 为了避免被当做垃圾邮件拦截,提高发送成功率,我们需要安装mutt和msmtp这两个软件,另外还需要一个139邮箱,以及一个发送邮件的163邮箱. 1)下载msmtp wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0

彻底搞懂shell的高级I/O重定向

本文目录: 1.1 文件描述符(file description,fd) 1.2 文件描述符的复制 1.3 重定向顺序很重要:">file 2>&1"和"2>&1 >file" 1.4 改变当前shell环境的重定向目标 1.5 关闭文件描述符 1.6 打开文件 1.7 文件描述符的移动 1.8 经典示例 基本的重定向功能想必都理解.本文对shell环境下的IO重定向稍作深入,相信看完后,能够彻底理解 >file 2&g

9. shell环境

• printenv –打印部分或所有的环境变量 • set –设置 shell 选项• export —导出环境变量,让随后执行的程序知道.• alias –创建命令别名 1.shell环境:shell在shell会话中维护着大量的信息,这些信息称为shell环境 2.shell的基本数据类型? 1)shell变量:由 bash 存放的一很少数据. 2)环境变量:其他的所有数据 也存储了一些可编程数据,命名为别名和shell函数(涉及shell脚本) 一.检查环境变量 set命令可以显示 sh

shell中的输入输出(bash shell 03)

shell中的输入输出标准输入:键盘标准输出:终端显示器>> 追加是换行追加的echo -n 不尾随换行符 -e 启用解释反斜杠的转义功能 -E 禁用解释反斜杠的转义功能(默认) --help 显示此帮助信息并退出 --version 显示版本信息并退出 只用cat图8cat<filename1>filename2 内联输入重定向command<<EOF(标识符)data EOF (标识符) 在脚本中重定向输入输出临时重定向永久重定向1.临时重定向 command>

shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向

shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西--系统内核. 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. Redhat.Centos 默认安装的shell版本是bash,它是sh的增强版. 历史命令 我们执行过的命令Linux都会记录,预设可以记录1000条历史命令.这些命令保存在用户家目录的.bash_h

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

二十三、shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell是系统跟计算机硬件交互使用的中间介质,它只是系统的一个工具.shell和计算机硬件之间还有一层东西--系统内核.若把计算机硬件比作人的躯体,那系统内核就是大脑,shell就是五官.用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. shell是一个命令解释器,提供用户和机器之间的交互. 每个用户都可以有自己特定的shell. centos7默认的shell为bash(Bou