Linux终端:用cat命令查看不可见字符

时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用 cat 命令可以很容易地检测出是否存在这些字符。

首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令:

printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt

现在用不同的编辑器软件打开,显示的结果会不同。用简单的 cat 打开将显示:

$ cat /tmp/testing.txt     
testing   
         testing     
more testing     
even more testing

如果用 nano 或者 vim 打开,将会看到:

testing   
             testing^L^H     
more testing   
     ^@^K^@even more testing

现在我们给 cat 加上一些选项参数,以便能显示出特殊字符来。

用 cat -T 命令来显示 TAB 键的字符^I

cat -T /tmp/testing.txt    
testing    
^I^Itesting     
more testing ^I      
even more testing    
^I^I^I

用 cat -E 命令来显示行尾的结束字符

$ cat -E /tmp/testing.txt   
testing$   
         testing   
   $    
more testing$     
even more testing$   
             $

用简单的 cat -A 命令就可以显示所有不可见的字符:

$ cat -A /tmp/testing.txt    
testing$   
^I^Itesting^L^H$    
more testing$    
^I^@^K^@even more testing$    
^I^I^I$

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏狂码一生

实现微信Token验证代码(PHP)

微信开放第三方API接口,申请地址: 点击链接跳转 官方提供PHP开发代码下载: 点此下载 微信Token服务器端验证代码实现如下: //1. 将timesta...

60890
来自专栏along的开发之旅

Java Web之Tomcat目录结构和Web应用

如果Servlet版本小于3.0, 或者您不希望使用注解, 那么可以在web.xml中配置您的servlet程序, 一个最简单的实例如下:

13620
来自专栏晓晨的专栏

ASP.NET Core 发布之后通过命令控制监听地址和环境变量

25850
来自专栏小夜博客

LNMP1.3 安装 fileinfo 组件

39890
来自专栏令仔很忙

考试系统--底层框架发布时遇到的问题解决方案(Window7 IIS6.0)(三)

考试系统--底层框架发布时遇到的问题解决方案(Window7 IIS6.0)(二)

13310
来自专栏xingoo, 一个梦想做发明家的程序员

汇编语言 手记5

段寄存器就是提供段地址的。 8086CPU有4个段寄存器 CS DS SS ES 当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。 CS(代...

22160
来自专栏DeveWork

WordPress免插件仅代码实现文章浏览次数的方法(2)

上一篇文章中已经给出了一种纯代码实现实现文章浏览次数的方法,今天再来提供另外一种。如果之前的不能实现,可以用这个来试试。代码来源于willian大师的my_vi...

209100
来自专栏非著名程序员

Android Studio下的JNI开发(二):C/C++代码编写与编译

前一篇简单介绍了Android Studio环境下NDK的配置,本篇将通过一个简单的例子,介绍Android Studio中C/C++代码的编写与编译。 下面我...

19850
来自专栏程序员宝库

使用 Node.js 开发简单的脚手架工具

像我们熟悉的 vue-cli,react-native-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们...

18420
来自专栏JackeyGao的博客

Django小技巧18: ugettext和ugettext_lazy的区别

Django API 提供了几个有用的模块来帮助你翻译你的应用程序. 它们都在django.utils.translation中使用,大多数情况下, 我们会使用...

54830

扫码关注云+社区

领取腾讯云代金券