重定向

Linux数据流详解
本文详细介绍了Linux系统中的数据流概念,包括标准输入、标准输出、标准错误及其重定向方法,并展示了如何通过重定向来实现文件操作及屏幕输入的实用案例。
参考链接:

1.http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html
2. http://www.cnblogs.com/lovemo1314/archive/2011/07/13/2105472.html
3. https://blog.youkuaiyun.com/zongshi1992/article/details/71693045

linux的数据流包括:

模式代表符方式
标准输入0<
标准输出1>,>>
标准错误22>

标准输出重定向

ls > file.txt

  • 标准输出重定向到一个文件,先清空文件;
  • 默认前面加1,ls 1> file.txt

> aa.txt

  • 创造一个不存在的文件;
  • 清空一个已经存在的文件;

ls >> file.txt

  • 追加标准输出到文件,不清空文件;

标准错误重定向

sl 2> err.txt

  • 将标准输出重定向到文件中;

将标准错误重定向到标准输出

sl > err.txt 2>&1

  • 将标准错误重定向到标注输出,最终重定向err.txt文件
    sl &> err.txt
  • 和上一条命令相同的效果

丢弃输出内容

ls > /dev/null

  • /dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;

输入重定向

cat < awk.txt

  • 将文件内容作为输入重定向到屏幕

wc -l < file.txt

  • 统计文件行数,将file.txt文件作为wc -l 命令的输入;
  • wc -l 统计行数; -w 统计单词数; -c 统计字节数;

cat > bb.txt < file.txt

  • 将file.txt文件的内容,复制到文件bb.txt中;
  • cat file.txt 获得输入数据,然后输出给文件bb.txt
[dps@ccod131 bak]$ cat >> test_eof.txt << eof
> 吃
> 喝
> 玩
> 乐
> eof
[dps@ccod131 bak]$ cat test_eof.txt 
吃
喝
玩
乐
[dps@ccod131 bak]$ cat >>  test_zhangaj.txt << zhangaj
> 
> jjt
> ty
> zhangaj
[dps@ccod131 bak]$ cat test_zhangaj.txt 

jjt
ty

# 在脚本中使用
[dps@ccod131 bak]$ cat eof.sh 
#!/bin/bash

cat >> test11.txt << eof
2018.11.21
2018.11.22
eof

[dps@ccod131 bak]$ bash eof.sh 
[dps@ccod131 bak]$ cat test11.txt 
2018.11.21
2018.11.22

# 另一种形式
cat << EOF >test.sh
  • 定义一个结束标识符,可以是eof,zhangaj,或其他的;
  • 将屏幕中的输入追加到文件中(在脚本中同样可以使用);
  • EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
    EOF一般会配合cat能够多行文本输出.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值