• Linux管道与重定向


    管道

    进程通信的方法之一,在Linux中用命令1|命令2的形式表示,将前一个命令的结果作为后续命令的参数进行输入,也有tee管道,可以进行多次筛选,即多次使用|过滤命令。

    重定向

    文件描述符FD

    Linux中输入输出分为三种,标准输入0、标准正确输出1、标准错误输出2,3及以上表示其他文件方法。

    文件内存写入磁盘文件的实质过程是先写入swap文件,删除原有文件,然后将swap文件修改成与原文件名称一致,所以有时因为系统操作不当,文件报错与swap相关时,可找到进程下的swap文件删除即可。

    Linux中一切皆文件,进程实质也是在系统中存放的文件,我们如果打开多个终端,可以向终端文件输入字符,即可直接显示在终端上,图形化系统开启多终端很简单,centos纯命令行的需要使用快捷键ctrl+alt+F1-F7最多可以开七个终端,如果一个长时间执行前台任务,可以切换终端继续操作,终端可以直接输入w查看。
    查看多终端

    输出重定向

    具体方法如下:

    >:覆盖重定向
    >>:追加重定向
    1>:覆盖重定向正确的输出数据流
    1>>:追加重定向正确的输出数据流
    2>:覆盖重定向错误输出数据流
    2>>:追加重定向错误输出数据流
    

    通过不同的文件描述符与重定向符号结合,可以过滤输出需要的信息,剩下的会输出到屏幕,只有>是默认为1>,即输出正确的信息,&>表示无论正确错误,全部重定向。

    Linux中有两个文件比较特殊,/dev/null/dev/zero,一个为空,无论如何填不满,一个无论如何取不尽,可用作垃圾堆和数据测试的来源。

    输入重定向

    cat的本质就是利用输入重定向,将接收到的标准输入打印到屏幕上,即cat命令本身是接收输入并打印到屏幕,后面如果接了文件就自动补上<输入重定向符号,示例如下:
    cat示例
    第一条是屏幕输入,下面的cat执行的操作,进行输出。

    <等价于0<,将右边的转化成标准输入给左边,<< 分界符允许输入大段文本,检测到分界符就停止,故可以利用输入重定向直接建立多行文件,示例如下:
    建立多行文件
    接收屏幕输入保存到file.text文件,遇到EOF就停止,这里的停止符可以是不包含空格的任意字符串,只是在英文中这也是结束的缩写,遵循传统。

    总结

    本章学习的内容比较少,管道和重定向是我们使用Linux时比较方便的两个小工具,尤其是管道,可以在我们查日志时进行简单初步的筛选过滤,而重定向可以帮助我们实现快速的简单输入输出,目前来看只是|><的使用,但其中可以杂糅很多其他命令,极大依赖我们对系统的熟练程度。

  • 相关阅读:
    安卓添加系统服务接口以及测试用例
    ZYNQ之FPGA学习----MMCM/PLL IP核使用实验
    视频服务器配置参数有哪些要求和标准
    numpy.prod
    AOP是什么?如何使用AOP?
    【autodesk】浏览器中渲染rvt模型
    【Transformer系列】深入浅出理解Positional Encoding位置编码
    【云原生】nacos权限制认证
    新服务入驻生产环境 CICD 全流程、自动化脚本教程
    MyBatis-Plus
  • 原文地址:https://blog.csdn.net/weixin_46763552/article/details/139839612