68
ターミナルでファイルをコピーおよび移動する方法

コマンドライン(Macの美しい画面の裏に隠されたコードの世界)は、日常的なタスクをより速く実行できるだけでなく、技術者としての信頼を築くためのクールな手段でもあります。コマンドラインを使ってファイルやフォルダを移動したり、削除したり、必要なときにマニュアルページからヘルプを参照したりする方法を学びました。ここでは、ファイルのコピーと移動といった、よく使われる操作を紹介します。また、ファイルを新しい場所に移動できるように、ディレクトリ(Unix用語でフォルダ)を作成する方法も紹介します。

なぜコマンドラインにこだわるのでしょうか?

Finder でファイルをコピーしたり移動したりするのは確かに簡単ですが、代わりにコマンド ラインからこれを行う必要がある理由はいくつかあります。

  • Finder でウィンドウを開かずに、ある場所から別の場所にファイルをコピーまたは移動できます。
  • Finderで非表示になっているファイルをコピーまたは移動できます。これらのファイルには、特定のアプリケーションやMacの特定の部分の設定が含まれている場合があり、ファイル名の前にドット(.)が付いているため、Finderには表示されません。
  • ワイルドカードを使用して複数のファイルをコピーまたは移動できます。
  • ファイルの名前をすばやく変更できます。
  • Mac の故障により Finder にアクセスできなくなった場合は、コマンド ラインを使用して問題を解決できる可能性があります。

ファイルのコピーと移動の違い

Finderで、例えばデスクトップから書類フォルダ、あるいは同じディスクやボリューム上の他のフォルダにファイルをドラッグすると、ファイルは移動したことになります。ファイルはデスクトップ上にはなくなり、書類フォルダ内にのみ表示されます。しかし、デスクトップから外付けハードディスクにファイルをドラッグすると、ファイルは元の場所に残り、コピーされたことがわかります。(ご存知かもしれませんが、Finderでは、同じハードディスク上のファイルであっても、Optionキーを押しながらドラッグすることでコピーできます。)

コマンドラインからの場合も同様です。移動とコピーにはmvと の 2つのコマンドがありますcp。前者は、同じハードディスク上の新しい場所にファイルをドラッグするのと同じ動作をします。後者は、Optionキーを押しながらドラッグする動作、つまりファイルを別のディスクまたはボリュームにドラッグしたときと同じ動作をします。

ファイルとディレクトリをコピーする方法

コマンドを使ったファイルのコピーはcp簡単です。まず、ターミナル(/Applications/Utilitiesフォルダ内)を起動します。次に、以下の構文を使ってコマンドを作成します。

cp source destination

たとえば、MyFile.rtf という名前のファイルをデスクトップ フォルダーからドキュメント フォルダーにコピーするには、ターミナルで次のコマンドを入力し、Return キーを押します。

cp ~/Desktop/MyFile.rtf ~/Documents

これで、デスクトップに MyFile.rtf という名前のファイルが作成され、そのファイルのコピーがドキュメント フォルダーに保存されます。

「コマンドラインをマスターする:ファイルとフォルダのナビゲーション」で説明したように、チルダ(~)記号はホームフォルダへのショートカットであり、このホームフォルダにはドキュメントフォルダが含まれています。このコマンドは、source引数で指定したパスにあるファイルを、destinationであるディレクトリ(フォルダ)に移動します。もしそこにファイルが存在しない場合、または名前を間違って入力した場合、ターミナルは「そのようなファイルまたはディレクトリはありません」というエラーを表示します。

macOSターミナルファイルなし

ファイル パスを間違って入力すると、ターミナルに「そのようなファイルまたはディレクトリは存在しません」というエラーが表示されます。

IDG

ディレクトリを、そこに含まれるすべてのファイルを含めてコピーすることもできます。この場合、特別な「フラグ」または「オプション」であるcp command:-Rまたは recursive フラグを使用します。コマンドでオプションを使用する場合、この追加の文字(常にハイフン (-) が先頭に付きます)は、コマンドに少し異なる動作を指示します。recursive オプションはcp、フォルダ内のすべての項目(すべてのサブフォルダ、すべてのサブフォルダ内のすべてのファイルとフォルダ、そしてその下まですべて)を新しい場所にコピーするようにコマンドに指示します。つまり、デスクトップからドキュメントフォルダにディレクトリをコピーするには、次のようにします。

cp -R ~/Desktop/MyFolder /Documents

このコマンドの動作は同じように思われるでしょうmv。しかし、このコマンドには2つの使い方がありますmv。1つ目は、ファイルを別のディスクまたはボリュームに移動します。Finderと同様に、ファイルを別のボリュームにコピーしても元のファイルは削除されませんが、移動の場合は元のファイルは削除されるので覚えておいてください。つまり、デスクトップにあるファイルをバックアップディスク上のフォルダに移動するには、次のコマンドを実行します。

mv ~/Desktop/MyFile.rtf /Volumes/Backup/MyFolder

コマンドを使ってディレクトリを移動することもできますmv。構文は同じで、cp-Rコマンドのようにフラグは必要ありません。

mv ~/Desktop/MyFolder /Volumes/Backup

複数のファイルをコピーまたは移動する方法

コマンドラインの優れた点の一つは、ワイルドカードを使ってコマンドを簡略化できることです。例えば、デスクトップにあるすべての.rtfファイル(リッチテキストファイル)をドキュメントフォルダにコピーしたい場合は、アスタリスク(*)ワイルドカードを使用できます。

cp ~/Desktop/*.rtf ~/Documents

コマンドで同じワイルドカードを使用してmv、複数のファイルを移動できます。

ファイル名を変更する方法

このmvコマンドを使えば、ファイル名を素早く変更することもできます。基本的には、ファイルを同じ場所に移動し、名前を変更するだけです。移動先に名前を指定すると、mvコマンドはファイルを移動する際にファイル名も変更します。ファイル名の変更は次のように行います。

mv ~/Desktop/MyFile.rtf ~/Desktop/MyFile-old.rtf

これはトラブルシューティングに役立つツールです。設定ファイルなどのファイルのバックアップコピーを作成しておけば、後で必要になった場合に備えて保存しておくことができます。また、単にファイル名を変更したいという場合にも、この名前変更方法を使用できます。

ファイルをコピーしてcp名前を変更することもできます。この場合、コピー先のディレクトリだけでなく、ファイル名も指定する必要があります。

cp ~/Desktop/MyFile.rtf ~/Documents/MyFile1.rtf

ディレクトリ(フォルダ)を作成する方法

最後に、役に立つかもしれないコマンドを一つ紹介します。それはmkdirディレクトリ作成コマンドです。これは、例えば新しいプロジェクトを始める際など、一度にたくさんのフォルダを作成する必要がある場合に非常に便利です。まず、cd(ディレクトリ変更)コマンドを使って、新しいディレクトリを作成したいディレクトリに移動します。移動したら、次のコマンドを実行します(以下の例では、は作成したいディレクトリ名です。任意の名前にDirectoryName置き換えてください)。DirectoryName

mkdir DirectoryName

ディレクトリには任意の名前(たとえば、「Hot Project」や「TPS Reports」)を使用でき、1 つのコマンドで複数のディレクトリを作成することもできます。

mkdir MyDirectory1 MyDirectory2 MyDirectory3

mv、、という3つのシンプルなコマンドを使えば、cpMacmkdirのファイルシステム内のどこにでもファイルをコピー・移動したり、ディレクトリを作成してファイルを保存したりできます。これらのコマンドに慣れてくると、いかに簡単に使えるかがわかるでしょう。