カテゴリ: Linuxコマンド集 更新日: 2025/12/13

cp -uオプションの使い方を完全ガイド!初心者向け更新コピーの基本

cp -uオプション|コピー先より新しいファイルだけを更新コピーする
cp -uオプション|コピー先より新しいファイルだけを更新コピーする

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

生徒

「Linuxで毎回同じファイルをコピーするのが面倒なんですけど、効率のいい方法ってありますか?」

先生

「それなら cp -u オプションを使えば、更新されたファイルだけを自動でコピーしてくれるよ。」

生徒

「えっ、自動で?それって古いファイルは無視されるんですか?」

先生

「そう!コピー先より新しいファイルだけを上書きするから、無駄な作業を減らせるんだ。」

1. cpコマンドとは?

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

cp コマンドは、Linuxでファイルやディレクトリをコピーするための基本コマンドです。Windowsでいうところの「コピー&ペースト」に近い操作が、ターミナルで実行できます。

基本的な使い方は以下のようになります。


cp ファイル名 コピー先

このように入力すると、ファイルが指定した場所にコピーされます。

2. -uオプションとは?(updateの略)

2. -uオプションとは?(updateの略)
2. -uオプションとは?(updateの略)

-u オプションは update(アップデート)の略で、「更新されたファイルだけをコピーする」という意味があります。

つまり、コピー元のファイルがコピー先のファイルより新しい場合のみ、上書きされます。逆に、すでにコピー先にあって、古いファイルは無視されます。

このように使います。


cp -u new.txt backup/new.txt

この操作では、backup フォルダにある new.txt が古い場合のみ、新しい内容で上書きされます。

3. -uオプションの使い方を例で解説

3. -uオプションの使い方を例で解説
3. -uオプションの使い方を例で解説

以下のような状況を考えてみましょう。

  • 作業用フォルダ:project
  • バックアップ用フォルダ:backup

毎日作業している project フォルダから、変更があったファイルだけを backup にコピーしたい場合、次のように実行します。


cp -u project/* backup/

このコマンドは、project 内のファイルで、更新日時が新しいものだけbackup にコピーします。

4. -uと-vを組み合わせて視覚的に確認

4. -uと-vを組み合わせて視覚的に確認
4. -uと-vを組み合わせて視覚的に確認

どのファイルがコピーされたかを画面に表示したい場合は、-v(verbose)オプションと組み合わせるのがおすすめです。


cp -uv project/* backup/
'project/report.txt' -> 'backup/report.txt'

このように、コピーされたファイルだけが表示されるので、安心して作業を確認できます。

5. -uオプションが便利なケース

5. -uオプションが便利なケース
5. -uオプションが便利なケース

このオプションは以下のようなシーンで大活躍します。

  • 毎日同じバックアップを取るとき
  • 変更があったファイルだけを更新したいとき
  • 外部メディア(USBなど)に効率よくコピーしたいとき
  • 手作業で確認せず、スマートに処理したいとき

何度も同じ作業をしなくて済むので、ミスを減らすことにもつながります。

6. 他のよく使うオプションとの組み合わせ例

6. 他のよく使うオプションとの組み合わせ例
6. 他のよく使うオプションとの組み合わせ例

6-1. -rと-u(フォルダを丸ごと更新コピー)

ディレクトリを対象にするときは、-r(再帰的)を加えてください。


cp -ru project/ backup/

これで、ディレクトリ内の新しいファイルだけをまとめてコピーできます。

6-2. -iと-u(更新前に確認したいとき)

-i(interactive)は、上書き前に確認してくれるオプションです。


cp -ui file.txt backup/file.txt
cp: overwrite 'backup/file.txt'? y

自動処理ではなく、自分の目で確認したい場合に便利です。

7. cp -uとrsyncの違いって?

7. cp -uとrsyncの違いって?
7. cp -uとrsyncの違いって?

rsync(アールシンク)というコマンドも、更新されたファイルだけをコピーするのに使えますが、cp -uとの違いは次の通りです。

  • cp -u:シンプルで初心者向け。基本的なコピー操作に最適。
  • rsync:オプションが多く、高機能。ネットワーク越しのコピーも可能。

最初は cp -u を使いこなせれば十分です。慣れてきたら rsync に挑戦するのもおすすめです。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法