Linuxでターミナルを使ってファイルやディレクトリーをコピー・削除する方法についてです。
ファイルやディレクトリのコピー
基本構文
0 1 2 |
#cp コピー元 コピー先 |
同じディレクトリ内でのファイルのコピー
0 1 2 |
#cp sample.txt sample-copy.txt |
sample.txtというファイルを同じディレクトリ内に sample-copy.txt というファイル名でコピー。
別のディレクトリにファイルをコピー
0 1 2 |
#cp sample.txt /home/test/sample-copy.txt |
sample.txtというファイルを /home/test/ディレクトリに sample-copy.txt というファイル名でコピー。
ファイル名を変えずにコピー
0 1 2 3 |
#cp sample.txt /home/test/sample.txt #cp sample.txt /home/test/ |
1行目は基本形。2行目は省略形。どちらでもファイルがコピーできます。
ディレクトリのコピーでよく使うオプション
0 1 2 |
#cp -r コピー元ディレクトリ コピー先ディレクトリ |
-r オプションをつけることにより、ディレクトリとディレクトリの中のファイルすべてがコピーされる。 -r は再帰的にコピーするコマンド。
0 1 2 |
#cp -rf コピー元ディレクトリ コピー先ディレクトリ |
実際には -r と -f コマンドの両方を同時に使うことが多い。 -f は同じ名前のファイルがある場合の確認を省略するオプション。 -r と -f を同時に設定するので -rf という記載になる。
オプション一覧
-a | ファイルの構成と属性を保持したままコピー |
-b | コピー先に同名のファイルが存在したとき、ファイル名の末尾に「~」をつけて保存 |
-i | コピー先に同名のファイルが存在する場合、上書きするかを問い合わせる。 |
-p | オーナー・グループ・パーミッション・タイムスタンプ情報を保持したままコピー |
-r,-R | ディレクトリを再帰的にコピー |
-s | コピー先にシンボリックリンクを作成。(ファイル自体のコピーはしない) |
-u | コピー先に同名のファイル場ある場合、タイムスタンプを比較し、コピー元よりコピー先のファイルが新しい又は同じタイムスタンプの場合はコピーしない。 |