知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

DOS与linux的断行字符

发布时间:2014-09-05 16:54:16作者:知识屋

今天配置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命令来转换一下断行格式
 
作者“新网络人为本”

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