linux命令之重定向

一.概述

1.重定向列表

类型含义
0表示标准输入(stdin),配合<或<<使用,数据流从右向左
1表示标准输出(stdou),配合>或>>使用,数据流从右向左
2标准错误(stderr),配合>或>>使用,数据流从左向右
0<或<标准输入重定向,清空已有内容,数据文件流向处理的命令
0<<或<<追加输入重定向,追加内容到底部,数据从文件流向处理命令
1>或>标准输出重定向,将内容追加到文件底部,不清空已有内容
2>错误输出重定向,将标准错误内容重定向到文件,文件存在内容则会清空
2>>错误输出追加重定向,将标准错误内容追加到文件底部,不会清空已有的内容

二.输入重定向

1.概念

输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备

符号格式作用
命令<文件将指定文件作为命令的输入设备
命令<<分界符命令把标准输入中读入内容,直到遇到分界符为止
命令 <文件1>文件2将文件1作为命令的输入设备,将执行结果输出到文件2中

2.实例

1.文件输入

[root@localhost ~]# cat  /etc/passwd    #输出passwd文件
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
test1:x:1001:1001::/home/test1:/bin/bash
test2:x:1002:1002::/home/test2:/bin/bash
[root@localhost ~]# cat < /etc/passwd    #将passwd的内容输入给cat,cat输出到屏幕
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
test2:x:1002:1002::/home/test2:/bin/bash
tdm:x:1003:1003::/home/tdm:/bin/bash

2.分界符

[root@localhost ~]# cat << abc    #遇到abc跳出
> 1
> 2
> 3
> abc
1
2
3
[root@localhost ~]# 

3.输入输出一并使用

[root@localhost ~]# cat  < /etc/passwd > test.txt     #将passwd文件作为输入设备给cat,并输出到test.txt文件
[root@localhost ~]# cat test.txt 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
test2:x:1002:1002::/home/test2:/bin/bash
tdm:x:1003:1003::/home/tdm:/bin/bash

三.输出重定向

1.概念

输出重定向就是指不使用linux默认的标准输出设备显示信息,而是指定某个文件做为标准输出设备来存储文件信息

符号格式作用
命令>文件将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件包含数据,会清空原有数据,再写入新数据
命令1>同上
命令2>文件将命令文件执行的错误输出结果重定向到指定的文件中,如果该文件已包含数据,会清空原有数据,在写入新数据。标准错误2不能省略
命令>>文件将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件包含数据,新数据将写入到原有内容的后面
命令1>>文件同上
命令2>>文件将命令文件执行的错误输出结果重定向到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。标准错误2不能省略

2.实例

1.标准输出重定向到文本

[root@localhost ~]# ls
a  b  test.txt
[root@localhost ~]# ls > test.txt     #标准输出到test.txt文件
[root@localhost ~]# ls 1> test.txt     #标准输出到test.txt文件
[root@localhost ~]# cat test.txt     #查看文件的内容
a
b
test.txt

2.标准错误重定向到文本

[root@localhost ~]# abc         #没有该命令
-bash: abc: command not found
[root@localhost ~]# abc 2> test.txt     #将错误信息输出到test.txt文件中
[root@localhost ~]# cat test.txt     #显示内容
-bash: abc: command not found

3.标准输出和标准错误输出并用

[root@localhost ~]# ll  test.txt   abc.txt    #查看文件test.txt文件有,abc.txt没有
ls: cannot access abc.txt: No such file or directory
-rw-r--r--. 1 root root 42 Jun  7 19:09 test.txt
[root@localhost ~]# ll  test.txt   abc.txt  > file1  2>file2    #正确信息输出到file1,错误信息输出到file2
[root@localhost ~]# cat file1
-rw-r--r--. 1 root root 42 Jun  7 19:09 test.txt
[root@localhost ~]# cat file2
ls: cannot access abc.txt: No such file or directory

参考:https://blog.csdn.net/wangzhicheng987/article/details/120971092

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值