zoukankan      html  css  js  c++  java
  • linux 中的col命令

    col命令:

    看介绍是过滤掉reverse line feeds

    要明白什么是reverse line feeds,我们要先明白什么是line feeds

    首先介绍一下new line(换行符)

    https://en.wikipedia.org/wiki/Newline

    ,在linux中,换行符new line,就是line feed ( )这个ASCII符号

    new line 在不同操作系统下是不一样的,

    在windows中是 ,在unix中是 ,

    之所以造成这种原因,是因为传统的打字机实现,

    使用打字机到一行的最后一个字符的时候,应该执行下面的两步操作:

    1.向下换新的一行(换行)

    2.回到行首(回车)

    按理说这就应该是 和 的雏形了,但是实际受打印机的机械结构限制,只使用这两个命令会有一些问题,如还没回到行首又打起来..回到行首的过程中把纸张碰脏了...

    所以不同的打字机会有一些底层的驱动内部实现,同时对外暴露出的接口就形成了一些不同的规范

    所以才出现了 派和 派

    ... reverse line feed 是干吗的呢,就是向上走一行..

    除了向上走一行,我们还可以向左走半行 或者 向左走部分..

    比如说打字机的一个打粗体的hack,打字的时候,想加粗一个字 ,我们可以控制打字机退回到前面的一个字符(backspace)..在重新打一遍,打了两遍就是加醋了

     (上面这些控制字符都会被过滤掉)

    下面看一个实例:  

    man ascii

    我们可以看到NAME和ascii是被加粗的

    man ascii | vi - (将标准输入给vi作为输入 -代表标准输入,因为vi不会自动读取stdin)

    我们可可以看到这里就是历史遗留的hack.. ^H(脱字符+H)是backspace,也就是退回去让他们重打一遍加粗

    man ascii | col

    这里就不是加粗的了,因为backspace控制符已经被过滤掉了。

  • 相关阅读:
    关于生成二维码的相关参考资料
    C#生成二维码的方法
    .NET 二维码生成(ThoughtWorks.QRCode)
    微信扫描二维码登录网站技术原理
    C# ArrayList的用法
    C#多线程编程
    c#使用多线程的几种方式示例详解
    解决Winform应用程序中窗体背景闪烁的问题
    C# 线程调用主线程中的控件
    30、网络编程
  • 原文地址:https://www.cnblogs.com/eret9616/p/12287723.html
Copyright © 2011-2022 走看看