在Linux系统中,重定向是命令行操作中一项强大且常用的功能,它允许用户灵活地控制命令的输入和输出流。通过重定向,命令的输出可以保存到文件中,错误信息可以单独处理,或者从文件中读取输入。本文将详细介绍Linux中的常见重定向操作符。
什么是重定向?
在Linux中,命令通常通过标准输入(stdin)接收数据,产生标准输出(stdout)和标准错误(stderr)。这些输入输出流默认与终端关联,但通过重定向操作符,可以将这些流重新导向文件或其他位置。Linux使用文件描述符来表示这些流:
0:标准输入(stdin)
1:标准输出(stdout)
2:标准错误(stderr)
重定向操作符允许用户改变这些流的默认行为,例如将输出保存到文件或从文件中读取输入。
重定向符使用案例:
# 将当前路径下所有文件名保存到一个文本文件中
ls ./ > filename.txt

# 创建简单文件
echo "DATABASE_HOST=localhost"> config.env

# 在 config.env 后追加新的内容
echo "Information addition" >>config.env
# 尝试列出不存在的目录/nonexistent,错误信息写入error.txt,标准输出仍显示在终端。
ls /nonexistent 2> error.txt

# 尝试列出两个不存在的目录,错误信息依次追加到error.txt
ls /not_exist1 /not_exist2 2>>error.txt
