`

linux 文件 dos unix格式,unix和dos下文本文件得区别

    博客分类:
  • java
 
阅读更多
问题:
    当在window下编辑文本文件,使用ftp上传linux服务器,文件的真实大小读取的就是跟预设的不一样,导致文件传输失败,表现的现象是总多了1个字节

排查:
通过比对曾经传输成功的文件和这个传输失败的文件发现了原因
    原来文本文件中分隔换行符在unix和dos下格式是有区别。
    在UE里,使用十六进制可以查看到unix下回车是用0xOA表示的,而dos下的回车则是0x0D0A
    在window下比在unix下多了一个字节,这也是为啥校验总是失败。
   最后通过UE将文件转成unix格式,并且通过二进制传输的方式通过ftp上传到linux服务器,文件大小就对了。

总结:
    任何一个小的知识点都可能成为拦路虎,以后要多加学习多加总结,多加留意。
学习:
此处是有个知识点的,关于换行和回车
一:回车”(Carriage Return)和“换行”(Line Feed)起源
首先,弄清两个概念:
回车CR-将光标移动到当前行的开头。
换行LF-将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标水平位置)

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

二:区别

CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D

LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A


Dos和windows采用回车+换行CR/LF表示下一行,

而UNIX/Linux采用换行符LF表示下一行,

苹果机(MAC OS系统)则采用回车符CR表示下一行.


所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

注1:关于“回车键”的来历,还得从机械英文打字机说起。在机械英文打字机上,有一个部件叫“字车”,每打一个单词,“字车”就前进一格。当打满一行字符后,
打字者就得推动“字车”到起始位置,这时打字机会有两个动作响应:一是“字车”被归位,二是滚筒上卷一行,以便开始输入下一行,这个推动“字车”的动作叫“回车”。

注2:这种差别在编程、不同OS之间传输纯文本时最需要注意。

参考了这两位博主,感谢
https://blog.csdn.net/weixin_34640289/article/details/116556550
https://mp.weixin.qq.com/s/kkpSLEiFNQR8IM1zmMcCig
分享到:
评论

相关推荐

    Linux命令手册

    Linux命令手册是Linux用户不可或缺的参考资料,尤其对于初学者和经验丰富的系统管理员来说,它能够提供快速查询命令用法的能力。手册涵盖的内容广泛,包括文件目录管理、文档编辑和文件传输等多个方面。在此,我将...

    linux 命令大全

    - **功能**:创建、管理和提取tar格式的档案文件。 - **常用选项**: - `tar [选项] [档案文件] [成员文件]`:操作tar文件。 **2.13 UNARJ** - **功能**:解压.arj格式的文件。 - **用法**:`unarj x [文件]`。 *...

    鸟哥Linux私房菜

    dos2unix命令用于将DOS格式的文本文件转换为UNIX格式。 56. **du**:在第八章第2.1节中提及。du命令用于估算每个文件或目录所占用的磁盘空间。 57. **dump**:在第九章第4.0节中解释。dump命令用于备份文件系统...

    四级操作系统原理考试真题复习资料全国计算机等级考试NCRE教材.pdf

    - 文件系统权限:文件和目录的权限设置,如UNIX/Linux系统的读(r)、写(w)、执行(x)权限。 8. 操作系统的文件系统和目录结构: - 目录结构:UNIX/Linux系统中的典型目录结构,比如bin、etc、lib、tmp、usr等...

    操作系统复习提纲

    不同的操作系统(如DOS、Windows、Linux、UNIX)有不同的命令集和格式。 ### 进程概念 进程是操作系统进行资源分配和调度的基本单位,其存在的唯一标志是进程控制块(PCB)。进程通过临界区概念实现资源的互斥访问...

    职称计算机应用能力考试题答案全网最全.pdf

    - 操作系统:提及Linux、UNIX、Windows和DOS操作系统 - 编程语言和工具:Delphi、C/C++、Basic、C#、Excel、FoxPro、Access、SQL Server等 - 数据库:Access和SQL Server数据库管理系统 4. 媒体文件格式 - 音频...

    Cygwin User's Guide

    在Cygwin中,用户和组的信息通常存储在`/etc/passwd`和`/etc/group`文件中,这些文件的格式与传统的UNIX系统相同。 **显示当前挂载点** 通过运行`mount`命令,可以查看当前系统中所有已挂载的设备或文件系统。 ...

    tmn.rar_driverlv4_patternm6z_stay6ux_大数据

    2. dos2unix.sh:这是一个shell脚本,通常用于转换文件的行结束符,从DOS/Windows格式(CR+LF)转换为UNIX/Linux格式(LF),这在跨平台操作时很有用。 3. nrcdoc.txt:可能是一个关于某种技术或规范的文档,NRC可能...

    《计算机应用基础案例教程》问答题答案宣贯.pdf

    这涵盖了从早期的DOS命令行界面到现代Windows桌面操作系统的演变,以及类Unix系统(Unix和Linux)的使用。了解不同操作系统之间的差异对于管理IT资源和应用开发非常重要。 3. 计算机硬件:内容中出现了CPU、GB...

    计算机文化基础试卷答案.pdf

    5. 文件格式和扩展名:涉及.txt(纯文本文件)、.wps(WPS Office文档格式)、.doc(微软Word文档格式)、.xls(微软Excel工作簿格式)等。这些扩展名表明文件类型,决定了如何打开和处理这些文件。 6. 计算机网络...

    计算机基础知识点.pdf

    3. 操作系统:文档中列举了多个操作系统名称,如“Windows”系列、“UNIX”、“OS/2”、“Novell NetWare”、“Linux”、“MacOS”、“Windows 2000”、“XP Professional”等。了解不同操作系统的特点和基本操作是...

    linux鸟哥的私房菜基础版

    - **dos2unix/unix2dos**:转换文件行尾符格式,在第十章第4.2节说明。 ### E - **e2label**:显示或更改ext2/ext3/ext4文件系统的卷标,在第八章第3.5节介绍。 - **echo**:打印文字信息到标准输出,在第十一章第2...

    AIR使用说明

    - UNIX系统:文档针对UNIX系统(包括Linux和Mac OS X)进行介绍,同时提供了一些解决特定问题的方法(Workarounds)。 - PC系统:包括DOS、Windows和Windows NT平台的配置说明。 4. 配置文件:对src/config.h文件...

    系统软件及其常用操作系统(共61张PPT).pptx

    常见的操作系统包括微软的DOS和Windows系列,如Windows XP,还有Unix、Linux、OS/2、Mac OS和Novell Netware等。其中,Unix是一种强大的分时操作系统,而Linux则是源自Unix的开源操作系统,广泛应用于服务器和桌面...

    大学计算机基础第5章作业参照.pdf

    其次,网络操作系统如Windows 2000、Linux和Unix,能够支持多台计算机之间的通信和资源共享,而MS-DOS则不具备网络功能。因此,选项A是不正确的网络操作系统。 Windows操作系统允许同时运行多个程序,即支持多任务...

    Realtek8168

    - **Samba 简介**: Samba 是一个用于 Unix/Linux 系统实现 SMB/CIFS 协议的开源软件包,可以让 Unix/Linux 和 Windows 用户通过网络进行资源共享。它允许用户设置文件夹共享、打印机共享等功能。 - **安装 Samba**: ...

    中央电大计算机科学与技术专业(本科)_计算机操作系统形成性考核册.pdf

    7. 操作系统实例:研究不同操作系统,如UNIX/Linux、Windows、MS-DOS等,它们的设计理念、体系结构和特定功能。 8. 操作系统安全:覆盖用户认证、访问控制、加密、安全策略和恶意软件防护等内容。 9. 网络操作系统...

    计算机基础电子教案.pdf

    操作系统方面,教案覆盖了早期的操作系统如DOS,以及较为现代的操作系统如Windows、UNIX和LINUX。Windows 98作为文档中的一个重点,提到了其启动过程中的关键文件,例如Config.sys和Autoexec.bat。此外,还提到了MS-...

Global site tag (gtag.js) - Google Analytics