linux重定向

在Linux里,任何东西都是一个文件。

eg. ls 是把结果输出到一个特殊的文件称为standard output (stdout),错误结果到standard error (stderr)。标准输入和标准错误都链接到屏幕,不保存到磁盘。
> 保存输出结果到文件。
若输出结果不存在,则> 导出空文件。 程序不把它 的错误信息输送到标准输出。 而,像许多写得不错的 程序, 把错误信息送到标准错 误。因为我们只是重定向了标准输出,而没有重定向标准错误,所以错误信息被送到屏幕。
[me@linuxbox ~]$ >output.txt可以输出或创建一个空文件。

若重定向结果追加到文件内容之后
[me@linuxbox ~]$ >> output.txt

重定向标准错误缺乏专用的重定向操作符,用2:
[me@linuxbox ~]$ ls -l /bin/usr 2> error.txt

重定向标准输入和错误到一个文件
[me@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1
该过程完成2个重定向,首先是标准输出到ls-output.txt,然后是重定向文件描述符2(标准错误)到文件描述符1(标准输出),使用方法2>&1。

处理不需要的输出
[me@linuxbox ~]$ls -l /bin/usr 2> /dev/null
/dev/null 是系统设备,叫位储存桶,可接受输入,并且对输入不做任何处理。

cat 连接文件
[me@linuxbox ~]$ cat > temp.txt
asdfa
wfew
fwe

Ctrl-d结束文本输入。

[me@linuxbox ~]$ cat temp.txt
asdfa
wfew
fwe
管道线

从标准输入读数据,把数据输送到标准输出。
command1 | command2

head/ tail

tail -f 允许实时浏览文件。tail会继续监测这个文件,有新内容添加后,会立即出现在屏幕上。直到Ctrl-C结束。

[me@linuxbox ~]$ tail -f /var/log/messages
tee 从Stdin读取数据,并同时输出到Stdout和文件

tee从标准输入读数据,同时赋值数据到标准输出(允许数据继续随着管道线流动)和一个或多个文件。

[me@linuxbox ~]$ ls /usr/bin | tee ls.txt|grep zip

参考《the linux learning command》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值