系统相关
首页 > 系统相关> > 【鸟哥 Linux 10.5】数据流重导向

【鸟哥 Linux 10.5】数据流重导向

作者:互联网

【鸟哥 Linux 10.5】数据流重导向

什么是数据流重导向?

使用数据流重导向来分流不同输出

  1. 标准输入(stdin),代码为0,使用<或者<<

  2. 标准输出(stdout),代码为1,使用>或者>>(实际上是1>或者1>>,这里的1可以省略)

  3. 标准错误输出(stderrout),代码为2,使用2>或者2>>

输出重定向的例子

ll / 1>> ~/rootfile # 将ll / 标准输出追加到~/rootfile中
ll / >> ~/rootfile # 将ll / 标准输出追加到~/rootfile中

ll / 2> ~/rootfile # 将ll / 标准错误输出覆盖到~/rootfile中

# 将find /home -name .bashrc 标准输出覆盖到list_right中
# 将find /home -name .bashrc 标准错误输出覆盖到list_error中
find /home -name .bashrc > list_right 2> list_error

# 将多个输出重定向到同一个文件
# 将find / -name .bashrc 标准输出覆盖到list文件中
# 将find / -name .bashrc 标准错误输出重定向到标准输出(1号)中,由于标准输出已经重定向到list中了,所以标准错误输出也会输出到list文件中
find / -name .bashrc 1> list 2>&1

/dev/null黑洞文件

输入的重定向


# 使用cat来快速建立文件
cat > catfile # 执行之后输入需要写入文件的内容,^d结束
DESCRIPTION
       Concatenate FILE(s) to standard output.

       With no FILE, or when FILE is -, read standard input.

#使用文件来快速创建相同内容的文件
cat > catfile < ~/.bashrc
  1. cat的标准输出被重定向到catfile中
  2. cat的标准输入被重定向到~/.bashrc中
  3. 综合来说,cat接收~/.bashrc的文件内容作为输入,并将内容输出到catfile中。

# 通过<<指定文件结束符
cat > catfile << "eof" # 这下不需要^d了,输完所有内容,输入一个eof即可结束

命令执行的逻辑分隔符

指令 说明
cmd1 && cmd2 cmd1执行正确,才执行cmd2
cmd1 | cmd2
cmd1;cmd2 cmd1和cmd2无关联的执行

标签:输出,10.5,重定向,bashrc,list,cat,标准,Linux,鸟哥
来源: https://www.cnblogs.com/LeisureLak/p/16593206.html