侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux mread命令教程:如何从DOS设备复制文件到Linux目录(附实例详解和注意事项)

Linux mread命令介绍

mread(move and read)是一个用来将MS-DOS文件复制到Linux/Unix的目录中的命令。mread是mtools工具命令的一部分,可以让你在Linux的文件系统中操作MS-DOS的文件。这个命令目前已经不常用,一般都使用mcopy命令来代替。

Linux mread命令适用的Linux版本

mread命令可以在大多数的Linux发行版中使用,只要安装了mtools软件包。你可以使用以下的命令来检查或安装mtools:

  • 在基于Debian的系统中(如Ubuntu),使用sudo apt install mtools
  • 在基于Red Hat的系统中(如CentOS),使用sudo yum install mtoolssudo dnf install mtools
  • 在基于Arch的系统中(如Manjaro),使用sudo pacman -S mtools

如果你的系统没有mtools,你也可以使用mount命令来挂载MS-DOS的文件系统,然后使用cp命令来复制文件。

Linux mread命令的基本语法

mread命令的基本语法如下:

mread [options] [MS-DOS files...] [Linux file or directory]

其中,options是一些可选的参数,用来修改mread的行为;MS-DOS files是指定要复制的DOS源文件或目录路径;Linux file or directory是指定要复制到的Linux目标文件或目录路径。

Linux mread命令的常用选项或参数说明

mread命令的常用选项或参数有以下几个:

选项参数说明
-b在复制文件时,保留DOS的备份文件(以~结尾的文件)
-Ddevice指定要操作的DOS设备,如A:或C:等
-n在复制文件时,不覆盖已存在的文件
-o在复制文件时,覆盖已存在的文件
-s在复制文件时,跳过DOS的系统文件(如COMMAND.COM或IO.SYS等)
-t在复制文件时,保留文件的时间戳
-v在复制文件时,显示详细的信息

Linux mread命令的实例

下面是一些使用mread命令的实例,你可以根据自己的需要来修改或尝试。

实例1:复制A盘中的所有文件到当前目录

如果你要将A盘中的所有文件复制到当前的Linux目录中,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,如果有同名的文件,会提示你是否覆盖。

实例2:复制A盘中的指定文件到当前目录

如果你只要复制A盘中的某些文件到当前的Linux目录中,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread a:file1.txt a:file2.doc ./

这个命令会将A盘中的file1.txt和file2.doc文件复制到当前目录下,如果有同名的文件,会提示你是否覆盖。

实例3:复制A盘中的所有文件到指定的Linux目录

如果你要将A盘中的所有文件复制到Linux的某个目录中,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread a:* /home/linux/dosfiles/

这个命令会将A盘中的所有文件(包括子目录)复制到/home/linux/dosfiles/目录下,如果有同名的文件,会提示你是否覆盖。

实例4:复制A盘中的指定文件到指定的Linux目录

如果你只要复制A盘中的某些文件到Linux的某个目录中,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread a:file1.txt a:file2.doc /home/linux/dosfiles/

这个命令会将A盘中的file1.txt和file2.doc文件复制到/home/linux/dosfiles/目录下,如果有同名的文件,会提示你是否覆盖。

实例5:复制A盘中的所有文件到当前目录,并保留文件的时间戳

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且保留文件的时间戳,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -t a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且保持文件的创建和修改时间不变,如果有同名的文件,会提示你是否覆盖。

实例6:复制A盘中的所有文件到当前目录,并显示详细的信息

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且显示复制的过程和结果,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -v a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且显示每个文件的大小、时间和状态,如果有同名的文件,会提示你是否覆盖。

实例7:复制A盘中的所有文件到当前目录,并保留DOS的备份文件

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且保留DOS的备份文件(以~结尾的文件),你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -b a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且不删除DOS的备份文件,如果有同名的文件,会提示你是否覆盖。

实例8:复制A盘中的所有文件到当前目录,并跳过DOS的系统文件

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且跳过DOS的系统文件(如COMMAND.COM或IO.SYS等),你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -s a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且不复制DOS的系统文件,如果有同名的文件,会提示你是否覆盖。

实例9:复制A盘中的所有文件到当前目录,并不覆盖已存在的文件

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且不覆盖已存在的文件,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -n a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且如果有同名的文件,会跳过复制。

实例10:复制A盘中的所有文件到当前目录,并强制覆盖已存在的文件

如果你要将A盘中的所有文件复制到当前的Linux目录中,并且强制覆盖已存在的文件,你可以使用以下的命令:

[linux@bashcommandnotfound.cn ~]$ mread -o a:* ./

这个命令会将A盘中的所有文件(包括子目录)复制到当前目录下,并且如果有同名的文件,会直接覆盖。

Linux mread命令的注意事项

使用mread命令时,有以下几点需要注意:

  • mread命令只能从DOS设备复制文件到Linux目录,不能反过来。如果你要从Linux目录复制文件到DOS设备,你可以使用mwrite命令。
  • mread命令会自动转换文件名的大小写,将DOS的大写文件名转换为Linux的小写文件名。如果你要保持文件名的大小写不变,你可以使用-m选项。
  • mread命令会自动删除DOS的文件属性,如只读、隐藏、系统等。如果你要保留文件的属性不变,你可以使用-a选项。
  • 如果你在使用mread命令时,遇到了bash: mread: command not found的错误,说明你的系统没有安装mtools软件包。你可以按照上面的方法来安装mtools,或者使用mount和cp命令来代替。
0

评论区