パラレルディレクトリのコピーcp -rはなぜこのように動作しますか?

パラレルディレクトリのコピーcp -rはなぜこのように動作しますか?

次はうまくいきます(つまり、私が望むことを行います)。

 cd /var/www/release/
 mkdir wiki
 cp -rp ../html/wiki ./

しかし、これを行うと(より直感的なようです)

 cp -r ../html/wiki ./wiki

/var/www/release/wiki/wikiを作成します(決して望ましくありません)。

この動作はmvと同じです。誰かがこの行動の裏側にある論理を説明して、後で最初から正しく実行できることを願っています。

ベストアンサー1

SOURCEディレクトリ全体をコピーするには、ディレクトリをどこに保存する必要があるかを知りcpたいです。DESTINATION

あなたが犯した間違いは、/var/www/release/wikiテスト後にディレクトリを削除していないことです。mkdircp -rp ...

cp -r ...命令した作業も../html/wiki同様です。既存のディレクトリを作成./wikiし、という名前の別のディレクトリを作成しますwiki

削除してから/var/www/release/wikiコマンドcp -rを再実行すると、期待どおりに機能することがわかります。

おすすめ記事