banner

生信用Linux教程 Lesson 17 输出重定向

  • Home
  • B站ID:Biomamba-生信基地
Scroll down
TIP

这些是本篇文章的标签,来发现更多感兴趣的内容吧
科研
生信分析
Linux教程
B站ID:Biomamba-生信基地

来源:BV1hT411F7r7

  • 这个部份的内容非常简单,甚至简单到没有完整的命令,但又是十分重要的,在实际使用中频率非常高。
  • 目前为止我们学习的内容,有很大一部份输出结果会直接显示在终端界面上,比如ls命令,无论是命令运行成功返回的结果,还是命令运行失败返回的报错都是如此
  • 而有一些命令的结果不适合(完整地)出现在终端上,比如tree命令,tree命令会递归地展示一个目录下所有的文件,如果在根目录/家目录这种目录下去运行,可能会导致终端一直在滚动,以及系统资源的占用过高,这种情况下我们可能会想把输出的内容写到一个文件夹里,这种时候就可以使用重定向

重定向的符号”>”

1
tree ~/ > tree.txt
  • 在这一行命令中,tree命令的执行结果会被输出到这个文本文件中

重定向符号的妙用:快速把一行文字加到文本文件的结尾

追加语法

  • 使用两个连续的”>”,也就是说”>>”的语法是追加
    1
    echo "想要添加的文字" >> 文本文件
  • 在使用追加命令的时候,如果命令中不存在对应的文本文件,系统会报错,需要手动创建文件

覆盖语法

  • 如果仅使用一个”>”,实现的效果是覆盖,就是把原本的文本文件内容全部删掉,然后输入这条命令下添加的文字
    1
    echo "想要添加的文字" > 文本文件
  • 此外,在这条命令中,如果不存在某个文本文件,系统会自动创建一个

cat命令与输出重定向

关于cat命令的简单介绍

  • 来自chatgpt
  1. 显示文件内容:cat最常见的用途是显示文件内容,可以直接将文本文件的内容输出到终端
    1
    cat 文件路径
  2. 合并多个文件(使用覆盖命令)
    1
    cat 文件1 文件2 > 输出文件
  3. 创建文件:使用cat从终端输入创建一个新的文本文件
  4. 将文件内容追加到另一个文件
    1
    cat 文件1 >> 文件2
  • 这会将文件1的内容追加到文件2的末尾,而不会覆盖文件2中已有的内容。

使用cat命令进行重定向

标准输出与标准错误输出

  • 标准输出:也被称为输出1,就是命令输出了正确的结果
  • 标准错误输出:也被称之为输出2,就是返回了报错,比如permission denied

使用重定向符号输出日志文件的隐藏选项

  • 如果单纯使用”>”进行输出,那输出的只有输入1,也就是标准输入的结果,而错误的信息还是会展现在屏幕上的
  • 其实我们可以理解为,单纯的”>”对应的完整版本应该是”1>“
  • 如果想要只记录标准错误信息,可以使用”2>”
  • 如果想要执行一条命令,但同时记录标准信息和标准错误信息,我们可以在cat命令中输入不止一条参数,比如下面这样
    1
    cat 文本文件1 1> 正确日志 文本文件2 2> 错误日志
  • 如果想要把两种信息输入到一个文件中,可以使用下面这行代码
    1
    cat 文本文件s > 日志 2>&1
  • 或者缩写的形式
    1
    cat 文本文件s &> 日志
Other Articles
Article table of contents TOP
  1. 1. 重定向的符号”>”
    1. 1.1. 重定向符号的妙用:快速把一行文字加到文本文件的结尾
      1. 1.1.1. 追加语法
      2. 1.1.2. 覆盖语法
  2. 2. cat命令与输出重定向
    1. 2.1. 关于cat命令的简单介绍
    2. 2.2. 使用cat命令进行重定向
      1. 2.2.1. 标准输出与标准错误输出
      2. 2.2.2. 使用重定向符号输出日志文件的隐藏选项
Find Something Special?