cp是Linux中非常常用的一個命令,今天往服務器拷貝文件用了scp但碰到了一些問題,scp與cp的參數大多數是相同的
cp -r 是對一個文件夾內的文件進行拷貝,第一個參數是源文件夾,第二個參數為目標文件夾。
問題出在文件夾后面是否帶/,就我自己使用來看,第一個參數是否帶/很影響使用,第二個好像無所謂。
當我們想復制一個文件夾的時候, 可以通過cp -r source/ destination或者cp -r source destination/
通過source不帶/的情況下,假如沒有destination文件夾,第一次會新建destination文件夾,然后將source文件價的內容復制到destination文件夾中
如果帶了/使用的效果還是相同的。
但如果已經存在了destination文件夾,那帶不帶/就完全是兩碼事情了,帶/表示復制的是文件夾里面的內容到destination目錄中,如果不帶/就表示將source的目錄文件夾復制到destination目錄中。
做個示例
cp -r source destination
cp -r source/ destination
如果不存在destination文件夾的情況下,第一次執行該命令,效果都是相同的,新建了destination的文件夾,然后將文件復制到destination文件夾中。
第二次就不一樣了,因為已經存在了destination了,所以第一個命令會將source的文件夾復制到destination中。
第二個命令就沒關系了,只不過是重復有復制了一次文件到destination文件夾下,可以理解同步了一下destination問價下內容與source的關系.
所以簡單來說要復制文件夾就不要帶/,復制文件夾下面的內容就帶/,希望這次筆記能夠讓我記住了