zoukankan      html  css  js  c++  java
  • shell编程之——cat /dev/null作用

    本文出自 https://blog.csdn.net/bad_good_man/article/details/49150275

    转载用于学习参考,方便查阅,尊重原创 !

    在学习shell编程的过程中,都会看到这条命令:

    cat /dev/null > messages

    相信初学者很多都很困惑这是什么意思,为什么要这么用,现解释如下,虽然很基础,但是任何高手都是从最基础的东西开始慢慢积累的。

    言归正传

    这条命令的意思是:清空messages文件。

    可以把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.

    因此, /dev/null 对命令行和脚本都非常的有用.

    举例:

    
    
    cat /dev/null > messages

    这个脚本的作用为:清除message文件中的内容。

    Linux中重定向 

    原文地址 https://www.linuxprobe.com/refre-gd-he.html

    重定向

    系统设定的输入输出
    • 默认输出设备:标准输出,STDOUT,1
    • 默认输入设备:标准输入,STDIN,0
    • 标准错误输出:STDERR,2
    标准输入:键盘
    标准输出和错误输出:显示器
    linux中的I/O重定向
    • 标准输入 (stdin): 代码为0,使用<或<<;
    • 标准输出 (stdout): 代码为1,使用>或>>;
    • 标准错误输出(stderr): 代码为2,使用2>或2>>;
    • ">" ">>"
    >: 覆盖输出 
    >>:追加输出
            
    # set -C  禁止对已经存在文件使用覆盖重定向;强制覆盖输出,则使用 >|
    # set +C  关闭上述功能
    • "2>" "2>>"
    2>: 重定向错误输出
    2>>: 追加方式
    将正确的与错误的分别存入不同的文件中
    # ls / /varr > /tmp/var3.out 2> /tmp/err.out
    # ls /varr > /tmp/var4.out 2> /tmp/var4.out
            
    /dev/null垃圾桶黑洞装置
    &>: 重定向标准输出或错误输出至同一个文件(或者2>&1)
    • "<"
    输出重定向(将原来需要由键盘输入的数据,改由文件内容来取代)
    # tr 'a-z' 'A-Z' < /etc/fstab
    • "<<"
    Here Document(代表结束的输入字符)
    # cat << END
    # cat >> /tmp/myfile.txt << EOF
    /dev/null, 软件设备,bit bucket,数据黑洞,将内容输出定向到该设备下无任何返回内容

  • 相关阅读:
    Elastic Search的学习
    数据分析相关
    爬虫相关
    Git 知识总结
    运维开发
    Flask
    Linux入门
    MYSQL, REDIS 等数据库的介绍
    Django的学习之路
    逆向工具Frida 环境搭建
  • 原文地址:https://www.cnblogs.com/jiguang321/p/14062248.html
Copyright © 2011-2022 走看看