Linux mcopy 命令 - MSDOS 复制文件
• 最后修改:2025-09-05 • 阅读量:100
mcopy ( 英文全称为:MS-DOS copy ) 命令是 mtools
软件工具集中的一个命令,它的功能主要是用于在 FreeBSD / Linux 系统与 MS-DOS 文件系统(FAT16/FAT32)之间复制文件。
本文将为你介绍 mcopy
命令的使用方法,使你对 mcopy
命令具有基本的了解,方便你使用该工具在不同的文件系统之间复制文件。
系统安装指南
mcopy
属于 mtools
软件包,各系统安装命令如下:
Debian / Ubuntu 系统
在 Debian / Ubuntu 系统安装 mcopy 所在的软件包 mtools:
sudo apt update && sudo apt install mtools -y
RHEL / AlmaLinux 系统
在 RHEL / AlmaLinux / Rocky Linux 系统安装 mcopy 所在的软件包 mtools:
sudo dnf update
sudo dnf install mtools
FreeBSD 系统
在 FreeBSD 系统安装 mcopy 所在的软件包 mtools:
sudo pkg update
sudo pkg install mtools
mcopy 命令语法
如下给出 mcopy
命令的基本语法结构:
mcopy [选项] 源文件... 目标文件
mcopy [选项] 源文件... 目标目录
语法结构中重要部分的解释说明:
- 源文件:支持 Unix 路径或 DOS 设备名(如
a:file.txt
) - 目标文件或目录:支持 Unix 路径或 DOS 设备
- 特殊设备名解释说明:
a:
= 第一个软驱c:
= 第一个硬盘分区d:
= 第二个硬盘分区
不同文件系统间路径转换的相关规则说明:
- 目录分隔符不同:Unix 路径使用正斜杠
/
分割目录,DOS 路径使用反斜杠\
分割目录 - 自动转换文件名:
- 小写字符会转换为大写
- 特殊的字符转换为下划线
_
- 过长的文件名会依据 8.3 格式截断
附:“8.3 格式” 通常指 Windows/DOS 系统中一种文件命名规范,其基本的要求是文件名不超过 8 个字符,扩展名不超过 3 个字符,且不允许使用空格等特殊符号。
mcopy 命令使用示例
1. 复制文件到 DOS 磁盘
源文件指定 Unix 系统文件,目标文件指定 DOS 磁盘的位置,会把文件复制到 DOS 磁盘:
mcopy report.txt a:
# 将当前目录的 report.txt 复制到
解释说明:a:
为 DOS 系统下的软盘
2. 从 DOS 磁盘复制到 Unix
源文件指定 DOS 系统文件,目标文件指定 Unix 磁盘的位置,会把文件从 DOS 复制到 Unix 磁盘:
mcopy d:\data\config.ini ~/backup/
3. 复制时保留文件属性
使用 -a
选项,在文件系统间复制文件时,会保留文件的原始属性信息:
mcopy -a manual.doc c:\docs\
4. 递归复制目录
使用 -s
选项实现递归复制子目录中的内容:
mcopy -s -n ~/photos/*.jpg d:\images\
mcopy 命令选项详解
如下给出 mcopy 命令的详细解释说明:
选项 | 说明 | 示例 |
---|---|---|
-n |
复制时自动转换文件名(按照 8.3 格式要求转换) | mcopy -n longfilename.txt a: |
-m |
保留文件的修改时间信息 | mcopy -m file.doc c:\ |
-a |
保留 DOS 文件属性信息(如:归档/只读信息等) | mcopy -a config.sys b: |
-s |
递归复制子目录中的文件 | mcopy -s ~/data/* d:\backup\ |
-Q |
遇到错误时询问 | mcopy -Q critical.bin a: |
-v |
显示详细信息 | mcopy -v *.txt c:\docs\ |
-t |
转换换行符(LF ↔ CRLF) | mcopy -t script.bat unix/ |
-b |
批处理模式 | mcopy -b *.* d: |
-p |
保留文件的权限新(仅支持 Unix → DOS) | mcopy -p document.pdf a: |
-o |
覆盖目标文件的内容 | mcopy -o update.exe c:\ |
-i |
指定磁盘映像文件 | mcopy -i disk.img file.txt :: |
-D |
启用调试模式 | mcopy -D debug.log c:\ |
-- |
终止选项解析 | mcopy -- -file.txt a: |
mcopy 与 cp 命令的区别
特性 | mcopy | cp |
---|---|---|
文件系统支持情况 | 专用于 MS-DOS/FAT 文件系统 | 通用文件系统 |
是否转换文件名 | 自动转换大小写和格式 | 保留原始文件名 |
是否转换换行符 | 支持 LF ↔ CRLF 转换 | 不做任何转换 |
结语
本文全面的介绍了 mcopy
的语法结构及其功能,并给出了 mcopy
命令的具体使用示例,相信你能够对 mcopy
命令有个基本的了解,并帮助你正确的使用 mcopy
在不同系统间复制文件。 mcopy
命令可以在 Linux 各发行版和 FreeBSD 系统中使用,基本功能是相同的。