Linux学习之重定向

目录

linux中使用
0 代表标准输入 stdin
1 代表标准输出 stdout
2 代表标准错误输出  stderr

输出重定向

1. 输出重定向 (标准输出> 追加输出>> 正确1 错误2)
    1.1 标准正确输出重定向 (>) 如果文件不存在,则创建;如果存在,则替换文件原先已有的内容并且写入新内容
        echo 'abcdefg' > file
        ==
        echo 'abcefg' 1> file
    1.2 追加正确输出重定向 (>>) 如果文件不存在,则创建;如果存在,则在文件最后一行写入新内容
        echo 'abcdefg' >> file
        ==
        echo 'abcdefg' 1>> file
    1.3 标准错误输出重定向
        echo 'abcdefg' 2> file
    1.4 追加错误输出重定向
        echo 'abcdefg' 2>> file
    如果既想让文件有正确的输出,也有错误的输出,怎么办呢?
        echo 'abcdefg' 1>> file 2>> file
        ==
        echo 'abcdefg' &>> file   &>(还有这个)
        echo 'abcdefg' 1>> file 2>&1
        echo 'abcdefg' 2>> file 1>&2
        
        拓展:echdddd 'sfsfsfsdfsdf' &> /dev/null      /dev/null相当于windows的回收站
    PS:当然,对于一条命令同一时刻只会有一个结果,要么正确要么错误。

输入重定向

2. 输入重定向
    例子1:
        echo '1 2 3 4 5' > file
        xargs -n2 < file   file作为xargs的参数,默认以空白字符分隔,以两列显示
        ==
        xargs -n2 0< file
        
        xargs -n4 -d: 0< /etc/passwd   
                  -d指定分隔符
    例子2:
        写入多行数据,用重定向实现
        # cat > abc.txt <<EOF,也可以
        cat >> abc.txt <<EOF
        ...
        ...
        ...
        EOF
        PS: EOF(end of file), EOF可替换成任意字符,只要前后一致即可
    
    例子3:
        脚本中:
        fdisk /dev/sdb <<EOF
        n
        p
        3
        
        +20M
        w
        EOF

	例子4:
	tee
	ctrl + z
	killall -s KILL -I -i -v tee<<EOF
	y
	
	EOF     
	或者
	echo y | killall -s KILL -I -i -v tee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值