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 mtools
或sudo 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的备份文件(以~结尾的文件) |
-D | device | 指定要操作的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命令来代替。
评论区