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

问题描述:

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

解决过程:

问了前辈得知是在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格式文件:

[[email protected] newtest]# cat test.sh
#!/bin/sh

date >job.txt

[[email protected] newtest]# sh test.sh
: command not found
: command not found

使用dos2unix转换后

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

时间: 2024-10-01 04:00:56

linux学习积累(一) Linux命令之dos2unix的相关文章

《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串

8.14  <Linux学习并不难>Linux常用操作命令(14):grep命令查找文件中符合条件的字符串 使用grep命令可以查找文件内符合条件的字符串.          命令语法: grep [选项] [查找模式] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -E 模式是一个可扩展的正则表达式 -F 模式是一组由断行符分隔的定长字符串 -P 模式是一个Perl正则表达式 -b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量 -c 只显示匹配行的数量 -i 比较时不

《Linux学习并不难》Linux字符界面(2):关闭和重启Linux系统之shutdown命令

3.2  <Linux学习并不难>Linux字符界面(2):关闭和重启Linux系统之shutdown命令 shutdown命令可以安全地关闭或重启Linux系统,有些用户会使用直接断掉电源的方式来关闭计算机,这是十分危险的.Linux系统与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏硬件设备.在系统关机前使用shutdown命令,系统管理员会通知一条警告信息给所有登录的用户,告诉他们系统将要关闭,新的用户不能再

《Linux学习并不难》Linux常用操作命令(1): cat命令显示文本文件内容

8.1  <Linux学习并不难>Linux常用操作命令(1): cat命令显示文本文件内容 使用cat命令可以显示文本文件的内容,也可以把几个文件内容附加到另一个文件中.如果没有指定文件,或者文件为"-",那么就从标准输入读取. 命令语法: cat [选项] [文件] 命令中各选项的含义如表所示. 选项 选项含义 -n 对输出的所有行编号 -b 对非空输出行编号 -s 当遇到有连续两行以上的空白行时,就替换为一行的空白行 -E 在每行结束处显示$ 例:显示/etc/ini

Linux学习之用户管理命令与用户组管理命令(十五)

Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel 用户切换命令su 用户组管理命令 添加用户组 修改用户组 删除用户组 将用户添加到组或者从组中删除 用户管理命令 用户添加命令useradd 只能超级用户才能添加用户. useradd [选项] 用户名 选项: -u UID:手工指定用户的UID号 -d 家目录:手工指定用户的家目录 -c 用户说明

1.菜鸟的linux学习之路------linux初体验

脚本编程语言通常是解释型的.这类程序的执行,是由解释器读入代码,并将其转换成内部的形式,在执行.请注意,解释器本身是一般的编译型程序. 常用的脚本编程语言有 :awk,Perl,Python,Ruby,Shell.这里的Ruby是日本人研发的. 注释: linux : 1.rm 删除指定的文件 例:rm /Users/apple/Desktop/QQDock.plist 2.假设你想知道现在的系统有多少人在登录,那么 who命令可以实现 3.|管道符号可以在两个程序之间建立管道:who的输出,成

linux学习书籍推荐linux学习书籍推荐

引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与Unix Shell 编程指南> C语言基础 1.<C Primer Plus,5th Edition>[美]Stephen Prata著 2.<The  C Programming Language, 2nd Edition>[美]Brian W. Kernighan Davi

《Linux学习并不难》Linux网络配置文件(4):/etc/networks文件

26.4  <Linux学习并不难>Linux网络配置文件(4):/etc/networks文件 /etc/networks文件定义了网络名和网络地址之间的映射关系,下面是/etc/networks文件内容的示例. default 0.0.0.0  loopback 127.0.0.0  link-local 169.254.0.0  test   192.168.0.0 本文节选自<Linux学习并不难>教材,这是一本最实用的.理论实践并重的Linux入门教材.如需阅览整本书的内

Linux学习一天 一个命令(2)[cd命令]

Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的.所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [[email protected] ~]# cd / 说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目录了 例2:使用 

Linux学习日志--文件搜索命令

开头总结: 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的区别和用法格式,什么是path环境变量以及其好处,whereis和which的用法,区别在于查询系统命令内容的不同,grep和find的区别,为什么要引入通配符? 什么情况下用通配符还是正则表达式? Locate文件搜索命令: 1)格式: Locate [文件名] 2)更新数据库 updatedb 好处: 相对于find命令来说,Loca

linux学习之路:cd命令

Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName:   3. 常用范例:    实列一:进入系统根目录 命令:cd / [[email protected] data]# cd / [[email protected]-study /]#    实列二:返回到上一层目录