码迷,mamicode.com
首页 > 系统相关 > 详细

linux学习积累(一) Linux命令之dos2unix

时间:2015-09-22 13:01:57      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

昨天运行一个脚本的时候出现报错情况,

解决过程:

问了前辈得知是在Windows下编辑的脚本,需要进行文件转换才能运行,并告诉我使用dos2unix命令进行转换。

通过网络查询得到如下的知识,积累下来。

1、Windows下编辑的shell脚本无法在linux下运行的原因:

  DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。

2、dos2unix作用

  dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)

3、命令的help信息

-h --help give this help
-k --keepdate keep output file date
-q --quiet quiet mode, suppress all warnings
always on in stdin->stdout mode
-V --version display version number
-c --convmode conversion mode
convmode ASCII, 7bit, ISO, Mac, default to ASCII
-l --newline add additional newline in all but Mac convmode
-o --oldfile write to old file
file ... files to convert in old file mode
-n --newfile write to new file
infile original file in new file mode
outfile output file in new file mode

4、使用

命令格式:dos2unix file

5、常用参数

-n  保存为新文件 格式: dos2unix -n oldfile newfile

-k  保持文件时间戳不变  格式: dos2unix -k file

6、使用实例

dos格式文件:

[root@PXE newtest]# cat test.sh
#!/bin/sh

date >job.txt

[root@PXE newtest]# sh test.sh
: command not found
: command not found

使用dos2unix转换后

[root@PXE newtest]# dos2unix test.sh
dos2unix: converting file test.sh to UNIX format ...
[root@PXE newtest]# sh test.sh
[root@PXE newtest]# ls
job.txt job.txt? test.sh xuguanyu
[root@PXE newtest]# cat job.txt
Tue Sep 22 11:20:17 EDT 2015

 

linux学习积累(一) Linux命令之dos2unix

标签:

原文地址:http://www.cnblogs.com/durxu/p/4828396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!