• shell 输入和输出


    标准文件描述符:

     1.STDIN(标准输入)

    在使用输入重定向符号( < )时, Linux 会用重定向指定的文件来替换标准输入文件描述符。 它会读取文件并提取数据,就如同它是键盘上键入的。

    2.STDOUT(标准输出)

    标准输出就是终端显示器。 shell 的所有输出(包括shell 中运行的程序和脚本)会被定向到标准输出。

    3.STDERR(标准错误)

    默认情况下,错误消息也会输出到显示器输出中

    重定向错误:

    文件描述符的使用:文件描述符需要紧紧靠在重定向符之前

    例如    1>     2>  ...   等

    1.只重定向错误:

    command  2>  file    将错误信息写入 file中

    例如:由于p1 p2 p3 不在/home文件下,所以无法直接进行访问,需要使用绝对路径。在文件pp1中存放错误信息

    2.重定向错误和数据

    command   1 >  file   2> file1   结果保存到file中,错误信息保存到file1中

     &>  会把所有的输出(数据和错误)发送到同一个位置

    在脚本中重定向输出

    脚本中重定向输出有两种:
    • 临时重定向行输出
    • 永久重定向脚本中的所有命令

    1.临时重定向

    在重定向到文件描述符时,你必须在文件描述符数字之前加一个&

     command  >& 文件描述符

     2.永久重定向

    使用 exec 命令告诉shell在脚本执行期间重定向某个特定文件描述符

     exec  文件描述符 > file

    例子:

     

    两种混合使用的例子:

    脚本输入重定向

    exec 命令允许你将 STDIN 重定向到 Linux 系统上的文件中:exec 0< file

    重定向文件描述符

     

    创建输入文件描述符

     文件描述符6用来保存STDIN的位置,然后脚本将STDIN重定向到一个文件。 read命令的所有输入都来自重定向后的STDIN

     关闭文件描述

     exec 文件描述>&-

     阻止命令输出

    一般将没什么用的数据,通常保存到   /dev/null   上,使其不在显示器上显示。

    mktemp创建临时文件:

     mktemp命令可以在/tmp目录中创建一个唯一的临时文件,shell会创建这个文件,但不用默认的umask值,会将文件的读和写权限分配给文件的属主,并将你设成文件的属主,权限为600

    1.创建本地临时文件

    格式:  mktemp filename.XXX(X个数>=3,X系统会自动填充,使其为唯一的)

    返回相对路径

     

     2./tmp 目录创建临时文件

    格式:mktemp -t  会强制在系统临时目录来创建文件

    返回绝对路径

     

     3.创建临时目录

    格式: mktemp -d  创建一个临时目录(本地)

     tee 记录消息,同时把数据发送到显示器和日志文件

    • tee   filename      把数据覆盖  (配合管道命令使用)
    • tee  -a  filename  追加数据     (配合管道命令使用)

  • 相关阅读:
    小白一键重装官网下载使用方法
    【python】安装python 3.11
    联邦学习模型分类
    【MAPBOX基础功能】18、mapbox添加pbf矢量切片图层
    一看就会的Chromedriver(谷歌浏览器驱动)安装教程
    设置Json序列化时字段的顺序
    uniapp App 端 版本更新检测
    python+requests+pytest+allure自动化框架
    IPython工作原理
    C#使用Selenium WebDriver模拟人工操作网页方法
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/126845236