カテゴリ: Linuxコマンド集 更新日: 2026/03/29

cp -tオプションの使い方を完全ガイド!初心者でもわかるコピー先の先指定

cp -tオプション|コピー先ディレクトリを先に指定する方法
cp -tオプション|コピー先ディレクトリを先に指定する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxのcpコマンドって、ファイル名のあとにコピー先を書くのが普通ですよね?」

先生

「そうだね。でも実は、-tオプションを使えば、コピー先のディレクトリを先に指定する方法もあるんだよ。」

生徒

「えっ!先にコピー先を書けるってことですか?便利そうですね!」

先生

「順番を変えられるから、複数ファイルをコピーするときに見やすくなるんだ。早速使い方を見ていこう。」

1. cpコマンドとは?

1. cpコマンドとは?
1. cpコマンドとは?

cp(コピー)コマンドは、Linuxでファイルやディレクトリを複製するための基本コマンドです。Windowsでの「コピー&ペースト」に相当し、ターミナル上で正確かつ高速にファイル操作ができます。

通常の使い方は以下のようになります。


cp file.txt /home/user/backup/

この例では、file.txt/home/user/backup/ にコピーします。

2. -tオプションとは?(ターゲットの略)

2. -tオプションとは?(ターゲットの略)
2. -tオプションとは?(ターゲットの略)

-tオプションは、target(ターゲット)=コピー先ディレクトリを最初に指定できる便利な方法です。

通常は、最後にコピー先を書きますが、-tを使えば、先に書いてしまって、あとからコピー元ファイルをいくつでも続けて書くことができます。

具体的な書き方はこちらです。


cp -t /home/user/backup/ file1.txt file2.txt

この例では、file1.txtfile2.txt を、先に指定した /home/user/backup/ にコピーします。

3. -tオプションが便利な理由

3. -tオプションが便利な理由
3. -tオプションが便利な理由

複数のファイルをコピーする場合、コピー元のファイルが多いと、最後に書くコピー先が埋もれて見にくくなることがあります。

そんなときに -t を使えば、先にコピー先を明確に書けるため、処理の目的がすぐにわかるようになります。

特にスクリプトを書くときや、複雑なファイル名が並ぶときに重宝されます。

4. 複数ファイルをコピーする実例

4. 複数ファイルをコピーする実例
4. 複数ファイルをコピーする実例

以下のような構成のファイルがあるとします。

  • report1.txt
  • report2.txt
  • report3.txt
  • コピー先フォルダ:reports/

このファイルたちをまとめて reports フォルダにコピーするには、以下のようにします。


cp -t reports/ report1.txt report2.txt report3.txt

この方法なら、コピー先が一番最初に書かれているので、視認性が高く、わかりやすいです。

5. -tオプションと他のオプションの組み合わせ

5. -tオプションと他のオプションの組み合わせ
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オプションを使うときの注意点

6. -tオプションを使うときの注意点
6. -tオプションを使うときの注意点
  • コピー先のディレクトリが存在しないと、エラーになる
  • コピー先を最初に書くため、読み間違いには注意
  • -tのあとにスペースを忘れずに入れること

例えば、次のような誤りは避けましょう。


cp -t/home/user/backup/ file.txt
cp: missing destination file operand after 'file.txt'

-tとコピー先ディレクトリの間にスペースがないため、エラーになります。

7. cp -tと通常のcpの違いまとめ

7. cp -tと通常のcpの違いまとめ
7. cp -tと通常のcpの違いまとめ
使い方 コマンド 特徴
通常のcp cp file.txt target/ コピー先は最後に書く
cp -t cp -t target/ file.txt コピー先を先に指定する

視認性と処理の明確さを重視するなら、-tオプションは非常に役立ちます。

まとめ

まとめ
まとめ

今回の記事では、Linux環境でのファイル操作をより効率的に、そして視覚的に分かりやすくするための「cp -tオプション」について徹底的に解説してきました。 通常、Linuxのcpコマンドは「コピー元」の次に「コピー先」を記述するのが標準的なルールです。 しかし、システム構築の現場や複雑なシェルスクリプトの作成、あるいは大量のバックアップファイルを一括で処理する際、この「最後に来るコピー先」が視覚的に埋もれてしまい、コマンドの意図がひと目で判別しにくいという課題がありました。

cp -t オプションの重要ポイント再確認

