数据流重定向
通俗来讲,本来数据要传到A处,但让它传到B处
标准输入,代码为0,使用
<标准输出,代码为1,使用
>,>>标准错误输出,代码为2,使用
2>,2>>
标准输出
>:以覆盖方式将屏幕输出传到指定文件或设备上>>:以累加方式将屏幕输出传到指定文件或设备上
例子:
[user1@qmmms ~]$ ll > ll_info
[user1@qmmms ~]$ cat ll_info
总用量 684
drwxrwxrwT 2 user1 basic_users 4096 9月 2 17:24 dir_test
-rw------- 1 user1 basic_users 348 9月 12 15:05 doc
-rw-r--r-- 1 user1 basic_users 0 9月 17 10:39 ll_info
-rw-r--r-- 1 user1 basic_users 752 9月 12 16:13 lucas.cpp
-rwxr-xr-x 1 user1 basic_users 8360 9月 2 13:36 sayhi
-rw-r--r-- 1 user1 basic_users 670293 9月 12 10:46 services
drwxrwxrwt 2 root root 4096 9月 4 23:05 tmp标准错误输出
2>:以覆盖方式将屏幕错误输出传到指定文件或设备上2>>:以累加方式将屏幕错误输出传到指定文件或设备上
例子:
组合用法
写入不同文件
输出转化
1>&2:将标准输出转到标准错误输出2>&1:将标准错误输出转到标准输出
例子:
黑洞设备
如果对于某些输出,不想在屏幕上看到,也不想保存到文件,那么可以重定向到/dev/null黑洞设备
例子:
标准输入
<:本来要键盘输入的数据,转而由文件提供
例子:在程序中使用数据文件代替键盘输入
写一个简单加法C++文件(simple_add.cpp)
编辑一个数据文件(data.in)
编译后执行
双向重定向
tee命令可以让其他命令的屏幕输出保留,同时留存一份到文件
格式:
参数:
没有参数,直接覆盖文件
-a:以追加的方式加入数据到文件
例子:
最后更新于