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

cp -pオプションの使い方|元ファイルのパーミッションやタイムスタンプを保持する方法を初心者向けに解説!

cp -pオプション|元ファイルのパーミッションやタイムスタンプを保持する
cp -pオプション|元ファイルのパーミッションやタイムスタンプを保持する

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

生徒

「Linuxでファイルをコピーしたら、元のファイルと日時が違ってました…。なんでですか?」

先生

「それは、通常のコピーだと更新日時アクセス権が変わってしまうからです。-pオプションを使えば、元の情報を保ったままコピーできますよ。」

生徒

「そんな便利なオプションがあるんですね!詳しく知りたいです!」

先生

「それでは、cp -pオプションの使い方を一緒に見ていきましょう。」

1. cpコマンドとは?

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

Linuxのcpコマンドは、ファイルやディレクトリ(フォルダ)をコピーするための基本的なコマンドです。

たとえば、ファイル「data.txt」を「backup」フォルダにコピーするには以下のように入力します。


cp data.txt backup/

この操作でファイルの内容はコピーされますが、作成日時やアクセス権限(パーミッション)などは新しくなってしまいます

2. cp -pオプションとは?

2. cp -pオプションとは?
2. cp -pオプションとは?

-pオプションを使うと、元ファイルのパーミッション(アクセス権)・更新日時・作成日時などを保持したままコピーすることができます。

たとえば以下のように使います。


cp -p data.txt backup/

このようにすれば、コピー後のファイルも元ファイルとまったく同じ情報を持った状態になります。

3. 実際に動作を確認してみよう

3. 実際に動作を確認してみよう
3. 実際に動作を確認してみよう

まず元ファイルのパーミッションと更新日時を見てみます。


ls -l data.txt
-rw-r--r-- 1 user user 100  9月 10 12:00 data.txt

次に通常のコピー(-pなし)をして確認してみましょう。


cp data.txt backup/
ls -l backup/data.txt
-rw-r--r-- 1 user user 100  9月 16 10:30 backup/data.txt

このように、更新日時が変わってしまっているのが分かります。

では次に、-pを使ってコピーしてみます。


cp -p data.txt backup/
ls -l backup/data.txt
-rw-r--r-- 1 user user 100  9月 10 12:00 backup/data.txt

更新日時まで完全に保持された状態でコピーされたことが確認できます。

4. -pで保持される情報とは?

4. -pで保持される情報とは?
4. -pで保持される情報とは?

cp -pを使うと、以下の情報が元のファイルからコピーされます。

  • パーミッション(アクセス権)
  • タイムスタンプ(更新日時・作成日時)
  • 所有者(ユーザーとグループ) ※ただし一般ユーザーでは変更できない場合あり

これにより、バックアップやシステム移行時に正確な情報を保ったままコピーできるため、信頼性が高まります。

5. -pオプションが役立つ場面

5. -pオプションが役立つ場面
5. -pオプションが役立つ場面

次のようなシチュエーションで-pオプションはとても有効です。

  • 設定ファイルやログファイルをバックアップしたいとき
  • タイムスタンプ順で処理されるファイルを正確にコピーしたいとき
  • アクセス権が重要なファイル(実行ファイルやスクリプトなど)をコピーするとき

このような場合、-pを忘れると動作に影響が出ることもあるので、注意しましょう。

6. 他のオプションとの組み合わせ

6. 他のオプションとの組み合わせ
6. 他のオプションとの組み合わせ

-pは、他のオプションと組み合わせることでさらに便利になります。

  • -v(verbose): コピーしたファイル名を表示する
  • -i(interactive): 上書き前に確認する
  • -r(recursive): ディレクトリ全体を再帰的にコピー

たとえば、設定ファイルを上書き確認付きでコピーしつつ、元の情報も保持したいときは次のようにします。


cp -ipv config.ini backup/

このようにすれば、安全に元の状態を保ったままコピーできます。

7. 一般ユーザーと所有者の注意点

7. 一般ユーザーと所有者の注意点
7. 一般ユーザーと所有者の注意点

-pを使っても、一般ユーザーではファイルの所有者情報(ユーザーやグループ)までコピーできないことがあります。

これはシステムのセキュリティ制限によるもので、root権限が必要な場合もあります。

たとえば、/etc以下のファイルをコピーする場合などは、sudo cp -pのように管理者権限で実行する必要があります。

関連記事:
カテゴリの一覧へ
新着記事
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オプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法