什么是dos 与n lunux 的断行
当我们用cat -A 来查看 dos (window 系统) 建立文件的特殊格式,可以发现dos 使用的是^M$,我们称为CR与LF 两个字符,而 linux 下仅有LF($)这个断行字符,这个字符对
linux 的影响非常大,linux 下面的命令在开始执行时,它的判断依据是[ENTER],而linux 的[ENTER]为LF符号,由于dos 断行符号是CRLF,也就是多了一个^M的符号出来,在这样的情况下,如果是shell script 程序文件,可能造成文件无法执行.那么就需要,文件的格式转换
如何liunx dos 文件转换
linux 本来有dos2UNIX,UNIX2dos命令,但是ubuntu 默认没有这种命令,而且也没有这个名字的工具,那就需要有个替代的工具.
Ubuntu下默认没有安装dos2unix工具,而且也没有一个叫这个名字的工具(我在solaris里用过dos2unix,不知道为啥Ubuntu没有)。但是有一个替代工具——tofrodos
, 下面就说一下它的安装和使用。
当然还是apt安装啦。
(1)安装tofrodos
sudo apt-get install tofrodos
实际上它安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)
安装完即可,现在你已经可以进行文本格式的转换啦。
比如: todos Hello.txt (即unix2dos Hello.txt)
fromdos Hello.txt (即dos2unix Hello.txt)
(2)做一些优化
由于习惯了unix2dos和dos2unix的命令,可以把上面安装的两个工具链接成unix2dos 和dos2unix,或者仅仅是起个别名,并放在启动脚本里。
步骤:
ln -s /usr/bin/todos /usr/bin/unix2dos
ln -s /usr/bin/fromdos /usr/bin/dos2unix
或者在 ~/.bashrc里起个别名
vi ~/.bashrc
添加 alias unix2dos=todos alias dos2unix=fromdos