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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы научитесь использовать команду mcopy, которая представляет собой инструмент для копирования файлов и каталогов между различными файловыми системами, включая FAT, NTFS и файловые системы Linux. В рамках лабораторной работы рассматриваются следующие аспекты: понимание команды mcopy, копирование файлов и каталогов с использованием mcopy и изучение расширенных параметров команды mcopy. Чтобы использовать mcopy, вам необходимо установить пакет mtools на своей системе. Также в лабораторной работе отмечается, что пакет mtools может потребовать установки, так как это набор утилит для доступа к файловым системам MS-DOS с систем на основе Unix.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/touch -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} linux/cp -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} linux/mv -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} linux/rm -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} linux/mkdir -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} linux/wildcard -.-> lab-422792{{"Команда mcopy в Linux с практическими примерами"}} end

Понимание команды mcopy

На этом этапе вы узнаете о команде mcopy, которая представляет собой инструмент для копирования файлов и каталогов между различными файловыми системами, включая FAT, NTFS и файловые системы Linux.

Команда mcopy является частью пакета mtools, который представляет собой набор утилит для доступа к файловым системам MS-DOS с систем на основе Unix. Чтобы использовать mcopy, вам необходимо установить пакет mtools на своей системе.

Начнем с проверки, установлен ли пакет mtools на вашей системе:

sudo apt-get 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:
  libfuse2
The following NEW packages will be installed:
  libfuse2 mtools
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.

Теперь давайте рассмотрим базовое использование команды mcopy:

mcopy -v ~/project/file.txt a:

Пример вывода:

Copying ~/project/file.txt to a:file.txt

В этом примере мы использовали команду mcopy для копирования файла file.txt из каталога ~/project в корневой каталог первой файловой системы FAT/VFAT (обычно это первый дискета или USB-накопитель).

Опция -v включает подробный режим, который предоставляет более детальный вывод во время операции копирования.

a: в конце команды указывает назначение для операции копирования. В данном случае a: представляет первую файловую систему FAT/VFAT.

Копирование файлов и каталогов с использованием mcopy

На этом этапе вы научитесь использовать команду mcopy для копирования файлов и каталогов между различными файловыми системами.

Начнем с создания каталога и нескольких файлов в каталоге ~/project:

mkdir ~/project/source_dir
touch ~/project/source_dir/file1.txt ~/project/source_dir/file2.txt

Теперь скопируем весь каталог source_dir на устройство a::

mcopy -s ~/project/source_dir a:

Пример вывода:

Copying ~/project/source_dir/file1.txt to a:file1.txt
Copying ~/project/source_dir/file2.txt to a:file2.txt

В этом примере мы использовали опцию -s для рекурсивного копирования всего каталога. Команда mcopy скопирует каждый файл внутри каталога source_dir в корневой каталог устройства a:.

Вы также можете скопировать отдельный файл с помощью команды mcopy:

mcopy ~/project/source_dir/file1.txt a:

Пример вывода:

Copying ~/project/source_dir/file1.txt to a:file1.txt

В этом случае только файл file1.txt будет скопирован в корневой каталог устройства a:.

Исследование расширенных параметров mcopy

На этом последнем этапе вы узнаете о некоторых расширенных параметрах, доступных для команды mcopy.

Одним полезным параметром является флаг -a, который сохраняет исходные атрибуты файла при его копировании. Это может быть полезно при работе с файлами, имеющими определенные разрешения или временные метки:

mcopy -a ~/project/source_dir/file1.txt a:

Пример вывода:

Copying ~/project/source_dir/file1.txt to a:file1.txt

Другой параметр - это флаг -M, который позволяет установить время модификации скопированного файла таким же, как у исходного:

mcopy -M ~/project/source_dir/file2.txt a:

Пример вывода:

Copying ~/project/source_dir/file2.txt to a:file2.txt

Вы также можете использовать параметр -D для указания целевого каталога при копировании файлов:

mcopy -D destination_dir ~/project/source_dir/file1.txt a:

Пример вывода:

Copying ~/project/source_dir/file1.txt to a:destination_dir/file1.txt

В этом примере файл file1.txt копируется в каталог destination_dir на устройстве a:.

Наконец, команда mcopy также поддерживает подстановочные знаки, что позволяет копировать несколько файлов сразу:

mcopy ~/project/source_dir/*.txt a:

Пример вывода:

Copying ~/project/source_dir/file1.txt to a:file1.txt
Copying ~/project/source_dir/file2.txt to a:file2.txt

Эта команда скопирует все файлы с расширением .txt из каталога source_dir в корень устройства a:.

Итог

В этом лабораторном занятии вы познакомились с командой mcopy, которая представляет собой инструмент для копирования файлов и каталогов между различными файловыми системами, включая FAT, NTFS и файловые системы Linux. Вы начали с проверки, установлен ли пакет mtools, в который входит команда mcopy, на вашей системе, а затем изучили базовое использование команды mcopy для копирования файла из локальной файловой системы в файловую систему FAT/VFAT. Затем вы узнали, как использовать команду mcopy для копирования всего каталога и его содержимого в файловую систему FAT/VFAT.

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