shell-bash之重定向和管道

重定向

功能:能修改输入输出位置

文件描述符

定义:内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

分类

文件描述符 通道名 描述 默认连接 用途
0 stdin 标准输入 终端 read only
1 stdout 标准输出 终端 write only
2 stderr 标准错误输出 终端 write only
3以上 filename 其他文件 none read and/or write

输出重定向

  1. 标准输出(STDOUT)重定向([1]<)

    • 覆盖式:CMD > FILE
    • 追加式:CMD >> FILE
  2. 标准错误输出(STDERR)重定向(2>)

    • 覆盖式:CMD 2> FILE
    • 追加式:CMD 2>> FILE
  3. 所有输出重定向

    • 方式1:CMD &< FILE

    • 方式2:CMD > FILE 2>&1 || CMD 2> FILE 1>&2

      2>&1: 将标准错误输出重定向到标准输出

      1>&2: 将标准输出重定向到标准错误输出

输入重定向<(举例说明)

  1. 使用cat从test1读取输入,再将输出重定向到test2
    在这里插入图片描述

  2. 可使用<<END来指定输入终止符,
    在这里插入图片描述

管道

功能:通过管道|,可以将一个命令的标准输出成为另一个命令的标准输入
在这里插入图片描述
例子:查找当下与nginx相关的进程[

发布了22 篇原创文章 · 获赞 2 · 访问量 603

猜你喜欢

转载自blog.csdn.net/weixin_42955452/article/details/104385422