cp -tオプションの使い方を完全ガイド!初心者でもわかるコピー先の先指定
生徒
「Linuxのcpコマンドって、ファイル名のあとにコピー先を書くのが普通ですよね?」
先生
「そうだね。でも実は、-tオプションを使えば、コピー先のディレクトリを先に指定する方法もあるんだよ。」
生徒
「えっ!先にコピー先を書けるってことですか?便利そうですね!」
先生
「順番を変えられるから、複数ファイルをコピーするときに見やすくなるんだ。早速使い方を見ていこう。」
1. cpコマンドとは?
cp(コピー)コマンドは、Linuxでファイルやディレクトリを複製するための基本コマンドです。Windowsでの「コピー&ペースト」に相当し、ターミナル上で正確かつ高速にファイル操作ができます。
通常の使い方は以下のようになります。
cp file.txt /home/user/backup/
この例では、file.txt を /home/user/backup/ にコピーします。
2. -tオプションとは?(ターゲットの略)
-tオプションは、target(ターゲット)=コピー先ディレクトリを最初に指定できる便利な方法です。
通常は、最後にコピー先を書きますが、-tを使えば、先に書いてしまって、あとからコピー元ファイルをいくつでも続けて書くことができます。
具体的な書き方はこちらです。
cp -t /home/user/backup/ file1.txt file2.txt
この例では、file1.txt と file2.txt を、先に指定した /home/user/backup/ にコピーします。
3. -tオプションが便利な理由
複数のファイルをコピーする場合、コピー元のファイルが多いと、最後に書くコピー先が埋もれて見にくくなることがあります。
そんなときに -t を使えば、先にコピー先を明確に書けるため、処理の目的がすぐにわかるようになります。
特にスクリプトを書くときや、複雑なファイル名が並ぶときに重宝されます。
4. 複数ファイルをコピーする実例
以下のような構成のファイルがあるとします。
report1.txtreport2.txtreport3.txt- コピー先フォルダ:
reports/
このファイルたちをまとめて reports フォルダにコピーするには、以下のようにします。
cp -t reports/ report1.txt report2.txt report3.txt
この方法なら、コピー先が一番最初に書かれているので、視認性が高く、わかりやすいです。
5. -tオプションと他のオプションの組み合わせ
5-1. -vと組み合わせて進行表示
-v は verbose(詳細表示)オプションで、どのファイルがコピーされたかを表示します。
cp -vt reports/ report1.txt report2.txt
'report1.txt' -> 'reports/report1.txt'
'report2.txt' -> 'reports/report2.txt'
何がコピーされたかをリアルタイムで確認できるので安心です。
5-2. -iと組み合わせて上書き確認
-i は interactive(対話型)の略で、同名ファイルがある場合に上書きするかどうかを聞いてきます。
cp -ti reports/ report1.txt
cp: overwrite 'reports/report1.txt'? y
間違って上書きしてしまうのを防ぎたいときに便利です。
6. -tオプションを使うときの注意点
- コピー先のディレクトリが存在しないと、エラーになる
- コピー先を最初に書くため、読み間違いには注意
-tのあとにスペースを忘れずに入れること
例えば、次のような誤りは避けましょう。
cp -t/home/user/backup/ file.txt
cp: missing destination file operand after 'file.txt'
-tとコピー先ディレクトリの間にスペースがないため、エラーになります。
7. cp -tと通常のcpの違いまとめ
| 使い方 | コマンド | 特徴 |
|---|---|---|
| 通常のcp | cp file.txt target/ |
コピー先は最後に書く |
| cp -t | cp -t target/ file.txt |
コピー先を先に指定する |
視認性と処理の明確さを重視するなら、-tオプションは非常に役立ちます。