Команда mtools в Linux с практическими примерами

LinuxBeginner
Практиковаться сейчас

Введение

В этом практическом занятии мы рассмотрим команду Linux mtools, которая представляет собой набор утилит для доступа к дискам MS-DOS с системы Unix без их монтирования. Сначала мы установим пакет mtools на Ubuntu 22.04, а затем изучим различные команды и параметры, доступные в mtools. Наконец, мы узнаем, как управлять образами дискет с помощью mtools.

Пакет mtools должен быть установлен на системе перед его использованием. В этом практическом занятии приведены пошаговые инструкции по установке пакета, а затем демонстрируется практическое применение команд mtools для операций с файлами и каталогами на дисках MS-DOS.

Справка по командам Linux

Установка пакета 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:

  1. Просмотр содержимого образа диска MS-DOS:

    mcopy -ml a:
    

    Эта команда выведет содержимое диска "a:", который обычно представляет собой образ диска MS-DOS.

  2. Копирование файла с хост-системы на образ диска MS-DOS:

    mcopy example.txt a:
    

    Это скопирует файл example.txt из текущего каталога на диск "a:" (образ диска MS-DOS).

  3. Копирование файла с образа диска MS-DOS на хост-систему:

    mcopy a:example.txt.
    

    Это скопирует файл example.txt с диска "a:" (образа диска MS-DOS) в текущий каталог на хост-системе.

  4. Создание каталога на образе диска MS-DOS:

    mmd a:newdir
    

    Это создаст новый каталог с именем "newdir" на диске "a:" (образ диске MS-DOS).

  5. Удаление каталога с образа диска 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.

Справка по командам Linux