File-Copy

cp -R 參數的區別?

  • July 4, 2018

有什麼區別:

cp -R /a/* /b 

cp -R /a/. /b

最初的想法是將文件夾/a中的任何內容複製到文件夾/b中。

唯一的區別是第一個命令,

cp -R /a/. /b

將隱藏文件和目錄從/ato複製/b,而第二個命令,

cp -R /a/* /b

不會這樣做。

第二個命令不複製隱藏文件的原因是*擴展為所有非隱藏名稱/a(除非在dotglob中設置了 shell 選項bash,或者在使用的任何 shell 中設置了等效選項,如果可用)。


第二個命令中使用的原始問題-r而不是-R

該標誌-r保留在cp(例如 GNU cp)的某些實現中以實現向後兼容性。它是命令的非標準標誌,在具有它的實現上cp,它類似於-R.

在 GNU 和 AIXcp中,-r-R是相同的。在一些歷史實現中cp,它以不同的方式處理特殊文件,例如 FIFO 和套接字。Solaris 的實現cp -r/-R僅對 FIFO 不同(-R重新創建它們,-r從中讀取)。免費的 BSD 都沒有-r在它們的cp實現中。

引用自:https://unix.stackexchange.com/questions/453473