UNIX - cp


ファイルをコピーする。


cp ファイルをコピーする
% cp sample1.dat sample2.dat
sample1.dat を sample2.datにコピー
% cp sample1.dat sample2.dat sample3.dat dir/

sample1.dat・sample2.dat・sample3.dat をディレクトリ dir の下にコピー

なお、DOS とは違って UNIX では メタキャラクタの展開はシェルの役割なので、
% cp *.txt *.txt.bak
などと、拡張子を変更したファイルのコピーはできない。この場合、csh・tcsh なら foreach、sh・bash なら for を使うとよい。
(コマンド foreach, for)
-i コピー先のファイルが存在する場合、上書きしてよいか確認を求める。
操作に慣れていないうちは、
alias cp "cp -i" (csh・tcsh の場合)
alias cp="cp -i" (sh・bash の場合)
を設定しておくとよい。
(コマンド alias)
-f 上書き確認を行わない。これはデフォルトだが、alias cp cp -i としている場合に便利
-p タイムスタンプもそのままコピーする
-R ディレクトリを再帰的にコピーする

ディレクトリ dir1 以下に、ファイル foo・bar があった場合、
% cp -R dir1 dir2
は、ディレクトリ dir2 の下にディレクトリ dir 1をコピーする。つまり
dir2/dir1/foo、dir2/dir1/foo
というファイルが新たに作成される。一方、
% cp -R dir1/ dir2
とすると(`/'を付けると)、dir2 の下に dir1 以下のファイル・ディレクトリをコピーする。つまり
dir2/foo、dir2/foo
というファイルができる。
(コマンド mv)

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送