zoukankan      html  css  js  c++  java
  • linux shell 呈现数据

    • 输入输出

    在显示器上显示

    重定向到文件中

    标准文件描述符

    0 STDIN 标准输入

    1 STDOUT 标准输出

    2 STDERR 标准错误  重定向错误消息时需要制定文件描述符    ls -al badfile 2> test11111

    ls -al test test123  2> test11 1> test88  讲错误消息重定向到test11  正常的消息重定向到test88

    &> 会把STDERR和STDOUT输出重定向到同一个输出文件,默认会把STDERR放在最前面,方便排错

    • 在脚本中重定向输出

    临时重定向每行输出

    正常运行该脚本两行都显示,因为正常情况下 STDERR和STDOUT都是输出到显示器上的,但是使用输出重定向后就会看出差别,如下所示:

    永久重定向脚本中的所有命令

     exec命令可以在脚本中永久重定向,如下

    exec 1> testout   标准输出重定向

    exec 2> testerror 标准错误重定向

    exec 必须先定义才能处理接下来的输出

    • 在脚本中重定向输入

    exec 0< testfile

    • 创建自己的重定向

    创建输出文件描述符

    exec 3>test13out

    echo "tttt" >&3

    把该行输出到test13out

    重定向文件描述符

    exec 3>&1  将文件描述符3重定向到文件描述符1的位置

    exec 1>testout 将STDOUT重定向到文件

    exec 1>&3 恢复

    创建输入文件描述符

    把标准输入先保存到描述符6,然后把标准输入指定某个文件,完成后,恢复标准输入

    创建读写文件描述符

    同事读取和写入同一个文件

    <>

    关闭文件描述符

    shell脚本退出时会自动关闭创建的文件描述符

    在脚本中需要提前关闭时,需要手动关闭  exec 3>&- 

    列出打开的文件描述符  lsof命令

    阻止命令输出,可以吧输出重定向到  /dev/null这个空文件里面

    创建临时文件 /tmp 目录默认是存放临时文件的,可以使用mktemp创建唯一的临时文件

    mktemp testing.XXXXXX  一定是6个X 这6个X会生产随机数

    mktemp -t test.XXXXXX 会在 /temp 目录下创建一个临时文件

    mktemp -d test.XXXXXX 创建临时目录

    • 记录消息

    tee命令相当于一个T型管道,发给两个目的地,一个目的地是STDOUT,拎一个是tee命令行所指定的文件名,默认是覆盖,如果想要追加的话,需要-a选项

    如图所示

  • 相关阅读:
    关于Update语句在不同数据库中的差别
    MSIL指令速查表
    一个对于博客园的建议
    代码风格关于if语句
    关于Page.cs文件中注释的一点补充
    在Java、C#和C++中遍历集合
    BPEL4WS的开源Java实现
    【Linux】linux固定ip
    【Linux】【MySQL】MySQL主从数据库
    wpf 写个简单的控件吧
  • 原文地址:https://www.cnblogs.com/laiyuan/p/7219297.html
Copyright © 2011-2022 走看看