http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html

LINUX的换行符在Windows记事本打开不换行或出现黑点 是由于Linux和windows中的换行符差异问题造成的。

首先来看回车符号和换行符号产生背景

关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号

windows创建的文件是 \n\r结束的, 而linux,mac这种unix类系统是\n结束的。

所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了

Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。Linux下很多文本编辑器(命令行)会在显示这个标记之后,补上一个自己的换行符,以避免内容混乱(只是用于显示,补充的换行符不会写入文件,有专门的命令将Windows换行符替换为Linux换行符)。 UNIX/Linux系统下的换行符在Windows系统的文本编辑器中会被忽略,整个文本会乱成一团。

windows换行是\r\n,十六进制数值是:0D0A。
LINUX换行是\n,十六进制数值是:0A
所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。
unix2dos 是把linux文件格式转换成windows文件格式
dos2unix 是把windows格式转换成linux文件格式。

linux下删除windows换行符^M

OJ判题时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到\n和\r两个字符。所以需要将^M(也就是\r)字符删掉
删除方法不少。找了一个比较简单的。
要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d "^M" > b.txt
注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符

unix 下换行符只有: \r
Dos 下换行符有:\r\n
具体的, \r的ascii 码是:14
\n的ascii 码是:10

Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点相关推荐

  1. 计算机操作系统的加密与恢复,当在 Windows中设置 FIPS 兼容策略时,BitLocker 的恢复密码Windows...

    当在 Windows中设置 FIPS 兼容策略时,BitLocker 的恢复密码Windows 04/15/2021 本文内容 本文讨论由于 BitLocker 的恢复密码与 Windows FIPS ...

  2. Java下载文件记事本打开不换行问题

    Java下载文件记事本打开不换行问题,其他编辑器可以换行: 原因是下载的内容用的是\n,而win记事本是用的\r\n java 将\n转换为\r\n String script = editText. ...

  3. windows中dos-批处理-命令特殊符号-通配符与转义符

    文章目录 常用特殊符号 通配符(?和*) 转义符 对批处理中常用符号的详细解 1.@ 2.%.%% 3.: 和 :: 4.~ 5.>.>> 6.| 7.^ 8.& 9.&am ...

  4. eclipse中linux打包,Eclipse中Maven打包程序并在Linux中运行

    Eclipse中Maven打包程序并在Linux中运行 1 在Eclipse中新建Maven工程 新建后的maven工程如下: 新建Maven工程的默认pom.xml如下,不需要修改: 4.0.0 T ...

  5. linux 网络路径中网络协议栈有几种,linux网络路径中网络协议栈有几种

    网络路径有很多种,其中的linux网络路径是最常用的,也是最需要关注的.linux网络路径中网络协议栈有几种?电脑新装系统漏洞应不应该修复?了解网络安全常识,首先就要了解计算机网络安全有哪些基本注意事 ...

  6. Linux查找文本中的重复项,2在Linux中查找和删除重复文件的有用工具

    如果您有从互联网下载各种内容的习惯,组织您的主目录甚至系统可能会特别困难. 通常,您可能会发现已下载相同的mp3,pdf,epub(以及所有其他文件扩展名)并将其复制到不同的目录中. 这可能会导致您的 ...

  7. 共享windows目录给vm linux,将windows中的文件夹共享给Linux虚拟机

    按正常步骤安装Linux 安装完成后在Linux系统中安装vmware-tools工具. 选择"编辑虚拟机设置" 4.选择"选项"然后点击"共享文件夹 ...

  8. Windows中查找命令的路径 (类似Linux中的which命令)

    2019独角兽企业重金招聘Python工程师标准>>> Linux有个Which命令,用来查找可执行文件的位置. 例如:which find, 就会从PATH变量的路径里搜索该命令, ...

  9. Linux文件信息中的rwx表示什么?Linux权限理解

    目录 文件访问者的分类 Q:为什么要有所属组这个概念? 文件的权限属性分类 文件的权限属性的设置 1.chmod(change mode) 2.chgrp(change group) 3.chown( ...

最新文章

  1. IBM db2安装好了以后,启动不了服务
  2. ExtJs_关于combobox的那些分页二三事
  3. 全国各省“光棍”排名,数据揭秘哪里脱单最难?
  4. USTC English Club Note20211108
  5. 【Flink】Flink 源码之 安全认证 kerberos 认证
  6. high definition audio控制器感叹号_三门峡回收科霸控制器
  7. IBM Lotus Domino V8.5 服务器管理入门手册
  8. Linux内存使用消耗高
  9. 关于jqui datepicker 使用enter选择日期后 点击input 没有打开日期控件问题
  10. win10专业版激活时提示无法连接到internet怎么办?
  11. O2O模式的赢利点有哪些?
  12. java 批量发送邮件_spring boot实现异步批量发送邮件
  13. ubuntu下查看硬件配置
  14. s32ds 路径_S32DS 使用 tips--工程属性配置(编译选项和C编译器、汇编器及链接器设置)...
  15. 最全的100个Python精选库,建议收藏!
  16. easyui简单demo
  17. 通过2-3-4树理解红黑树
  18. 研究生如何发表论文必读
  19. 盘点2015年可能上市的19家互联网公司,IPO不再是唯一终点
  20. 办公用计算机的配置,各取所需硬道理 办公用电脑配置如何选

热门文章

  1. 庖丁解牛ASP.NET3.5控件和组件开发技术-(1)服务器控件概述
  2. leetcode 327. 区间和的个数(treemap)
  3. leetcode 234. 回文链表(快慢指针+链表倒置)
  4. 面试题字符集和编码区别_您和理想工作之间的一件事-编码面试!
  5. typescript_如何掌握高级TypeScript模式
  6. angular 动画_如何在Angular 6中使用动画
  7. 虚拟dom添加虚拟dom_虚拟DOM缓慢。 认识记忆化的DOM
  8. react 交互_如何在React中建立动画微交互
  9. 置信区间估计 预测区间估计_估计,预测和预测
  10. oracle审计实施