页面载入中,请稍后...

点我安装PWA
您已拒绝通知
    广告广告

    【Linux中的神秘黑洞:/dev/null】

    qaq卟言2024-03-20 20:43:23 Linux闲聊
    小人奔跑效果开始
    • Linux中的神秘黑洞:/dev/null1.png
    • /Linux和类/Unix系统中,有一个非常神奇且实用的文件,那就是/dev/null
    • 它像一个深不见底的黑色洞穴,吞噬所有进入其中的数据
    • 之前写的一篇的文章中我使用过这个文件来进行标准错误的屏蔽
    • 本博客将揭示/dev/null的奥秘以及它的使用场景
    • 介绍
    • /dev/null是一个特殊的设备文件,被称为 "空设备"
    • 任何写入/dev/null的数据都会被丢弃,而尝试从/dev/null读取数据会立即返回文件结束EOF
    • 它可以看作是一个数据的黑洞,将数据送入其中就意味着数据被销毁
    • 使用场景
    • 丢弃标准输出
    • 当执行一个命令但不希望看到其标准输出stdout时,可以将其重定向到/dev/null
    • 不希望输出的信息在终端上进行显示
    • 或者说某个程序持续生成大量日志到指定的日志文件, 而暂时不需要这些信息
    • 可以将该日志文件链接到/dev/null,这样写入该日志文件的内容将被丢弃
    • ln -s /dev/null /media/buyan/1/脚本监控/请求记录/waf.log
    • 忽略错误信息
    • 当运行某些命令时,可能会产生标准错误stderr
    • 如果我们不希望这些错误信息显示在屏幕上,可以将标准错误重定向到/dev/null
    • 比如我在文章mysqldump: [Warning] Using a password on the command line interface can be insecure.中的使用,屏蔽的MYSQL的标准错误
    • mysql -ubuyan -p123456789 2>/dev/null
    • 注意,如果你执行的命令存在语法错误,比如使用了错误的参数,也将看不到错误提示
    • 因此需要先测试命令,确保其可以正常执行,再添加
    • 2>/dev/null
    • 当然也可以使用2>&1将标准错误重定向到标准输出,然后与标准输出一起重定向到/dev/null
    • command >/dev/null 2>&1
    • 作为输入源
    • 当程序需要读取数据,而实际上并不需要任何实际内容时,可以将/dev/null作为输入来源
    • command > /dev/null
    • 测试命令行为
    • 由于/dev/null可以提供一个空的数据源或接收任意大小的数据而不占用资源
    • 所以在测试命令如何处理空输入或无反馈输出的情况时非常有用
    • 清空文件内容
    • 清空文件内容有很多种方法,因为/dev/null可以提供一个空的数据源,所以也可以用来清空文件内容
    • : > /media/buyan/1/脚本监控/请求记录/waf.log
    • > /media/buyan/1/脚本监控/请求记录/waf.log
    • echo "" > /media/buyan/1/脚本监控/请求记录/waf.log
    • echo > /media/buyan/1/脚本监控/请求记录/waf.log
    • 利用/dev/null清空文件内容
    • cat /dev/null > /media/buyan/1/脚本监控/请求记录/waf.log
    完结

    🔖本文来源:qaq卟言的个人博客网站声明如损害你的权益请联系我们

    ©️版权声明:本文为【qaq卟言】原创文章,写作不易,转载请您添加本文链接,谢谢您的合作!

    📜著作协议:《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    ⚠️部分文章图片来自网络,可能存在版权问题。如发现相关争议请联系qaq卟言处理!

    🔗

    广告广告

    随机文章

    该文章已经关闭评论,评论请前往留言信箱