違いは何ですか?
cp -R /a/* /b
そして
cp -R /a/. /b
最初のアイデアは、/ aフォルダのすべての内容を/ bフォルダにコピーすることです。
ベストアンサー1
唯一の違いは最初のコマンドです。
cp -R /a/. /b
2番目のコマンドは、/a
で隠されたファイルとディレクトリをコピーします。/b
cp -R /a/* /b
しません。
2番目のコマンドが隠しファイルをコピーしない理由は、(シェルオプションが設定されていない場合、または使用されているシェルで同等のオプションが設定されていない場合)の非表示の*
すべての名前が拡張されるためです。/a
dotglob
bash
-r
代わりに、元の質問に使用された2番目のコマンドは次のとおりです-R
。
以前のバージョンとの互換性のために、このフラグは-r
いくつかの実装cp
(cp
例:GNU)で維持されます。これは command の非標準フラグであり、cp
それを含む実装では次のようになります。似たような到着する-R
。
GNUとAIXでは、cp
と-r
は-R
同じです。いくつかの歴史的実装では、cp
FIFOやソケットなどの特別なファイルを異なる方法で処理しました。 Solarisの実装は、FIFO(再生成、読み取り)cp -r/-R
に対してのみ異なります。無料のBSDには実装がありません。-R
-r
-r
cp