File-Copy
cp -R 參數的區別?
有什麼區別:
cp -R /a/* /b
和
cp -R /a/. /b
最初的想法是將文件夾/a中的任何內容複製到文件夾/b中。
唯一的區別是第一個命令,
cp -R /a/. /b
將隱藏文件和目錄從
/a
to複製/b
,而第二個命令,cp -R /a/* /b
不會這樣做。
第二個命令不複製隱藏文件的原因是
*
擴展為所有非隱藏名稱/a
(除非在dotglob
中設置了 shell 選項bash
,或者在使用的任何 shell 中設置了等效選項,如果可用)。第二個命令中使用的原始問題
-r
而不是-R
:該標誌
-r
保留在cp
(例如 GNUcp
)的某些實現中以實現向後兼容性。它是命令的非標準標誌,在具有它的實現上cp
,它類似於-R
.在 GNU 和 AIX
cp
中,-r
和-R
是相同的。在一些歷史實現中cp
,它以不同的方式處理特殊文件,例如 FIFO 和套接字。Solaris 的實現cp -r/-R
僅對 FIFO 不同(-R
重新創建它們,-r
從中讀取)。免費的 BSD 都沒有-r
在它們的cp
實現中。