Linux基础(2) 管道符、重定向与环境变量 您所在的位置:网站首页 ug管道命令 Linux基础(2) 管道符、重定向与环境变量

Linux基础(2) 管道符、重定向与环境变量

2023-03-12 08:34| 来源: 网络整理| 查看: 265

重定向分类

标准输入重定向(STDIN,文件描述符为0):把文件导入到命令中。标准输出重定向(STDOUT,文件描述符为1):正常的信息会写入文件,错误的信息打印到屏幕上错误输出重定向(STDERR,文件描述符为2):错误的信息会写入文件,正常的信息打印到屏幕上

标准输出重定向 对于重定向中的标准输出模式,可以省略文件描述符1不写,但错误输出模式的文件描述符2一定要写 eg:ls -l examples.desktop > readme.txt 假设文件examples.desktop存在,则会将该文件的具体信息写入文件readme.txt中,并且文件readme.txt中的数据会被清空。(覆盖写入) eg:echo "This is a file" >> readme.txt 将字符串信息This is a file追加到文件readme.txt中。(追加写入) eg:ls -l xxxxx > readme.txt 假设文件xxxxx不存在,则屏幕会打印信息ls: 无法访问'xxxxx': 没有那个文件或目录 ,并且文件readme.txt 中的内容被清空 eg:ls -l xxxxx >> readme.txt 假设文件xxxxx不存在,则屏幕会打印信息ls: 无法访问'xxxxx': 没有那个文件或目录 ,并且没有内容追加到文件readme.txt 中。

错误输出重定向 特别注意:文件描述符和重定向符之间不能有空格 eg:ls -l examples.desktop 2> readme.txt 假设文件examples.desktop存在,则屏幕中会打印出文件examples.desktop的具体信息,并且文件readme.txt 中的内容被清空 eg:ls -l examples.desktop 2>> readme.txt 假设文件examples.desktop存在,则屏幕中会打印出文件examples.desktop的具体信息,并且没有内容追加到文件readme.txt 中。 eg:ls -l xxxxxx 2> readme.txt 假设文件xxxxxx 不存在,则错误信息会写入文件readme.txt 中,使用cat命令后会显示:ls: 无法访问'xxxxx': 没有那个文件或目录,屏幕不显示内容。 eg:ls -l xxxxxx 2>> readme.txt 假设文件xxxxxx 不存在,则错误信息会追加到文件readme.txt 中。

不区分标准输出和错误输出(正常和错误的信息均会写入文件) eg:

ls -l examples.desktop &> readme.txt ls -l xxxxx &>> readme.txt

使用cat命令后的输出结果为:

-rw-r--r-- 1 lh lh 8980 11月 16 2021 examples.desktop ls: 无法访问'xxxxx': 没有那个文件或目录

输入重定向 eg:wc -l < examples.desktop 把文件examples.desktop导入到命令wc -l,最后输入文件的行数:240 eg:wc -l examples.desktop 标准执行格式,最后输出:240 examples.desktop,即行数+文件名称



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有