Введение
В этом практическом занятии мы рассмотрим команду Linux mtools, которая представляет собой набор утилит для доступа к дискам MS-DOS с системы Unix без их монтирования. Сначала мы установим пакет mtools на Ubuntu 22.04, а затем изучим различные команды и параметры, доступные в mtools. Наконец, мы узнаем, как управлять образами дискет с помощью mtools.
Пакет mtools должен быть установлен на системе перед его использованием. В этом практическом занятии приведены пошаговые инструкции по установке пакета, а затем демонстрируется практическое применение команд mtools для операций с файлами и каталогами на дисках MS-DOS.
Установка пакета mtools на Ubuntu 22.04
На этом шаге мы установим пакет mtools в среде Ubuntu 22.04. mtools представляет собой набор утилит для доступа к дискам MS-DOS с системы Unix без их монтирования.
Сначала обновим индекс пакетов:
sudo apt-get update
Пример вывода:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (324 kB/s)
Reading package lists... Done
Теперь установим пакет mtools:
sudo apt update
sudo apt-get install -y mtools
Пример вывода:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libc6 libmagic-mgc libmagic1
Suggested packages:
mtools-doc
The following NEW packages will be installed:
libc6 libmagic-mgc libmagic1 mtools
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 632 kB of archives.
After this operation, 2,102 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libc6 amd64 2.35-0ubuntu3.1 [2,560 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmagic-mgc amd64 5.38-4 [276 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libmagic1 amd64 5.38-4 [92.6 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 mtools amd64 4.0.26-1 [201 kB]
Fetched 632 kB in 1s (632 kB/s)
Selecting previously unselected package libc6.
(Reading database... 24441 files and directories currently installed.)
Preparing to unpack.../libc6_2.35-0ubuntu3.1_amd64.deb...
Unpacking libc6 (2.35-0ubuntu3.1)...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack.../libmagic-mgc_5.38-4_amd64.deb...
Unpacking libmagic-mgc (5.38-4)...
Selecting previously unselected package libmagic1.
Preparing to unpack.../libmagic1_5.38-4_amd64.deb...
Unpacking libmagic1 (5.38-4)...
Selecting previously unselected package mtools.
Preparing to unpack.../mtools_4.0.26-1_amd64.deb...
Unpacking mtools (4.0.26-1)...
Setting up libc6 (2.35-0ubuntu3.1)...
Setting up libmagic-mgc (5.38-4)...
Setting up libmagic1 (5.38-4)...
Setting up mtools (4.0.26-1)...
Processing triggers for man-db (2.10.2-1)...
Processing triggers for libc-bin (2.35-0ubuntu3.1)...
Пакет mtools теперь установлен в вашей среде Ubuntu 22.04.
Исследование команд и параметров mtools
На этом шаге мы рассмотрим различные команды и параметры, предоставляемые пакетом mtools.
Сначала проверим доступные команды mtools:
mtools --help
Пример вывода:
mtools version 4.0.26, dated 2019/11/29
Usage: mtools [options] command [arguments]
Options:
-V, --version print version information and exit
-h, --help print this help
-f, --config=FILE use FILE as the configuration file
-s, --safe disable all potentially dangerous commands
-q, --quiet suppress most warning messages
-v, --verbose enable verbose messages
-d, --debug enable debug messages
Commands:
mcopy copy file or directory
mmove move or rename file or directory
mdir display directory of MSDOS file
mtype display contents of file
mren rename file
mdel, mdelete delete file
mmd, mmkdir make directory
mrd, mrmdir remove directory
mformat format disk
mlabel set volume label
mattrib change file attribute bits
minfo print information about an MSDOS file or directory
mshortname display short 8.3 names
mtoolstest run internal consistency checks
mcheck check MSDOS filesystem consistency
Как вы можете видеть, mtools предоставляет разнообразные команды для управления файловыми системами на основе MS-DOS, такие как mcopy, mdir, mtype и другие.
Познакомимся с некоторыми часто используемыми командами mtools:
Просмотр содержимого образа диска MS-DOS:
mcopy -ml a:Эта команда выведет содержимое диска "a:", который обычно представляет собой образ диска MS-DOS.
Копирование файла с хост-системы на образ диска MS-DOS:
mcopy example.txt a:Это скопирует файл
example.txtиз текущего каталога на диск "a:" (образ диска MS-DOS).Копирование файла с образа диска MS-DOS на хост-систему:
mcopy a:example.txt.Это скопирует файл
example.txtс диска "a:" (образа диска MS-DOS) в текущий каталог на хост-системе.Создание каталога на образе диска MS-DOS:
mmd a:newdirЭто создаст новый каталог с именем "newdir" на диске "a:" (образ диске MS-DOS).
Удаление каталога с образа диска MS-DOS:
mrd a:newdirЭто удалит каталог "newdir" с диска "a:" (образа диска MS-DOS).
Помните, что диск "a:" обычно представляет собой образ диска MS-DOS, и вы можете заменить его соответствующей буквой диска или путем к файлу образа диска.
Управление образами дискет с помощью mtools
На этом последнем шаге мы узнаем, как управлять образами дискет с использованием команд mtools.
Сначала создадим файл образа дискеты:
dd if=/dev/zero of=floppy.img bs=1440k count=1
Это создаст файл образа дискеты размером 1,44 МБ с именем floppy.img.
Теперь отформатируем образ дискеты:
mformat a: -f 1440
Это отформатирует диск "a:" (который представляет файл floppy.img) с емкостью 1,44 МБ.
Далее скопируем файл на образ дискеты:
mcopy example.txt a:
Это скопирует файл example.txt из текущего каталога на диск "a:" (образ дискеты).
Для проверки содержимого образа дискеты можно использовать команду mdir:
mdir a:
Пример вывода:
Volume in drive A has no label
Volume Serial Number is 0000-0000
Directory for A:/
example.txt 1024 2023-04-18 15:23
1 file
Наконец, удалим файл с образа дискеты:
mdel a:example.txt
И проверим, что файл был удален:
mdir a:
Пример вывода:
Volume in drive A has no label
Volume Serial Number is 0000-0000
Directory for A:/
0 files
Вот и все! Теперь вы знаете, как управлять образами дискет с использованием команд mtools.
Итоги
В этом практическом занятии мы научились устанавливать пакет mtools на Ubuntu 22.04. Этот пакет представляет собой набор утилит для доступа к дискам MS-DOS с системы Unix без их монтирования. Мы изучили различные команды и параметры, доступные в mtools, и попрактиковались в управлении образами дискет с использованием предоставленных инструментов. В практическом занятии были рассмотрены основные шаги по работе с mtools, а также продемонстрированы его практические применения при работе с хранилищами, отформатированными в формате MS-DOS, в системе Linux.



