一般的に普及しているWindowsOSではクリックやドラッグなどの操作でファイルやフォルダのコピーや移動、削除などができます。Linuxではこれらの動作に対してコマンドが必要となります。そこで、ファイル管理に使うコマンド紹介の第1弾としてファイルのコピーができるcpコマンドを取り上げます。
□ファイルのコピー
ファイルを別名で同じディレクトリにコピーする場合は「cp コピー元ファイル コピー先ファイル」のように記述します。上の例では、カレントディレクトリにあるtest.txtをcopy.txtにコピーしています。
□ファイルを別ディレクトリにコピー
ファイルを別のディレクトリにコピーする場合は「cp コピー元ファイル コピー先ディレクトリ」と記述します。上の例では、カレントディレクトリにあるtest.txtをディレクトリdocumentにコピーしています。
□複数ファイルのコピー
複数ファイルをまとめて別のディレクトリにコピーすることもできます。その場合は「cp コピー元ファイル1 コピー元ファイル2 コピー先ディレクトリ」のように記述します。上の例では、カレントディレクトリにあるtest.txtとcopy.txtをディレクトリdocumentにコピーしています。
3つ以上の場合も同様に「cp コピー元ファイル1 コピー元ファイル2 コピー元ファイル3 コピー先ディレクトリ」のように増やしていけば処理することができます。
□ディレクトリのコピー
ディレクトリをコピーしたいときは、cpコマンドに-rオプションを指定することで実現できます。「cp -r コピー元ディレクトリ コピー先ディレクトリ」のように記述します。ディレクトリをコピーすると、中身も一緒にコピーされます。上の例では、カレントディレクトリにあるディレクトリdoc2とその中身のtest.txtをディレクトリdocumentの中にコピーしています。
□cpコマンドのオプション一覧
-a 元ファイルの属性とディレクトリの構成を保持してコピーする。
-b 上書きされるファイルのバックアップを作成する。
-d シンボリックリンクをコピーする際に実体をコピーする。
-f コピー先に同じ名前のファイルがある際に警告なしで上書きをする。
-i 上書きされるファイルがある際に確認が入る。
-l ハードリンクを作成する。
-P ディレクトリ構造ごとコピーする。
-p 元のファイルのオーナー、グループ、パーミション、タイムスタンプを保持。
-r コピー元にディレクトリを指定した場合、再帰的に(サブディレクトリも含めて)コピーする。
-s コピーの代わりにシンボリックリンクを作成する。
-u 保存先が同じファイル名のファイルだったとき、タイムスタンプを確認して、新しいor同じだったときコピーしない。
-v 実行内容を表示
引用:https://qiita.com/web-hackers/items/08420eb57b1765fdc65d
ファイルのコピーができるcpコマンドについては以上となります。次回は、ファイルの移動や名前の変更ができるmvコマンドについて紹介する予定です。