cp
ファイル
宛先に同名のファイルが存在したとき
- 上書きされる。環境によっては無言。
- せめてもの回避法として、コピー時には以下のようにする流派がいるらしい。
# cp srcfile destfileに相当。間違って上書きしても、destfileに追記した部分を消せば復元できる。 cat srcfile >> destfile
宛先に同名のディレクトリが存在したとき
- コピーしない。環境によっては無言
ディレクトリ
中に何かあるときは-r
コマンドが必要。
cp -r srcdir destdir
いくつかのケースで分岐。
宛先に同名の「ファイル」が存在したとき
- コピーしない
宛先が既に存在するディレクトリだった場合
- 宛先のディレクトリ直下に名前そのままでコピーする
# tree . |-- 1 | `-- 1 `-- 2 3 directories, 0 files # cp -r 1 2 # tree . |-- 1 | `-- 1 `-- 2 `-- 1 `-- 1 5 directories, 0 files #
mv
ファイル
宛先に同名のファイルが存在したとき
- 上書きされる。環境によっては無言。
- 超危険なため、設定ファイルの移動だけならば日常的には
cat srcfile >> destfile
を推奨。
ディレクトリ
移動先のディレクトリ
宛先に同名の「ファイル」が存在したとき
- 移動しない
宛先がまだ何も作られていないパスだった場合
- 移動する
宛先が既に存在するディレクトリだった場合
- 宛先のディレクトリ直下に名前そのままで移動する ← !?
# tree . |-- 1 | `-- a | `-- b | `-- c | |-- d | `-- e `-- 2 7 directories, 0 files # mv 1 2 # tree . `-- 2 `-- 1 `-- a `-- b `-- c |-- d `-- e 7 directories, 0 files #
ディレクトリの挙動、いまさらだけどこマ?ってなってる。 何か設定で依存するのかな。