跳到主要内容

Linux不可见字符

Linux不可见字符

image-20240415124105225

目录

[toc]

linux里常见不可见字符有哪些?

在Linux和Unix系统中,有许多不可见的控制字符,它们用于控制文本格式或设备的行为。以下是一些常见的不可见字符:

  1. 空格 (Space) - 空格字符用于分隔单词和符号,但它通常在屏幕上不显示为可见符号。

  2. 制表符 (Tab) - \t 在文本中用于制造水平空间,通常等同于多个空格。

  3. 换行符 (Line Feed) - \n 用于Unix和Unix-like系统表示行的结束。

  4. 回车符 (Carriage Return) - \r 用于将光标移动到行首,但不新起一行,在Windows系统中通常与换行符一起使用(\r\n)表示行的结束。

  5. 退格符 (Backspace) - \b 表示删除一个字符。

  6. 删除符 (Delete) - \177\x7F 用于删除命令行中的字符。

  7. 转义字符 (Escape) - \e\033 用于引入转义序列,用于控制屏幕上的文本格式,如颜色和位置。

  8. 空字符 (Null) - \0 表示字符串的结束,在C语言中常用。

  9. 垂直制表符 (Vertical Tab) - \v 用于文本输出中的垂直定位。

  10. 换页符 (Form Feed) - \f 用于打印文档时,推进到下一页。

这些不可见字符通常用于文本编辑、终端控制、打印格式设计以及编程中的文本处理。在一些编程语言和工具中,你可以使用上述的反斜杠转义序列来表示这些不可见字符。在处理文本文件时,特别是涉及多个操作系统的环境中,了解这些字符是很重要的,因为它们可能会引起格式问题或者是其他预料之外的行为。

linux shell终端里如何查看某个文件里都存在哪些不可见字符?

在Linux shell终端中,你可以使用多种工具来查看文件中的不可见字符。catlessodhexdump是这方面的常用工具。下面是一些示例:

image-20240415123755062

[root@vm-template ~]#cat 1.txt 
123

中国

世界 宇宙
love self
[root@vm-template ~]#
  1. 使用cat

    • cat -v filename 这会将文件中的不可见字符显示为可见的字符表示(如^M表示回车符)。

      -A, --show-all           equivalent to -vET
      -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
      -E, --show-ends display $ at end of each line
      -T, --show-tabs display TAB characters as ^I

      image-20240415123816714

  2. 使用less

    • less -R filename 使用-R参数可以查看文件内容,包括颜色代码等转义序列。

    image-20240415123833950

  3. 使用od(八进制转储)

    • od -c filename 这会以字符显示文件内容,其中不可见字符会以转义序列形式展示。

    image-20240415123856816

  4. 使用hexdumpxxd

    • hexdump -C filenamexxd filename 这会生成文件的十六进制转储,同时显示对应的ASCII字符。不可见字符将会用.表示或者显示其十六进制值。

    image-20240415123921982

例如,你想查看文件example.txt中的不可见字符,你可以运行以下命令:

od -c example.txt

这将打印出文件的内容,并以人类可读的格式显示所有的字符,包括不可见字符。例如,你可能会看到换行符显示为\n,制表符显示为\t等等。

为了更详细地了解每个命令的用法,请参阅那些命令的文档或在线资源。在命令行中键入man odman catman lessman hexdump将提供相关命令的手册页,这是学习和使用这些工具的好方法。

📌 总结

一般回使用cat -v 文件来查看次文件是否存在特殊字符。

如果存在,会利用:set ff=unix来格式文件,就没问题了。

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号

《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

https://onedayxyy.cn/

🍀 语雀

https://www.yuque.com/xyy-onlyone

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!