zoukankan      html  css  js  c++  java
  • dos2unix命令详解

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

    而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 ‘
    ’

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

    再比较两个文件的类型

    [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

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

    学习中,博客都是自己学习用的笔记,持续更新改正。。。
  • 相关阅读:
    关于虚拟机断电导致的 generating /run/initramfs/rdsosreport.txt 问题优秀解决方案
    centos7 yum 阿里源
    startup.bat脚本启动tomcat时,cmd命令窗口闪现问题及Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 错误解决
    Linux 中 Fish Shell
    卸载mysql
    /bin/bash^M: 坏的解释器: 没有那个文件或目录
    elementUI 文本鼠标移入显示太长
    el-upload 手动上传文件
    vue-element-admin 打包测试环境报错
    vue 分页跳转页面详情,返回记住当前点击第几页
  • 原文地址:https://www.cnblogs.com/Tunan-Ki/p/11940575.html
Copyright © 2011-2022 走看看