はじめに
この実験では、FAT、NTFS、Linux ファイルシステムなど、異なるファイルシステム間でファイルやディレクトリをコピーするためのツールである mcopy コマンドの使い方を学びます。この実験では、mcopy コマンドの理解、mcopy を使用したファイルやディレクトリのコピー、および高度な mcopy オプションの探索をカバーしています。mcopy を使用するには、システムに mtools パッケージをインストールする必要があります。この実験では、mtools パッケージは Unix 系システムから MS-DOS ファイルシステムにアクセスするためのユーティリティのコレクションであり、インストールが必要な場合があることも指摘しています。
mcopy コマンドの理解
このステップでは、FAT、NTFS、Linux ファイルシステムなど、異なるファイルシステム間でファイルやディレクトリをコピーするために使用される mcopy コマンドについて学びます。
mcopy コマンドは mtools パッケージの一部です。mtools パッケージは、Unix 系システムから MS-DOS ファイルシステムにアクセスするためのユーティリティのコレクションです。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 コマンドを使用して、~/project ディレクトリ内の file.txt ファイルを、最初の 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 コマンドで利用可能ないくつかの高度なオプションについて学びます。
有用なオプションの 1 つが -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 が a: デバイス上の destination_dir ディレクトリにコピーされます。
最後に、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
これにより、source_dir ディレクトリ内のすべての .txt ファイルが a: デバイスのルートにコピーされます。
まとめ
この実験では、FAT、NTFS、Linux ファイルシステムなど、異なるファイルシステム間でファイルやディレクトリをコピーするためのツールである mcopy コマンドについて学びました。まず、mcopy コマンドを含む mtools パッケージがシステムにインストールされているかを確認し、その後、mcopy コマンドの基本的な使い方を調べ、ローカルファイルシステムから FAT/VFAT ファイルシステムにファイルをコピーしました。次に、mcopy コマンドを使用して、ディレクトリ全体とその内容を FAT/VFAT ファイルシステムにコピーする方法を学びました。



