美文网首页
Linux常用命令之--重定向

Linux常用命令之--重定向

作者: 逗儿比的日常 | 来源:发表于2020-12-12 14:58 被阅读0次

标准输入、输出以及错误输出

• 标准输入:过滤器的数据来源
标准输入stdin(0):默认是键盘
• 标准输出:过滤器的数据去向。
标准输出stdout (1):默认是终端屏幕
• 标准错误输出 :报错讯息与标准输出走不同的I/O通道
标准错误输出stderr(2):默认是终端屏幕

重定向

标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向
常见的重定向
• 输入重定向
• 输出重定向
• 追加重定向
• 错误输出重定向
• 双重输出重定向

输入重定向

有一些指令需要用户从标准输入(键盘)来输入数据,但某些时候如果让用户手动输入数据的话,将会相当麻烦,这时使用 “<” 来重定向输入源就会很方便
• 例:mail -s “hello” panshouwen@shida-edu.cn < file -s后面接的是右键标题
这个file就是提前写好的一个文件。这样file文件里的内容就是要发的邮件的正文
但是不能这样写👉file > mail -s “hello” [panshouwen@shida-edu.cn]
因为本身file只是一个文件,只输入这个会显示bash:panshouwen:command not found
可以这样👉cat file | mail -s “hello” [panshouwen@shida-edu.cn]
而尖角号后面得是个文件,所以这样写👇也不行
cat file > mail -s “hello” [panshouwen@shida-edu.cn]

输出重定向

大多数的指令在正确执行后都会有一个执行结果显示在标准输出(屏幕终端) 上。用户可以使用 “>” 改变数据输出目标,一般是另存到一个文件中供以后分析,而不再显示屏幕终端上
• 范例:df -h > mydisk
将当前系统的磁盘分区的使用状况保存到mydisk文件中,不让它显示在屏幕上
注意:如果原文件存在并有内容,那么新的执行结果会覆盖原文件内容。如果没有该文件的话会新建这个文件

追加重定向

在上节中提到,使用“>”进行输出重定向,文件的原内容会被覆盖。那么 有没有一个办法不覆盖原文件内容,只是追加在其后呢?使用“>>”,就可以将正确的输出结果追加到一个文件中
例:ls –l >> listfile

错误输出重定向

如果一个指令执行错误时,也会在屏幕上显示错误提示信息。虽然它与标准输出一样都会将结果显示在屏幕上,但它们占用的I/O通道不同。如果要将错误结果重定向到另一个地方则就不能再使用“>”来实现了,得使用 “2>” 将报错讯息重定向
例:ds -h 2> error
也可使用“2>>”将报错讯息追加入一个文件
例:ds -h 2>> error

双重输出重定向

• 如果用户想将正确的输出结果与错误输出结果一次性单独地送到不同的地方可使用下面的双重输出重定向
例:ls -l 2> error > results
LS -a 2>> error >> results
• 如果用户将不管是正确输出还是错误输结果都送到同一个指定的地方则可 使用“&> 或 &>>” 来完成
例:ls -l &> result
LS -l &>> error

输入结束符
用户可以通过cat > file来创建文件并为文件输入内容,输入结束后按下快 捷键“ctrl+d”结束输入

[root@server1 ~]# cat > file
hello every body
this is a test
Ctrl+d

这时cat file,就发现里面的内容就是刚才输入的内容。这里的结束符是ctrl+d(组合键)

使用 << 让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入。
可以选择任意符号作为终结标识符

[root@server1 ~]# cat > file << quit
> hello
> quit

相当于先自己定义了一个结束符,只要内容写完了打上这个结束符编辑就结束了,这里我自定义"quit"为结束符,因此在输入完内容以后输入quit文档就编辑好并保存了,结果如下:


重定向.png

相关文章

  • 2019-05-21

    Linux常用命令 重定向(redirection)------本文介绍的东西,输出重定向概念、输出重定向的符号、...

  • Linux常用命令之--重定向

    标准输入、输出以及错误输出 • 标准输入:过滤器的数据来源标准输入stdin(0):默认是键盘• 标准输出:过滤器...

  • 其他

    Git常用命令mac常用命令Linux 常用命令汇总Linux 常用命令0Linux 常用命令1--ls命令

  • Linux 常用命令汇总

    Linux 常用命令0Linux 常用命令1--ls命令 参考 Linux 常用命令汇总

  • 2018-08-22linux命令操作

    查看日志流程 查看文件常用命令 > 重定向覆盖>> 重定向追加配合 cat grep tail 如cat c...

  • 大数据技术学习路线

    一、大数据技术基础1、linux操作基础 linux系统简介与安装linux常用命令–文件操作linux常用命令–...

  • Linux / Unix示例中的输入输出重定向

    Linux / Unix示例中的输入输出重定向 什么是重定向? 重定向是Linux中的一项功能,因此在执行命令时,...

  • Linux---(1)linux常用命令

    Linux---(1)linux常用命令

  • linux常用命令-- 重定向

    >:重定向覆盖掉原来内容 ls -alh > test.txt >>:重定向不覆盖原来内容(在原来内容上进行追加)...

  • linux重定向

    linux 重定向 的符号有 > >> < <<> >> 是输出重定向< << 是输入重定向0 用来表于标准输入1...

网友评论

      本文标题:Linux常用命令之--重定向

      本文链接:https://www.haomeiwen.com/subject/akhsgktx.html