当前位置: 首页 > news >正文

Linux dos2unix 命令详解

1. 命令简介

dos2unix 是一个用于将文本文件从 DOS 或 Mac 格式转换为 Unix 格式的命令行工具。它主要处理文本文件中的行结束符差异

核心功能:将 DOS(\r\n)或旧版 Mac(\r)格式的行结束符,转换为 Unix(\n)格式,保证脚本、配置文件在 Linux/Unix 环境正常解析、不报错。

2. 语法格式

基础简写语法:

bash

运行

dos2unix [选项] [文件 ...]

完整标准语法:

bash

运行

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

3. 常用选项及说明

表格

选项长选项说明
-h--help显示帮助信息
-k--keepdate保留文件原始时间戳,不修改修改日期
-q--quiet安静模式,不输出任何警告与日志
-V--version显示命令版本信息
-c--convmode指定转换模式:ASCII / 7bit / ISO / Mac,默认 ASCII
-o--oldfile原地转换,直接覆盖源文件(默认行为),支持多个文件
-n--newfile另存转换:输入文件不变,输出为新文件,一次仅支持一对文件

重要说明:

  1. 直接写dos2unix 文件列表,等价于-o直接修改原文件
  2. -o-n互斥,不可同时使用。

4. 示例用法

4.1 转换单个文件(原地覆盖)

bash

运行

dos2unix script.sh

4.2 批量转换多个文件

bash

运行

dos2unix file1.txt file2.txt file3.txt # 等价写法 dos2unix -o file1.txt file2.txt file3.txt

4.3 保留原文件,生成新转换文件

安全转换,不破坏源文件:

bash

运行

dos2unix -n old_config.cfg new_config.cfg

4.4 转换并保持文件时间戳不变

bash

运行

dos2unix -k important.log

4.5 组合参数:静默转换 + 保留时间

bash

运行

dos2unix -k -q file1.py file2.py

4.6 递归转换目录所有文件

bash

运行

# 方式1 find . -type f -exec dos2unix {} \; # 方式2(大批量文件效率更高) find . -type f | xargs dos2unix

4.7 只转换指定后缀文件

bash

运行

dos2unix *.sh *.txt *.conf

4.8 管道标准输入输出转换

不落地文件,流式转换:

bash

运行

cat dos_file.txt | dos2unix > unix_file.txt

5. 注意事项

  1. 文件备份风险默认 /-o模式会直接覆盖源文件,重要文件建议先用-n另存或提前备份。

  2. 禁止处理二进制文件仅用于纯文本(sh、txt、conf、py)。不要对图片、PDF、压缩包、程序执行转换,会导致文件损坏。

  3. 兼容旧 Mac 换行符虽然名字叫 dos2unix,也可转换 Mac 换行\r

bash

运行

dos2unix -c mac filename
  1. 反向转换对应工具Unix 转 DOS 换行 → 使用unix2dos,参数用法完全一致。

  2. 脚本排错神器Linux 脚本报^M、语法莫名错误,99% 是 Windows 换行导致,执行 dos2unix 即可修复。

获取更多Linux学习资料请关注“阿成学长工具包”公众号,对话框中输入2647获取

http://www.jsqmd.com/news/527988/

相关文章:

  • DEAP进化算法框架全攻略:从理论认知到实战应用
  • Git Submodule 在微服务架构中的应用指南,uni-app 模板语法修复说明。
  • 遗产继承律师如何选不踩坑?2026年靠谱推荐处理遗嘱纠纷且经验丰富律师 - 十大品牌推荐
  • 2026年重庆、四川、湖北口碑不错的本地GEO优化品牌企业推荐,专业服务全解析 - 工业品网
  • 模型对比:LiuJuan20260223Zimage v1.0与主流文生图模型在国风题材上的效果差异
  • IP-guard实战指南:即时通讯安全管控全解析
  • Youtu-VL-4B-Instruct惊艳效果展示:手写体+印刷体混合图中分区域OCR+结构化输出
  • Linux网络故障排查指南:从‘Name or service not known‘到畅通无阻
  • 3大维度解析Java智能地址解析:从原理到落地的实践指南
  • MCP3008嵌入式ADC驱动库设计与SPI工程实践
  • string类中基本的知识点
  • 一条命令装好 Oracle 数据库?这个脚本做到了!
  • 深度剖析2026年云贵川地区GEO优化对市场竞争力作用大的靠谱公司 - 工业推荐榜
  • 每日一题3.23——最长稳定连续子数组
  • 8种主流LLM Agents开发框架盘点及MCP Server集成教程,小白程序员必备收藏!
  • 如何通过专注力训练方法改善多动症儿童的冲动行为?
  • 从零到一:打造你的个人智能图像检索系统
  • 2026年汽车贴膜改色价格大揭秘,哈尔滨这些品牌费用合理 - 工业品网
  • 开源工具KMS_VL_ALL_AIO:零基础安全使用与高效激活方案全指南
  • 北京拆迁补偿律师如何选择不踩坑?2026年靠谱推荐房产纠纷处理专业律师团队 - 十大品牌推荐
  • Cogito-V1-Preview-Llama-3B效果实测:对比Claude Code的代码生成能力
  • 2026年哈尔滨汽车贴膜改色选购攻略,靠谱公司怎么选 - 工业推荐榜
  • 细聊哈尔滨隐形车衣优质公司,选购时关注哪些品牌和价格? - mypinpai
  • 基于卷积神经网络思想的Tao-8k视觉描述优化
  • Java Bean数据校验实战指南,Spring——事务的传播性。
  • GitHub监控脚本改造指南:2023年漏洞情报自动推送(含企业微信对接)
  • 新手友好:bert-base-chinese预训练模型快速入门,无需训练直接使用
  • Playwright MCP:基于结构化可访问性树的智能浏览器自动化框架
  • 2026年3月地面材料厂家最新推荐:木地板、SPC石塑地板、运动地板、PVC地胶厂家选择指南 - 海棠依旧大
  • 一件代发选品三要素:起批量、更新频次、库存可见性