shell文件描述符和重定向
1.文件描述符是与一个打开的文件或数据流相关联的整数。文件描述符0,1,2是系统预留的。
- 0 --------stdin(标准输入)
- 1 --------stdout(标准输出)
- 2---------stderr(标准错误)
2.输出重定向
常见的有> 、>>、2>&1、&>
>操作符用于截断(w)模式的文件写入(如果文件目标文件包含文件按,就先截断,即清空后再写入
>>操作符用于追加模式(a)的文件按写入(新的数据会被添加到 目标文件的末尾,原有的文件内容保留)
>和>>使用标注输出,所以>等同于1>, >>等同于1>>,如果需要使用特定的文件描述符,就需要将描述符至于操作符之前
1>&2 意思是把标准输出重定向到标准错误.
2>&1 意思是把标准错误输出重定向到标准输出。
&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中
[hupeng@hupeng-vm shell]$touch .txt
[hupeng@hupeng-vm shell]$ls .txt #默认情况下,正常输出信息和错误信息直接在终端上显示
.txt
[hupeng@hupeng-vm shell]$ls .txt .txt
ls: cannot access .txt: No such file or directory
.txt
[hupeng@hupeng-vm shell]$ls .txt .txt > stdout.txt #将正确输出重定向到stdout.txt中,错误信息还是直接在终端输出
ls: cannot access .txt: No such file or directory
[hupeng@hupeng-vm shell]$cat stdout.txt
.txt
[hupeng@hupeng-vm shell]$ls .txt .txt > stdout.txt >stderr.txt #将错误信息输出到stderr.txt
[hupeng@hupeng-vm shell]$cat stdout.txt
.txt
[hupeng@hupeng-vm shell]$cat stderr.txt
ls: cannot access .txt: No such file or directory
[hupeng@hupeng-vm shell]$#使用2>&1标准输出和标注出错输出到同一个文件
[hupeng@hupeng-vm shell]$ls .txt .txt >out.txt >& #注意是&,不是1!!! &1表示文件描述符1,即标准输出 将标准输出重定向到了out.txt,而将标准出错重定向到了标准输出
[hupeng@hupeng-vm shell]$cat out.txt
ls: cannot access .txt: No such file or directory
.txt
[hupeng@hupeng-vm shell]$ls .txt .txt >out.txt > #这里的1是普通文件名
[hupeng@hupeng-vm shell]$cat out.txt
.txt
[hupeng@hupeng-vm shell]$cat #1是普通文件名
ls: cannot access .txt: No such file or directory
[hupeng@hupeng-vm shell]$rm out.txt
[hupeng@hupeng-vm shell]$ls .txt .txt &>out.txt #使用&> 将stout和stderrr都重定向到了指定文件
[hupeng@hupeng-vm shell]$cat out.txt
ls: cannot access .txt: No such file or directory
.txt
[hupeng@hupeng-vm shell]$#关于>和>>
[hupeng@hupeng-vm shell]$echo "test 1" > out.txt
[hupeng@hupeng-vm shell]$cat out.txt
test
[hupeng@hupeng-vm shell]$echo "test 2" > out.txt
[hupeng@hupeng-vm shell]$cat out.txt
test
[hupeng@hupeng-vm shell]$echo "test 3" >> out.txt
[hupeng@hupeng-vm shell]$cat out.txt
test
test
[hupeng@hupeng-vm shell]$echo "test 4" >> out.txt
[hupeng@hupeng-vm shell]$cat out.txt
test
test
test
shell文件描述符和重定向的更多相关文章
- 玩转Linux文件描述符和重定向
本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...
- Linux文件描述符与重定向
文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 当Linux启动的时候会默认打开三个文件描述符,分别是: 标 ...
- Linux Shell 文件描述符 及 stdin stdout stderr 重定向
Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...
- linux专题一之文件描述符、重定向、管道符、tee命令
本节讨论一下几个问题: 1. 文件描述符. 2. 重定向. 3. 管道符 4. tee的用法. 1. 文件描述符. 在linux系统中一切皆文件.文件夹和设备都是文件.如何用来区别不同的文件呢?这里的 ...
- shell 文件描述符
/tmp/test.sh > /tmp/test.log 2>&1 这个命令的意思是 前半部分是将shell的输出重定向到/tmp/test/log.默认是标准输出(stdout文 ...
- Linux 文件描述符和重定向
200 ? "200px" : this.width)!important;} --> 介绍 文件描述符是与文件输入.输出相关联的整数,在编写脚本时会经常使用标准的文件描述符 ...
- 【Linux】文件描述符与重定向
重定向符号 符号 描述 > 输出重定向到一个文件或设备 覆盖原来的文件 >! 输出重定向到一个文件或设备 强制覆盖原来的文件 >> 输出重定向到一个文件或设备 追加原来的文件 ...
- Shell重定向文件描述符
#!/bin/bash 最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的.废话少说,linux中使用文件描述符来标识每个文件对象.文件描述符为一个非负整数,可以唯一标识会话中打开 ...
- 18 shell 重定向以及文件描述符
1.对重定向的理解 2.硬件设备和文件描述符 文件描述符到底是什么 3.Linux Shell 输出重定向 4.Linux Shell 输入重定向 5.结合Linux文件描述符谈重定向 6.Shell ...
随机推荐
- python绝对路径相对路径函数
绝对路径 os.path.abspath("文件名") 参数可为“”即当前路径 相对路径 os.path.dirname("文件名") 参数可为“”即当前 ...
- Python语言规范
Lint 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dynamic)语言, 这些bug ...
- hdu2204 Eddy's爱好 打表+容斥原理
Ignatius 喜欢收集蝴蝶标本和邮票,但是Eddy的爱好很特别,他对数字比较感兴趣,他曾经一度沉迷于素数,而现在他对于一些新的特殊数比较有兴趣.这些特殊数是这样的:这些数都能表示成M^K,M和K是 ...
- JQuery城市选择
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- skipper backend 负载均衡配置
skipper 对于后端是支持负载均衡处理的,支持官方文档并没有提供,实际使用中,这个还是比较重要的 同时支持健康检查. 格式 hello_lb_group: Path("/foo" ...
- JSON数据的优化
JSON数据的可以优化吗?肯定可以,之前都是使用XML,但之后用XML越来越少了,就是因为XML包含的冗余信息太多了.那么JSON数据有没有冗余呢? 肯定有,名称就是重复的!! 例如如下的JSON数据 ...
- PowerDesigner学习 ---- 系列文章
一.PowerDesigner概述(系统分析与建模) 二.项目和框架矩阵 三.企业架构模型 四.业务处理模型 五.概念数据模型(CDM生成LDM,PDM和OOM) 六.物理数据模型(PDM逆向工程) ...
- Spring技术内幕总结 - AOP概述
AOP是Aspect-Oriented Programming(面向方面/切面编程)的简称.Aspect是一种新的模块化机制,用来描述分散在对象.类或函数中的横切关注点.分离关注点使解决特定领域问题的 ...
- oracle之 单实例监听修改端口
Oracle 单一主机多个实例多个监听器配置要点 1. 一台服务器主机, 有多个实例, 如: TSDB/ORCL; 又需要配置多个监听器 2. 需要指定不同的LISTENER端口 3.pmon ...
- 使用 localeCompare 函数对中文进行排序
localeCompare 函数可对中文进行排序. 性能相关 当比较大量字符串时, 比如比较大量数组时, 最好创建一个Intl.Collator 对象并使用compare 属性所提供的函数. mdn介 ...