操作系统

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

Jager · 12月30日 · 2013年 942次已读

时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用 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$
1 条回应
  1. 狂族晨曦 2016-5-26 · 22:59

    习惯用VIM了