【Linux】文件描述符与重定向

重定向符号

符号 描述
> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件
< 输入重定向到一个程序

标准错误重定向符号

符号 描述
2> 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件
2>> 将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1 将一个标准错误输出重定向到标准输出 注释:1 标准输出
>& 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件
|& 将一个标准错误 管道 输送 到另一个命令作为输入

文件描述符

符号 描述
0-stdin 标准输入
1-stdout 标准输出
2-stderr 标准错误

案例

1.将Hello world!存储到文件temp01.txt

[[email protected] test]# echo ‘Hello world!‘ > temp01.txt

2.将Hello China!追加存储到temp01.txt

[[email protected] test]# echo ‘Hello China!‘ > temp01.txt

3.正确的与错误的分开输出

[[email protected] test]# ls -al 1>temp.txt 2>temp.err

4.不论正确与错误都输入到同一个文件

[[email protected] test]# ls -al 1>temp.txt 2>&1

5.正确的输入,错误的输出到空,不保存

[[email protected] test]# ls -al 1>temp.txt 2>/dev/null

原文地址:https://www.cnblogs.com/OliverQin/p/9749706.html

时间: 2024-11-05 13:26:33

【Linux】文件描述符与重定向的相关文章

Linux --- 文件描述符和重定向

1.预备知识 标准输入(stdin).标准输出(stdout)和标准错误(stderr)是编写脚本的时候经常使用的,因为输出的信息可能是上述的一种. 文件描述符 是与打开的某个文件或者数据流相关联的整数.文件描述符0,1,2是系统预留的. 0 - stdin(标准输入) 1 - stdout(标准输出) 2 - stderr(标准错误) 2.实例 echo This is a sample. > temp.txt 可将文本输出到 temp.txt 中,是通过截断文件的方式,也就是说在echo命令

文件描述符与重定向

文件描述符简介:文件描述符在形式上是一个非负整数,每一个文件描述符会与一个打开文件相对应,内核利用文件描述符来访问文件,最广为人知的文件描述符有stdin(标准输入),stdout(标准输出),stderr(标准错误),系统分别事先为它们保留了三个文件描述符0,1,2,我们也可以通过特殊命令给我们的的文件指定文件描述符. 重定向的意思:Linux中,IO重定向是将某一个文件描述符的内容转移到另一个指定的文件描述符中,通常与文件描述符有关. 最常用的我们可以将标准输出的内容重定向到指定文件中.通过

[性能分析]linux文件描述符(转)

1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件.这些文件一般是用一些相关的应用程序创建,比如图像工具.文档工具.归档工具... .... 或 cp工具等.这类文件的删除方式是用rm 命令:2.目录文件在l

Linux 文件描述符问题

昨天解了个bug,关于文件描述符的,这种问题很久之前也遇到过,这次再犯真的不该. 问题是这样的. fopen()打开一个文件,然后做了一些操作,然后函数执行结束...没有调用fclose()导致了,再执行此函数时,系统提示,文件描述符分配完毕. 分析了下: 根据以前的知识储备, 1.linux打开文件描述符的最大个数为1024,根据这次发现, 2.这是针对于单独进程的, 3.是从/proc/{pid}/fd/这个文件夹下可以看到. 4.分配文件描述符是递增的顺序.(看我之前的博客会发现这是那个b

[性能分析]linux文件描述符

1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件.这些文件一般是用一些相关的应用程序创建,比如图像工具.文档工具.归档工具... .... 或 cp工具等.这类文件的删除方式是用rm 命令:2.目录文件在l

文件描述符的重定向

关于文件描述符的重定向,有三种方法,分别为dup(),dup2(),dup3(). 下面即为三种函数的原型,本文主要介绍前两种函数的使用.其中dup()接受一个参数,将旧的文件描述符重定向到新的文件中. 而dup2()接受两个参数,一个为新的文件描述符,另一个为旧的文件描述符.dup3()的原理同dup2(). 下图是三种函数的相关描述: 这些函数的返回值为,成功则返回新的文件描述符,失败返回-1. 进行dup()和dup2()的程序编写,其中注释的为dup()的相关语句. 本程序经过测试是正确

[转帖]linux文件描述符文件/etc/security/limits.conf

linux文件描述符文件/etc/security/limits.conf https://blog.csdn.net/fanren224/article/details/79971359 需要多学习了解一下. 文件描述符是什么?和文件句柄有啥区别? 文件描述符是linux/unix操作系统中特有的概念.相当于windows系统中的文件句柄.一个意思不同叫法. Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件.标准C中每个进程默认打开的有三个文

linux专题一之文件描述符、重定向、管道符、tee命令

本节讨论一下几个问题: 1. 文件描述符. 2. 重定向. 3. 管道符 4. tee的用法. 1. 文件描述符. 在linux系统中一切皆文件.文件夹和设备都是文件.如何用来区别不同的文件呢?这里的区别不是我们在windows下看到的后缀名不同来区别.也不是我们在linux下用ls 命令看到的不同文件的列表.这里的文件描述符主要讨论的是对文件操作的一个标识符.无操作就无标识符.   比如两个进程同时在对同一个文件进行读操作. 如何区分这两个读操作呢?这就需要文件文件描述符来区别了.每一次打开一

shell文件描述符及重定向

文件描述符是与文件输入.输出相关联的整数.它用来跟踪已经打开的文件.最常见的文件描述符是stdin.stdout.stderr.我们甚至可以将某个文件描述的内容重定向到另一个文件描述符中.文件描述符0,1,2是系统预留的: 0----stdin(标准输入) 1----stdout(标准输出) 2----stderr(标准错误) 实例 (一).将输出的文本重定向到一个文件中: [[email protected] shell]# echo "this is a example test"