-tオプション(target-directory)を活用する最大のメリットは、「どこへコピーするか」という目的地点をコマンドの先頭付近に固定できる点にあります。 特に、以下のようなシーンでその真価を発揮します。

  • 複数ファイルの同時処理: コピー元ファイルが5個、10個と並ぶ場合でも、コピー先が先頭にあるためミスを防げます。
  • スクリプトの可読性向上: 変数を使ってディレクトリを指定する場合、先頭にある方がプログラムの流れを追いやすくなります。
  • xargsコマンドとの連携: 別のコマンドからファイルリストを受け取ってコピーする際、コピー先を固定できる-tは非常に相性が良いです。

実践的な応用コマンド例

ここで、実際に管理者がよく使う応用的な操作をおさらいしておきましょう。 例えば、現在のディレクトリにあるすべてのテキストファイルを、特定のバックアップ用ディレクトリへ「詳細を表示しながら」コピーする場合は、次のように入力します。


cp -vt /home/user/backup_dir/ *.txt
'data1.txt' -> '/home/user/backup_dir/data1.txt'
'data2.txt' -> '/home/user/backup_dir/data2.txt'
'config.txt' -> '/home/user/backup_dir/config.txt'

また、システム上の重要な設定ファイルをroot権限でバックアップディレクトリへ移動(コピー)させる場合は、以下のようにsudoと組み合わせて実行します。 この時も、-tを使うことで「まずはバックアップ先を確保する」という意図が明確になります。


cp -t /root/secure_backup/ /etc/hosts /etc/ssh/sshd_config

運用時の注意点

非常に便利なオプションですが、初心者の方が間違いやすいポイントがいくつかあります。 一つは、「コピー先のディレクトリが事前に存在している必要がある」という点です。 もし存在しないディレクトリを指定した場合、Linuxは親切に新しいディレクトリを作ってくれるわけではなく、「そんなディレクトリはありません」とエラーを返します。 実行前には、必ずlsコマンドなどでディレクトリの存在を確認するか、mkdir -pで作成しておく癖をつけましょう。

また、-tとディレクトリパスの間には必ず半角スペースを入れてください。 これらが詰まっていると、システムはオプションを正しく認識できず、コマンドが失敗してしまいます。

先生と生徒の振り返り会話

生徒

先生、ありがとうございます!cp -tを使うと、長いファイル名がたくさん並んでいるときでも「あ、これはあのフォルダに送るんだな」ってすぐ分かって、すごくスッキリしますね。

先生

その通り!視認性が高いっていうのは、実はミスを減らすための大きな一歩なんだ。 特に「どのファイルをコピーしたっけ?」と迷わないように、-vオプションとセットで使うのがおすすめだよ。

生徒

なるほど。さっきのcp -vtですね! これなら実行結果が画面に流れるから、ちゃんとコピーできたか安心できます。 でも、もし間違って古いファイルを新しいファイルで上書きしちゃいそうな時はどうすればいいですか?

先生

良い質問だね。そんな時は-i(interactive)をさらに追加して、cp -vitとするんだ。 そうすれば、上書きする前に「本当にいいの?」ってシステムが聞いてくれるようになる。 特に大事なサーバー設定ファイルを触るときなんかは、この組み合わせが鉄板だよ。

生徒

-vit!なんだかビタミンみたいで覚えやすいですね。 ルート権限で作業するときも、順番さえ間違えなければ安全に作業できそうです。 まずは自分のホームディレクトリで練習して、しっかり手に馴染ませておきます!

先生

その意気だ。基本のコマンドにオプションを一つ加えるだけで、Linuxの操作はぐっとプロっぽくなる。 これからも一歩ずつ、使いこなせるオプションを増やしていこうね。

Linuxの世界では、一つの結果を得るために複数の手段が用意されています。 cpコマンド一つとっても、今回のような-tを使いこなせるようになることで、作業効率は劇的に変わります。 日々の学習を通じて、自分にとって最も快適で確実なコマンド操作を見つけてみてください。

関連記事:
カテゴリの一覧へ
新着記事
New1
ソートとユニーク処理
sortコマンドで数値順に並べ替える方法を完全ガイド!初心者でもわかるLinuxのソートの基本
New2
ファイル・ディレクトリ操作
stat --versionの使い方を完全解説!Linux初心者でもわかるバージョン確認の基本
New3
ファイル・ディレクトリ操作
touch --versionオプションの使い方を完全ガイド!初心者でもわかるバージョン確認方法
New4
ソートとユニーク処理
sortコマンドの基本!初心者でもわかるLinuxでテキストを並べ替える方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.4
Java&Spring記事人気No4
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!