写一个简单的 demo 示例
#include
int main()
{
fprintf(stdout, "stdout output\n");
fprintf(stderr, "stderr output\n");
return ;
}
$gcc test.c -o test
$./test > /dev/null
stderr output
$./test > /dev/null 2>&1
$
对于重定向符号,可以这么理解,简单的
command > /dev/null
此时 > 的前边是省略了 1(标准输出) 的。
2 > &1
意思是将 2(标准错误) 中的数据也重定向到 1(标准输出) 中。
【拓展】
重定向有先后顺序,还是以上边的test示例做实验
$./test 2>&1 1>/dev/null | grep out
stderr output
$./test 1>/dev/null 2>&1 | grep out
stderr output
如示例所示,第一次运行时,依然将输出到标准输出中。
可以这么理解:
文件描述符 输出到的设备
0 /dev/pts/22(ubuntu路径,不同telminal不同)
1 /dev/pts/22
2 /dev/pts/22
...
所谓重定向的意思就是替换后边的输出设备。
2>&1 1>/dev/null 得到的结果为:
文件描述符 输出到的设备
0 /dev/pts/22
1 /dev/null
2 /dev/pts/22
...
1>/dev/null 2>&1 得到的结果为:
文件描述符 输出到的设备
0 /dev/pts/22
1 /dev/null
2 /dev/null
...
Linux Shell编程中的几个特殊符号命令 &; 、&;&; 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
Linux shell命令中expr
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
Linux shell脚本中shift
Linux shell脚本中shift的用法说明 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本). ...
Linux shell脚本中shift的用法说明【转】
本文转载自:http://blog.csdn.net/zhu_xun/article/details/24796235 Linux shell脚本中shift的用法说明 shift命令用于对参数的移动 ...
linux shell脚本中的延时
linux shell脚本中的延时 还是使用 sleep 或usleep函数. 详细如下: .sleep : 默认为秒. sleep 1s 表示延迟一秒 sleep 1m 表示延迟一分钟 ...
Linux Shell 重定向与管道【转帖】
by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...
Linux shell 重定向学习笔记
在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读 ...
Linux Shell 几个特殊符号命令 &; 、&;&; 、 ||
& 放在启动参数后面表示设置此进程为后台进程 默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动 ...
随机推荐
Beta版本冲刺——day6
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 今日计划表 人员 工作 ...
Ubuntu14.04搭建Caffe(仅CPU)
一直以来都没有写博客的习惯,后来发现以前做的工作如果不注意及时整理和记录往往丢失的很快.对我而言这是一篇具有重要意义的文章,好的习惯要持之以恒,以后的日子我会常驻博客园!由于本人水平有限,智商略低,欢 ...
看别人的代码学习的css
multi-threads synchronization use conditional mutex
#include int thread_flag; pthread_cond_t thread_flag_cv; pthread_mutex_t thread_fl ...
apache实现301永久性重定向代码
301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬 ...
对 /dev/shm 认识
一./dev/shm理论 /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建 ramdisk,直接使用/dev/shm/ ...
【转】APK反编译
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
php中urlencode与rawurlencode的区别
前段时间说自己遇到了个的BUG,引起这个bug的原因就是自己在URL中使用了 urlencode 函数,该函数会把空格转换成加号,这样就导致URL解析出错,而空格只有 ...
对窗体操作的WM消息
WM_CREATE 0x0001 应用程序创建一个窗口 WM_DESTROY 0x0002 一个窗口被销毁 WM_MOVE 0x0003 移动一个窗口 WM_SIZE 0x0005 改变一个窗口的大小 ...
python3- __slots__
Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: class Student(object): __slots__ = ('name' ...