WindowsのコピーとLinuxのコピー

ファイルのコピーはオペレーティングシステムにおける基本操作の1つだ。Windowsではファイルエクスプローラ(ウィンドウズエクスプローラまたは、エクスプローラ)を使ってファイルのコピーなどを行う。Linuxではcpコマンドを使ってコピーを行う。

Linuxのcpコマンド、UNIX系オペレーティングシステムのcpコマンドもそうだが、操作がシンプルでわかりやすい。ファイルエクスプローラと比較しながら、Linuxのコピー方法を紹介しよう。

ファイルのコピー

ファイルエクスプローラでコピーを行う方法はいくつかあるが、次のようにコピーしたいファイルを選択してメニューを表示し、そこから「コピー」を選択するといった操作方法がある。

  • ファイルエクスプローラでファイルをコピー

    ファイルエクスプローラでファイルをコピー

次に、コピーしたい先をファイルエクスプローラで表示させてからメニューを表示させ「貼り付け」を選択する。これで、先にコピーしたファイルがこの場所にコピーされることになる。

  • ファイルエクスプローラでファイルを貼り付けてコピー完了

    ファイルエクスプローラでファイルを貼り付けてコピー完了

なお、コピー元のファイルと同じフォルダに貼り付けを行うと、名前が重複してしまう。このため、Windowsは次のように名前を変えた状態で貼り付けを実施する。

  • 同じフォルダに貼り付けた場合にはファイル名が変更された状態で貼り付けられる(「- コピー」という名前が追加されている)

    同じフォルダに貼り付けた場合はファイル名が変更される(「- コピー」という名前が追加されている)

このファイル名が気に入らない場合は好きなものに変更すれば、コピーは完了となる。

  • ファイル名を求めていたものに変更

    ファイル名を好きなものに変更

Linuxではcpというコマンドを使って同じ操作を行う。次のようにcpコマンドの第1引数にコピー元ファイルを指定し、第2引数にコピー先ファイルまたはコピー先のディレクトリを指定する。

cpコマンドの基本的な使い方

cp ファイルパス ファイルパスorディレクトリパス

WSLで動作するUbuntu 18.04 LTSでcpコマンドを実行した結果を次に示す。慣れてしまえば、ファイルエクスプローラのようなGUIを使うよりも簡単に作業できるようになる。

  • Ubuntu 18.04 LTS on WSLでのcpコマンドの実行例

    Ubuntu 18.04 LTS on WSLでのcpコマンドの実行例

cpコマンドは最後の引数がディレクトリになっていれば、複数のファイルを指定することもできる。その場合、指定したファイルがすべて最後に指定したディレクトリの下にコピーされることになる。

ディレクトリのコピー

ファイルエクスプローラでフォルダごとコピーをする場合は、Ctrlキーを押した状態でフォルダをドラッグ&ドロップしてコピーしたい場所へ持っていく。こうすると、フォルダをまとめてコピーする操作が実行される。

  • Ctrl-ドラッグ&ドロップでフォルダごとコピー

    Ctrl-ドラッグ&ドロップでフォルダごとコピー

フォルダの中に大量のファイルがありコピーに時間がかかる場合は、次のようにファイルをコピーしている様子がプログレスバーに表示される。

  • コピー中のようすを示すプログレスバー

    コピー中の様子を示すプログレスバー

ファイルの時と同じように、同じフォルダにコピーを行うとフォルダ名が別の名前に変更される。必要に応じてフォルダ名を変更すればコピーは完了だ。

  • 同じフォルダにコピーすると自動的に名前が別の名前になる(「- コピー」という名前が追加されている)

    同じフォルダにコピーすると自動的に名前が別の名前になる(「- コピー」という名前が追加されている)

Linuxでディレクトリごとコピーを行う場合もcpコマンドを使用する。cpコマンドにオプションとして-rを指定すると、ディレクトリを再帰的にコピーするようになる。要するに、ディレクトリ以下まるごとコピーが行われる。

cpコマンドでディレクトリをまるごとコピーする方法

cp -r ディレクトリパス ディレクトリパス 

cpコマンドでディレクトリをコピーすると次のようになる。ディレクトリ以下に大量のファイルがあって完了するまでに時間がかかる場合、次のようにしばらくプロンプトが表示されずにコマンドの実行が続くことになる。

  • Ubuntu 18.04 LTS on WSLでディレクトリをコピー

    Ubuntu 18.04 LTS on WSLでディレクトリをコピー

コピーが完了すると次のようにプロンプトが戻ってくる。

  • Ubuntu 18.04 LTSにおけるコピー完了

    Ubuntu 18.04 LTSにおけるコピー完了

このように、Linuxではファイルのコピーもディレクトリのコピーもcpコマンドで実行する。Windowsではファイルエクスプローラを使うところだが、慣れたらLinuxのcpコマンドのほうが便利に感じるだろう。

なお、Windowsにはcopyとxcopyというコマンドがあり、ファイルをコピーする場合はcopyコマンドを、フォルダをコピーする場合にはxcopyコマンドを使う。動きはLinuxのcpコマンドとかなり違うので、これらを使う場合はLinuxのcpコマンドとは別物と思って、事前に調べてから使ったほうがよいだろう。