Linux(Centos 7.6)命令详解:dos2unix

1.命令作用

将Windows格式文件件转换为Unix、Linux格式的文件(也可以转换成其他格式的)

2.命令语法

Usage: dos2unix options file ... -n infile outfile ...

3.参数详解

options:

  • -c, --convmode,转换方式,支持ascii, 7bit, iso, mac,默认为ascii
  • -f, --force,强制转换二进制文件
  • -k, --keepdate,保存输出文件日期
  • -l, --newline,添加额外的换行符
  • -n, --newfile,写入新文件
  • -o, --oldfile,写入旧文件(如果旧文件不存在会报错)
  • -q, --quiet,安静模式
  • -s, --safe,跳过二进制文件(默认)
  • -F, --follow-symlink,跟随符号链接文件转换链接实际文件(链接的实际文件会被转换)
  • -R, --replace-symlink,用转换后的文件替换符号链接(链接文件转换为实际文件且转换,原链接的实际文件不变)
  • -S, --skip-symlink,保持符号链接和目标不变(默认)

4.常用用例

**注:**以下测试转换文件是Windows上传至Centos的测试文件。

4.1.默认直接转换

bash 复制代码
[root@node2 Desktop]# file test1.txt 
test1.txt: ASCII text, with CRLF line terminators
[root@node2 Desktop]# 
[root@node2 Desktop]# dos2unix test1.txt 
dos2unix: converting file test1.txt to Unix format ...
[root@node2 Desktop]# 
[root@node2 Desktop]# file test1.txt 
test1.txt: ASCII text

4.2.静默直接转换

bash 复制代码
[root@node2 Desktop]# file test2.txt 
test2.txt: ASCII text, with CRLF line terminators
[root@node2 Desktop]# 
[root@node2 Desktop]# dos2unix -q test2.txt 
[root@node2 Desktop]# 
[root@node2 Desktop]# file test2.txt 
test2.txt: ASCII text

4.3.保持文件日期转换

**注:**文件日期不会改变

bash 复制代码
[root@node2 Desktop]# ll test3.txt 
-rwxr--r--. 1 root root 568 Jan 21 19:45 test3.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# file test3.txt 
test3.txt: ASCII text, with CRLF line terminators
[root@node2 Desktop]# 
[root@node2 Desktop]# dos2unix -k test3.txt 
dos2unix: converting file test3.txt to Unix format ...
[root@node2 Desktop]# 
[root@node2 Desktop]# file test3.txt 
test3.txt: ASCII text
[root@node2 Desktop]# 
[root@node2 Desktop]# ll test3.txt 
-rwxr--r--. 1 root root 563 Jan 21 19:45 test3.txt

4.4.转换到新文件

bash 复制代码
[root@node2 Desktop]# file test4*
test4.txt: ASCII text, with CRLF line terminators
[root@node2 Desktop]# 
[root@node2 Desktop]# dos2unix -n test4.txt test4_1.txt
dos2unix: converting file test4.txt to file test4_1.txt in Unix format ...
[root@node2 Desktop]# 
[root@node2 Desktop]# file test4*
test4_1.txt: ASCII text
test4.txt:   ASCII text, with CRLF line terminators

4.5.级联转换链接文件

bash 复制代码
[root@node2 Desktop]# ll test5*
lrwxrwxrwx. 1 root root   9 Jan 21 19:51 test5_ln1.txt -> test5.txt
-rwxr--r--. 1 root root 568 Jan 21 19:45 test5.txt
[root@node2 Desktop]# file test5*
test5_ln1.txt: symbolic link to 'test5.txt'
test5.txt:     ASCII text, with CRLF line terminators
[root@node2 Desktop]# 
[root@node2 Desktop]# dos2unix -F test5_ln1.txt  ## 如不加-F参数,会跳过文件不转换
dos2unix: converting file test5_ln1.txt to Unix format ...
[root@node2 Desktop]# 
[root@node2 Desktop]# file test5*
test5_ln1.txt: symbolic link to 'test5.txt'
test5.txt:     ASCII text
相关推荐
程序员小崔日记3 小时前
20块钱注册一年 .COM 域名!Spaceship 最新优惠教程,支付宝即可付款(附优惠码)
服务器·腾讯云·域名
Better Bench3 小时前
WSL2 Ubuntu 中 Claude CLI “command not found” 故障排查与修复
linux·ubuntu·claude·wsl·claudecode
实心儿儿4 小时前
Linux —— 进程间关系和守护进程
linux·运维·服务器
FII工业富联科技服务4 小时前
工业设备运维如何Agentic化?拆解Factory Brain的设备运维架构
大数据·运维·人工智能·架构·制造
林浅不想努力4 小时前
LVS知识点总结
服务器·云原生·lvs
Dawn-bit5 小时前
Linux磁盘管理详解
linux·运维·服务器·计算机网络·云计算
RisunJan6 小时前
Linux命令-sftp(SSH 文件传输协议客户端)
linux·运维
极客先躯7 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
龙仔7258 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
老杨聊技术8 小时前
CentOS 7 安装 MySQL 8 保姆级教程
linux·mysql·centos