Linux 下的输入输出和重定向示例
Linux 下的输入输出和重定向示例
作者:Grey
原文地址:
说明
Linux 下的输入输出有如下三种形式
设备 | 设备名 | 文件描述符 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
Linux 的输入重定向符号是 <
;
例如
read var < /path/to/a/file
输出重定向符号有如下几种:>
,>>
,2>
,&>
>
表示清空输入
echo 123 > /path/to/a/file
>>
表示追加输入
echo 123 >> /path/to/a/file
2>
表示错误输入
echo 12343 2> /path/to/a/file
&>
表示全部输入
echo 122 &> /path/to/a/file
示例
以下示例中,/asdfasdfasdf
目录不存在,所以执行ls
会报错
[root@sec ~]# ls ./ /asdfasdfasdf 1>ls01.out
ls: cannot access '/asdfasdfasdf': No such file or directory
[root@sec ~]# cat ls01.out
./:
abc.txt
anaconda-ks.cfg
cat.out
ls01.out
ls.out
由于1
表示标准输出,所以ls01.out
中只记录了非错误的信息,即ls ./
的内容
如果要保存错误信息,可以通过如下方式:
[root@sec ~]# ls ./ /asdfasdfasdf 1>ls01.out 2>ls03.out
[root@sec ~]# cat ls03.out
ls: cannot access '/asdfasdfasdf': No such file or directory
或者这样
[root@sec ~]# ls ./ /asdfasdfasdf 1> ls04.out 2>&1
[root@sec ~]# cat ls04.out
ls: cannot access '/asdfasdfasdf': No such file or directory
./:
a
abc.txt
anaconda-ks.cfg
cat.out
ls01.out
ls02.out
ls03.out
ls04.out
ls.out
如果要丢弃用不着的输出结果,可以使用如下命令:
ls -l /bin/usr 2> /dev/null
Linux 下的输入输出和重定向示例的更多相关文章
- (转)Linux下的输入/输出重定向
Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示 ...
- Linux下的输入/输出重定向
Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示 ...
- LInux下Posix的传统线程示例
简介 Linux线程是需要连接pthreat库,线程的使用比进程更灵活,需要注意的是线程间的互斥,或者说是资源共享问题. C++11之后,C++标准库也引入了线程,并且使用非常方便,以后再介绍,这里先 ...
- Linux 下如何隐藏自己不被发现?
可能在某些情况下,自己运行的程序不想或者不方便被其他人看到,就需要隐藏运行的进程.或者某些攻击者采用了本文介绍的隐藏技术,也可以让大家看到如何进行对抗. 隐藏有两种方法: kernel 层面,不对用户 ...
- Linux学习之输入输出重定向
转自:http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 多谢分享 在了解重定向之前,我们先来看看linux 的文件描述符. ...
- Linux下Shell重定向
1. 标准输入,标准输出与标准错误输出 Linux下系统打开3个文件,标准输入,标准输出,标准错误输出. 标准输入:从键盘输入数据,即从键盘读入数据. 标准输出:把数据输出到终端上. 标准错误输出:把 ...
- linux标准输入输出与重定向
原文:http://blog.sina.com.cn/s/blog_8333cf8f0100vzzl.html##1 1. 标准输入输出和错误 linux下使用标准输入文件stdin和标准输出文 ...
- linux输入输出、重定向、管道
本篇讲述linux系统的输入输出.管道和重定向. 1. liunx的输入输出 一个linux系统要想发挥作用,就要有输入输出,这样才可以与外界交互. 类型 设备文件名 文件描述符 设备名称 说明 备注 ...
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- Linux下执行的java命令重定向到文件中的方法
在Linux下通常会执行如:java -version 的命令, 但是,命令只是打印到了屏幕上不能重定向到文件中或标准输出流中. 此时需要将错误输出流重定向到标准输出流中就可以得到了. 比如:java ...
随机推荐
- 通过 Docker 部署 Redis 6.x 集群
要点步骤总结: # 这里演示使用同一台主机上 # 创建各节点存储路径 mkdir -p /opt/redis/{7000,7001,7002,7003,7004,7005} # 创建各节点配置文件 c ...
- 04_第一个Java程序
HelloWorld D盘下新建一个文件夹Java_work,存放代码 进入Java_work,新建一个Hello.java文件 文件后缀名为.java Hello.java 注意:系统可能没有显示文 ...
- WPF绘制圆形调色盘
本文使用writeableBitmap类和HSB.RGB模式来绘制圆形的调色盘. 开源项目地址:https://github.com/ZhiminWei/Palette RGB为可见光波段三个颜色通道 ...
- Tubian0.43,完善对QQ微信的支持
Sourceforge.net下载:https://sourceforge.net/projects/tubian/ 123网盘下载: https://www.123pan.com/s/XjkKVv- ...
- SpringBoot课程学习(二)
一.断言 (1).@assertTrue,@assertFalse assertTrue与assertFalse用来判断条件是否为true或false,assertTrue表示如果值为true则通过, ...
- 编写HelloWorld并运行
1在任意地方右键点新建 2创建一个文本文档 3修改名字,改为HelloWorld.java 4打开文件扩展名,查看后缀 打开后再去看文件名后缀有没有.txt,如果有的话就不是java文件,把后缀的.t ...
- Rdt2.1 和 Rdt2.2的详细解释
Rdt2.1 和 Rdt2.2的详细解释 目录 Rdt2.1 和 Rdt2.2的详细解释 这俩为啥会出现? 解决之道 Rdt 2.1 Rdt2.2 可靠数据传递中Rdt1.0, Rdt2.0, Rdt ...
- 12.-ORM-条件查询&查询谓词
一.条件查询 filter(条件) 语法:MyModel.objects.filter(属性1=值1,属性2=值2) 作用:返回包含次条件的全部数据集 返回值:QuerySet容器对象,内部存放MyM ...
- C#--对上传的Excel文档的处理
注:ToString对数值字符串的处理 string nID=555; nID.ToString("00000000"); ---00000555 var oFile = Re ...
- Ruoyi表单构建
Ruoyi表单构建通过拖动组件就能自动生成前端代码,很方便,所以本文简单通过上层函数源码来梳理一下大致流程,如有需要再自行仔细一行行分析底层代码. 组件拖动 实现组件拖动功能主要依赖第三方库:VueD ...