菜鸟笔记
提升您的技术认知

Linux:如何查看文件里的特殊字符

最近工作中,遇到了需要查看文件特殊字符的情况,经过一番研究发现,Linux 有以下方法可以查看特殊字符。

1、cat 命令

# -v列出特殊字符
cat -v filename

# 也可以使用-A,-A包含了-v
cat -A filename

优缺点:cat 命令会查看文件的全部内容,并不能像 more 命令那样翻页操作。当文件较大时,不适合使用 cat 命令!!

2、vi/vim 命令

# 进入编辑界面
vi filename
# 输入展示设置,或者 :set list
:set invlist

优缺点:当文件数量较多时,每次都要 vi/vim 进入编辑界面再退出,着实麻烦,但比第一种更实用!

最后

当进入编辑界面后,可通过 :help digraph-table 命令,查看分隔符对应的特殊字符:

char  digraph   hex     dec     official name
^@      NU      0x00      0     NULL (NUL)
^A      SH      0x01      1     START OF HEADING (SOH)
^B      SX      0x02      2     START OF TEXT (STX)
^C      EX      0x03      3     END OF TEXT (ETX)
^D      ET      0x04      4     END OF TRANSMISSION (EOT)
^E      EQ      0x05      5     ENQUIRY (ENQ)
^F      AK      0x06      6     ACKNOWLEDGE (ACK)
^G      BL      0x07      7     BELL (BEL)
^H      BS      0x08      8     BACKSPACE (BS)
^I      HT      0x09      9     CHARACTER TABULATION (HT)
^@      LF      0x0a     10     LINE FEED (LF)
^K      VT      0x0b     11     LINE TABULATION (VT)
^L      FF      0x0c     12     FORM FEED (FF)
^M      CR      0x0d     13     CARRIAGE RETURN (CR)
^N      SO      0x0e     14     SHIFT OUT (SO)
^O      SI      0x0f     15     SHIFT IN (SI)
^P      DL      0x10     16     DATALINK ESCAPE (DLE)
^Q      D1      0x11     17     DEVICE CONTROL ONE (DC1)
^R      D2      0x12     18     DEVICE CONTROL TWO (DC2)
^S      D3      0x13     19     DEVICE CONTROL THREE (DC3)
^T      D4      0x14     20     DEVICE CONTROL FOUR (DC4)
^U      NK      0x15     21     NEGATIVE ACKNOWLEDGE (NAK)
^V      SY      0x16     22     SYNCHRONOUS IDLE (SYN)
^W      EB      0x17     23     END OF TRANSMISSION BLOCK (ETB)
^X      CN      0x18     24     CANCEL (CAN)
^Y      EM      0x19     25     END OF MEDIUM (EM)
^Z      SB      0x1a     26     SUBSTITUTE (SUB)
^[      EC      0x1b     27     ESCAPE (ESC)
^\      FS      0x1c     28     FILE SEPARATOR (IS4)
^]      GS      0x1d     29     GROUP SEPARATOR (IS3)
^^      RS      0x1e     30     RECORD SEPARATOR (IS2)
^_      US      0x1f     31     UNIT SEPARATOR (IS1)
        SP      0x20     32     SPACE
......

不妨动起手来试一试~