首页 > 其他分享 >dos2unix命令详解

dos2unix命令详解

时间:2022-12-22 21:46:49浏览次数:46  
标签:file windows sh 命令 详解 aliyun dos2unix root

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。

而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。

 

命令语法:

 

dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]

 

unix2dos [options] [-c convmode] [-o file ...] [-n infile outfile ...]

 

命令参数:

 

此命令参数是Red Hat Enterprise Linux Server release 5.7下dos2unix命令参数,不同版本Linux的dos2nnix命令参数有可能不同。

 

参数

描叙

-h

显示命令dos2unix联机帮助信息。

-k

保持文件时间戳不变

-q

静默模式,不输出转换结果信息等

-V

显示命令版本信息

-c

转换模式

-o

在源文件转换,默认参数

-n

保留原本的旧档,将转换后的内容输出到新档案.默认都会直接在原来的文件上修改,

使用示例:

在使用前要先安装dos2unix 

yum install -y dos2unix

准备一个windows编写的文件

[root@aliyun ~]# cat windows 
#!/bin/bash
date 

准备一个linux编写的文件

[root@aliyun ~]# cat show.sh 
#!/bin/bash
date

分别启动脚本

[root@aliyun ~]# sh show.sh 
Wed Nov 27 10:26:42 CST 2019
[root@aliyun ~]# sh windows 
date: invalid date ‘\r’

提示有一个无效的字符 '\r' 这是因为windows下的换行符是\n\r一起,而linux下的换行符只有\n

再比较两个文件的类型

[root@aliyun ~]# file show.sh 
show.sh: Bourne-Again shell script, ASCII text executable
[root@aliyun ~]# file windows 
windows: Bourne-Again shell script, UTF-8 Unicode text executable, with CRLF line terminators

提示两个文件的字符集不同linux编写的文件字符集是ASCII,而windows的是UTF-8

现在使用dos2unix转换一下windows编写的文件

dos2unix -n windows win2unix 
dos2unix: converting file windows to file win2unix in Unix format ...
[root@aliyun ~]# file windows 
windows: Bourne-Again shell script, UTF-8 Unicode text executable

可以看到的是那句 with CRLF line terminators 不见了,但是字符编码还是utf-8,那么文件的格式有没有变呢?

[root@aliyun ~]# sh win2unix 
Wed Nov 27 10:54:46 CST 2019

可以看到格式变了,能正常打印,但是字符集的问题,先留在这里

标签:file,windows,sh,命令,详解,aliyun,dos2unix,root
From: https://www.cnblogs.com/exmyth/p/16999625.html

相关文章

  • Linux系统入门-Shell命令
    linux中的shellLinux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。shell在Linux中的存在形式由于Linux不同于Win......
  • 分享巧记Linux命令的方法
    最近有些学弟经常私信问我说,他们自己是Linux方面的小白,对于Linux的命令了解十分的少,虽然每次跟着我推荐的学习视频教程可以进行操作,但是离开了视频,就又是两眼抓瞎,什么也想......
  • Charles抓包工具详解
    学习Charles能做什么:能够用charles分析前后端问题能够使用charles模拟弱网测试环境能够使用charles断点构建异常的测试环境Charles简介1.Charles是什么?Charles基于......
  • JavaIO流详解
    JavaIO流详解I(Input:输入)/O(Output:输出)流,是java中用来传输数据的方式流(stream)的概念流是一种抽象概念,它代表了数据的无结构化传递流是一个无结构化的数据组......
  • Altium Designer v23.0.1.38图文详解
    AltiumDesigner(AD) 最新安装河蟹教程,ltiumdesigner 显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化。使用64位体系结构和......
  • 【Linux必知必会】三剑客之sed命令详解
    sed为行编辑器,同时也是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完......
  • Mac基本命令操作
    Mac使用常见命令删除空目录:rmdir目录删除文件夹:rm-rf文件夹创建一个文件夹:mkdir文件名创建一个文件:touch文件修改一个文件:vi文件名重命名文件mv原始文......
  • Bash Shell自定义助手函数git-submodule-foreach:遍历对每个子模块仓库执行自定义的函
    BashShell自定义助手函数git-submodule-foreach:遍历对每个子模块仓库执行自定义的函数或命令序列...概述:在一个大型项目下,我们通常通过GitSubmodule(子模块)机制引入了其......
  • 分享巧记Linux命令的方法
    最近有些学弟经常私信问我说,他们自己是Linux方面的小白,对于Linux的命令了解十分的少,虽然每次跟着我推荐的学习视频教程可以进行操作,但是离开了视频,就又是两眼抓瞎,什么也想不......
  • SpringBoot注解最全详解(整合超详细版本)
    使用注解的优势:1.采用纯java代码,不在需要配置繁杂的xml文件2.在配置中也可享受面向对象带来的好处3.类型安全对重构可以提供良好的支持4.减少复杂配置文件的同时亦能享......