TIP
这些是本篇文章的标签,来发现更多感兴趣的内容吧
科研
生信分析
Linux教程
B站ID:Biomamba-生信基地
来源:BV1hT411F7r7
- 这个部份的内容非常简单,甚至简单到没有完整的命令,但又是十分重要的,在实际使用中频率非常高。
- 目前为止我们学习的内容,有很大一部份输出结果会直接显示在终端界面上,比如ls命令,无论是命令运行成功返回的结果,还是命令运行失败返回的报错都是如此
- 而有一些命令的结果不适合(完整地)出现在终端上,比如tree命令,tree命令会递归地展示一个目录下所有的文件,如果在根目录/家目录这种目录下去运行,可能会导致终端一直在滚动,以及系统资源的占用过高,这种情况下我们可能会想把输出的内容写到一个文件夹里,这种时候就可以使用重定向
重定向的符号”>”
1 | tree ~/ > tree.txt |
- 在这一行命令中,tree命令的执行结果会被输出到这个文本文件中
重定向符号的妙用:快速把一行文字加到文本文件的结尾
追加语法
- 使用两个连续的”>”,也就是说”>>”的语法是追加
1
echo "想要添加的文字" >> 文本文件
- 在使用追加命令的时候,如果命令中不存在对应的文本文件,系统会报错,需要手动创建文件
覆盖语法
- 如果仅使用一个”>”,实现的效果是覆盖,就是把原本的文本文件内容全部删掉,然后输入这条命令下添加的文字
1
echo "想要添加的文字" > 文本文件
- 此外,在这条命令中,如果不存在某个文本文件,系统会自动创建一个
cat命令与输出重定向
关于cat命令的简单介绍
- 来自chatgpt
- 显示文件内容:cat最常见的用途是显示文件内容,可以直接将文本文件的内容输出到终端
1
cat 文件路径
- 合并多个文件(使用覆盖命令)
1
cat 文件1 文件2 > 输出文件
- 创建文件:使用cat从终端输入创建一个新的文本文件
- 将文件内容追加到另一个文件
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 &> 日志