目录
省流:
windows:^M$
linux:$
一、文件末尾的回车和换行符
有时候将windows里创建的配置文件传到linux上,会出现换行符的问题。
在linux系统中:
windows文本文件,结尾是回车符+换行符,用符号 ^M$ 来表示。
linux文本文件,结尾是换行符,用符号 $ 来表示。
二、操作回车和换行符
1、cat查看
通常情况下,是看不到换行符和回车符, 那通过什么命令查看呢?
cat -A [filename]
例如文件是1.txt,命令如下:
cat -A 1.txt
1.txt是linux里的文件,2.txt是windows的文件。$ 是换行符,^M 是回车符,见下图
linux的文件只有换行符,windows的文件是回车和换行符。
2、vim编辑
通常情况下,是无法编辑回车符和换行符的,那通过什么命令来编辑呢?
vi -b
例如,编辑windows的文件2.txt,命令如下:
vi -b 2.txt
这样就能看到回车符
如果还想看到换行符,就需要在非编辑模式下,即最底下的命令输入栏输入命令::set list,更简单一点:在用 vi -b 2.txt 命令打开文件后输入:set list
3、输出回车符
在linux里,回车符 ^M 要用 ctrl + v 和 ctrl + m 打出来。如下图,蓝色的就是回车符,白色的是两个字符拼凑在一起。
三、文件格式解读
[dos]
在windows创建一个文件,传到Linux里,用vim打开,底下会有 [dos] 的标记,说明这是以dos文本格式显示。
如果把其中一个回车符删除,再用vim直接打开,则不会识别为[dos],并且会把所有回车符显示。
因为只要有一行的换行符不是windows格式(即没有回车符),那么vim就会以unix文件格式来显示文件。
[noeol]
noeol是no end-of-line,最后一行没有回车符^M。一般出现在windows格式的文件。
unix格式文件是每行都有换行符$
Windows和Linux换行规则的区别-网络技术-火龙果软件工程
====================分割线=======================
文章到此已经结束,以下是紫薯布丁
cat -A 1.txt
vi -b 1.txt
:set list
ctrl + v 和 ctrl + m