转自:http://www.2cto.com/os/201109/104833.html

今天配置linux的dns服务器,在配置的时候,在linux下修改配置文件感觉很麻烦,于是想到把配置文件拿到windows上修改后在应用到linux上。当我把linux上的配置文件通过文本文档修改好后,传到linux上用cat命令查看的时候发现每一行最后多了一个^M的字符,只好再用vi打开,一行一行的删除。
       后来查了一下资料才知道,原来是dos与linux的断行字符的不同导致的,从而也就有了更好的解决方法。详情看后面的解说
       在linux下面,我们可以用cat命令来查看windows系统简历的文本文件,不过会发现dos下的断行字符为^M,我们成为CR与LF。而linux下的仅有LF($)。这样的话就多出了一个CR(^M)的符号出来。如果是一个shell的脚本文件,就不能正常的执行了。
        以前我们是使用vi一行一行的删除,有没有好的解决方法呢!大家可能会想到把格式转换成linux的就可以了,怎么么做,下面我们一起来看看。其实简单的几个命令就可以了。
#dos2unix [-kn]  file  [newfile]
#UNIX2dos  [-kn]  file  [newfile]
参数解析
   -k:保留该文件的原来的mtime时间格式(不更新文件上次内容经过修改的时间)
   -n:保留原本的旧文件,将转换后的内容输出到新文件,如:dos2UNIX -n old new
EG:
   #UNIX2dos -k man.config
   #dos2UNIX -k -n man.config man.config.linux
就这么简单,所以在不同的系统之间复制纯文本的文件时,一定要记得使用UNIX2dos或这dos2UNIX命令来转换一下断行格式

【转】DOS与linux的断行字符的更多相关文章

  1. Dos与Linux的断行字符

    Symptom Dos和Linux下面的断行字符是不一样的,至于哪里不一样的呢,先举个例子看一看 Cause 我们也可以使用cat -A filename分别查看Dos和Linux下创建的文件,会发现 ...

  2. DOS与Linux的换行字符

    一.vim打开window下的文件出现 ^M 首先理解,dos(windows)下建立的文件的换行是  ^M\$ (CRLF) ,而在Linux下面,仅仅是以 \$ (LF) 来做断行符号: (^M\ ...

  3. linux wc 的用法-linux 下统计行数、单词数、字符个数

    linux wc 的用法-linux 下统计行数.单词数.字符个数   wc : wc -l 统计有多少行 wc -w 统计有多少个单词 wc -c 统计有多少个字符

  4. 28个Unix/Linux的命令行神器_转

    28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...

  5. 28 个 Unix/Linux 的命令行神器

    28 个 Unix/Linux 的命令行神器   下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些 ...

  6. PS1应用之——修改linux终端命令行各字体颜色

    最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...

  7. 修改linux终端命令行颜色

    进入修改:vim /root/.bashrc 1.PS1 要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置.在终端输入命令:#s ...

  8. php 运行linux命令 与 linux下命令行执行php

    1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

  9. 修改linux终端命令行各字体颜色

    这里我用的是 CentOS 7.5,觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发现通过定义PS1环境变量即可实现,下面我以r ...

随机推荐

  1. DemoKit编译过程错误

    1.编译出错: 2.原因(将代码注释):

  2. IOC容器Autofac使用

    今天我沉浸在IOC的设计模式追求中,听了很多课,也看了很多例子,这个是我的一个测试项目 为了测试代码,我首先准备了两个类一个Car和接口ICar,这两个类和我们平时项目中的DAL与IDAL相似,现在我 ...

  3. 数据库中间件MyCat学习总结(2)——MyCat-Web原理介绍

    Mycat是一个分库分表的基于java开发的数据库中间件,使用过程中需要有一个监控系统,mycat-web应运而生.mycat-web是一个使用SpringMVC + Mybatis的监控平台,使用常 ...

  4. spring boot & JsonParser

    spring boot https://stackoverflow.com/questions/29313687/trying-to-use-spring-boot-rest-to-read-json ...

  5. 线段树题集 (cf版)

    lazy区间修改   : http://acm.hdu.edu.cn/showproblem.php?pid=4902   (hdu4902) http://acm.hdu.edu.cn/showpr ...

  6. hdu 5040bfs+优先队列 需要存状态

    /* 剪枝:四秒后状态会变得和原来一样,所以四秒后如果再经过这个点肯定不是最优的舍去 易错点:在一个是从.到.这两个点都没有被照到并且不是摄像机,也可能需要等3秒,因为后面的结果可能再这三秒中发生改变 ...

  7. hdu 1527威佐夫博弈

    //http://www.cnblogs.com/bo-tao/archive/2012/04/16/2452633.html #include<stdio.h> #include< ...

  8. 20181012关于mysql内部执行流程

    转自:https://www.cnblogs.com/annsshadow/p/5037667.html 步步深入:MySQL架构总览->查询执行流程->SQL解析顺序   前言: 一直是 ...

  9. HDU——1133 Buy the Ticket

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  10. 非常适合新手的jq/zepto源码分析07---ajax的封装

    复习下ajax吧! 1.创建XMLHttpRequest对象 xmlhttp=new XMLHttpRequest(); xmlhttp=new ActiveXObject("Microso ...