Shell学习之:输入输出重定向

详细理解:

linux命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名:

文件描述符说明列表

文件 文件描述符
输入文件-标准输入 0(缺省为键盘;0为文件或其他命令的输出)
输出文件-标准输出 1(缺省为屏幕;1为文件)
错误输出文件-标准错误 2(缺省为屏幕;2为文件)

全部可用的命令行列表

命令 说明
command > file 将输出重定向到 file。
command < file 将输入重定向到 file。
command >> file 将输出以追加的方式重定向到 file。
n > file 将文件描述符为 n 的文件重定向到 file。
n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file。
n >& m 将输出文件 m 和 n 合并。
n <& m 将输入文件 m 和 n 合并。
<< tag 将开始标记 tag 和结束标记 tag 之间的内容作为输入。

默认情况下,command > file 将stdout重定向到file,command < file 将stdin 重定向到 file。

  • 如果希望stderr重定向到 file,可以这样写

$ command 2 > file     # 2表示标准错误文件(stderr)
  • 如果希望stderr追加到file文件末尾,可以这样写

$ command 2 >> file    # >>表示追加写入,不覆盖之前的内容

  • 如果希望将stdout和stderr合并后重定向到file,可以这样写

$ command > file 2>&1

$ command >> file 2>&1
  • 如果希望对stdin和stdout 都重定向,可以这样写
$ command < infile > outfile # command命令将stdin重定向到infile,将stdout重定向到outfile

Shell学习之:输入输出重定向

时间: 2024-10-26 09:29:46

Shell学习之:输入输出重定向的相关文章

Mac 命令学习 - 标准输入输出重定向

预备知识 文件描述符( File Descriptor ) 在Unix 系统中文件描述符是用于访问文件.输入输出.管道.网络套接字的一个抽象概念[3].文件描述符是一个非负的正整数,每一个Unix进程中都会有三个与标准流所对应的的POSIX文件描述符,分别为: stdin - 标准输入,提供给应用的标准输入.文件描述符为0. stdout - 标准输出,程序的输出,在非重定向的情况下为终端.文件描述符为1. stderr - 标准错误输出,程序的错误输出.文件描述符为2. 关于文件描述符的详细,

Shell篇之八 输入输出重定向

输出重定向:是指不使用系统提供的标准输入端口来输出,而是重新指定其他来进行输出.例如在终端输入的字符串本来是要输出到终端屏幕上的,但可以将输出指定为其他文件,将输入字符串输出到该文件中,而不再是屏幕上. 输入重定向:是指不使用系统提供的标准输入端口来输入,而是重新指定其他来进行输入.例如本来是通过终端标准输入端口来作为输入,但可以将输入指定为其他文件,将该文件内容输出打印在终端屏幕上. 大多数 Linux 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端.一个命令通常从一个叫标准输入的

Shell基础、输入输出重定向

1.Shell的功能: (1)Shell是命令解释器,把我们写的命令转化为内核能够识别的机器语言,然后内核调用硬件来完成相应的操作.操作完成后,内核操作结果返回给内核,Shell再将机器语言翻译为我们能够看懂的字符. (2)Shell是一种功能强大的脚本语言,易编写.易调试.功能性强,Shell是解释执行的脚本语言,可以直接调用Linux系统的命令. 2.Shell脚本: Shell脚本就是一个包含若干行Shell和Linux命令的文件,通常Shell脚本以   .sh结尾,第一行要指定系统需要

shell ——输入输出重定向

转自http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会默认打开3个文件描

Linux Shell系列教程之(十六) Shell输入输出重定向

本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为大家介绍下Shell输入输出重定向的相关知识. 一.Shell输入输出重定向概述 在了解重定向相关知识之前,我们先来看看Linux的文件描述符. Linux的文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用

8.1 shell 介绍、8.2 命令历史、8.3 命令补全与别名、8.4 通配符、8.5 输入输出重定向

8.1 sehll 介绍 什么是shell shell 是一个命令解释器,提供用户和机器之间交互 支持特定的语法,比如逻辑判断,循环. 每个用户都可以有自己特定的shell. centos7 默认的shell 为bash( Bourne Agin shell ) 还有zsh ,ksh等 8.2 命令历史 /root/.bash_history ;命令历史放置文件 [[email protected] ~]# ls /root/.bash_history/root/.bash_history [[

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 # Linux shell 基础 # 8.1 shell 介绍 - 什么是shell 1. shell 是一个命令解释器,提供用户和机器之间的交互 2. 支持特定语法,比如逻辑判断.循环 3. 每个用户都可以有自己特定的shell 4. CentOS7 默认shell 为bash (Bourne Agin Shell) 5. 还有zsh.ksh等 ``` [[email protected]

实验理解Linux SHELL 输入输出重定向

在shell脚本中发现>/dev/null 2>&1这样的语句,以前没有去深入地理解这个命令的作用,这个命令和 2>&1 >/dev/null有什么区别?通过实验理解这两个命令及shell输入输出重定向的重点. shell重定向介绍 我们一般在使用shell命令的时候,多是通过键盘输入,在屏幕上查看命令的执行结果(包括正常输出与错误输出).如果某些情况下,我们需要将shell命令的执行结果存储到文件中,那么我们就需要使用输入输出的重定向. 文件描述符 当执行shel

[shell]shell输入输出重定向

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据. 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据. 标准错误文件(stderr):stderr的文件描述符为2,