您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何理解cp命令,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
01 命令簡介
今天我們來介紹一下文件和目錄的復(fù)制。
cp——復(fù)制文件或目錄
02 命令詳解
語法
cp [選項] 參數(shù)1 參數(shù)2
以上是cp命令的語法,可以看到cp命令在使用時必須提供兩個參數(shù)。
參數(shù)
參數(shù)1代表源文件,即要復(fù)制哪個文件或目錄;參數(shù)2代表目標文件,即復(fù)制到哪個文件或目錄。
cp [選項] 源文件 目標文件
復(fù)制docker.sh,只提供一個參數(shù),系統(tǒng)提示缺少一個目標文件。提供兩個參數(shù)后,成功將docker.sh復(fù)制到docker1.sh。
cp命令有三種主要的操作模式:
文件復(fù)制到文件 文件復(fù)制到目錄 目錄復(fù)制到目錄
復(fù)制docker.sh到docker1.sh就是第一種操作模式。在執(zhí)行cp命令時,如果目標文件不存在,則會創(chuàng)建目標文件;如果目標文件已經(jīng)存在,默認會用源文件覆蓋目標文件。
首先新建一個old_file文件,然后復(fù)制到new_file文件。在執(zhí)行cp命令之前,new_file文件是不存在的,于是系統(tǒng)生成了new_file。
這個時候,new_file文件和old_file文件都是空白文件,cat命令可用來查看文件內(nèi)容,后面的文章再給大家介紹。
然后在old_file文件中添加一句話,保存后再執(zhí)行cp命令,查看new_file文件,發(fā)現(xiàn)new_file文件的內(nèi)容已經(jīng)被old_file文件所覆蓋。
以上是文件復(fù)制到文件的操作模式,接下來介紹一下文件復(fù)制到目錄的操作模式。
文件到文件和文件到目錄,兩種操作模式最大的區(qū)別是文件到目錄的模式可以同時包含多個源文件,而文件到文件的模式只允許一個源文件,其他并沒有什么區(qū)別。
可以看到,文件復(fù)制到目錄的操作模式下,系統(tǒng)沒有報錯;但文件復(fù)制到文件的操作模式,提供三個參數(shù),系統(tǒng)報錯,提示new_file不是目錄。
最后介紹目錄復(fù)制到目錄的操作模式。這種模式,可以同時復(fù)制文件和目錄,但是在復(fù)制目錄的時候,必須添加“-r”選項,cp命令才會將源目錄復(fù)制到目標目錄。
添加“-r”選項前,系統(tǒng)提示沒有提供“-r”選項,省略了目錄的復(fù)制,只復(fù)制了docker.sh文件。
添加“-r”選項后,成功將目錄復(fù)制到了目標目錄。也可以使用“-R”選項,效果和“-r”選項一樣。
需要注意的是,在文件到目錄、目錄到目錄的操作模式中,目標文件指定的目錄必須存在,cp命令并不會為我們創(chuàng)建目錄。
選項
cp命令選項有點多,這里我挑幾個比較常用的選項給大家介紹一下,其余的大家可以查閱相關(guān)資料來進行學習。
首先是“-i”選項。在執(zhí)行cp命令時,如果目標文件存在,則默認用源文件覆蓋目標文件。添加“-i”選項之后,系統(tǒng)會在覆蓋之前詢問我們。
cp -i 源文件 目標文件
首先我們新建old_file文件,復(fù)制到new_file文件,然后在old_file文件中添加一句話。
此時new_file是沒有內(nèi)容的,我們再執(zhí)行cp命令,這個時候添加“-i”選項。
添加“-i”選項后,系統(tǒng)會詢問我們是否覆蓋目標文件。只有我們輸入“y“的時候(Y、yes、1、Yes等也可以,能代表”是“一般都行,通常都是使用y),系統(tǒng)才會覆蓋,輸入其他任何字符都會被認為不覆蓋。
添加”-i“選項后,目標文件存在時,系統(tǒng)都會詢問我們。如果有大量的目標文件存在,那我們輸入答案都要費很大功夫,特別是當我們只想復(fù)制不存在的目標文件時,這個選項顯然不能很好滿足我們的需求。
為此,Linux為我們提供了”-n“選項。添加這個選項之后,系統(tǒng)就默認不覆蓋已經(jīng)存在的目標文件,可以理解為只復(fù)制不存在的目標文件。
cp -n 源文件 目標文件
新建old_file和new_file文件,然后修改old_file文件,在執(zhí)行cp命令時添加”-n“選項,查看new_file文件,依然是空白文件,說明沒有用old_file覆蓋new_file。
除了可以選擇不覆蓋已經(jīng)存在的目標文件,還可以選擇強制復(fù)制文件,不管目標文件是否存在,這通過”-f“選項來實現(xiàn)。
cp -f 源文件 目標文件
另外,還可以選擇只有源文件的時間屬性比目標文件新或目標文件不存在的時候才復(fù)制,通過”-u“選項來實現(xiàn),相當于更新。
舉個例子。我在桌面上新建了一個工作周報,記錄了我這周的工作內(nèi)容,然后我想把這個文檔復(fù)制到某個文件夾內(nèi),但這個文件夾里已經(jīng)存在了上周的工作周報,這個時候我肯定要拿桌面的工作周報覆蓋文件夾里的工作周報才行,反之,如果文件夾的工作周報比桌面的工作周報新,則不覆蓋。”-u“選項就可以執(zhí)行這個工作。
cp -u 源文件 目標文件
首先將new_file文件更新,這個時候new_file文件相對old_file文件要新一些,此時添加“-u”選項復(fù)制一下,發(fā)現(xiàn)new_file文件內(nèi)容沒有改變。
以上選項的復(fù)制都是不包含屬性的,比如時間、權(quán)限等。如果想連同源文件的屬性也復(fù)制過去,就必須使用“-p”選項。
cp -p 源文件 目標文件
首先用stat命令查看old_file和new_file的屬性,然后添加“-p”選項復(fù)制,發(fā)現(xiàn)new_file文件的訪問時間和修改時間不是當前時間,而是old_file文件的訪問時間和修改時間。
文件權(quán)限也被復(fù)制到new_file文件。chmod命令用來修改文件和目錄的權(quán)限,后面的文章會詳細講解。
03 知識總結(jié)
語法: cp [選項] 源文件 目標文件 用途:復(fù)制文件或目錄 選項: -i————覆蓋前的交互提示 -n————不覆蓋現(xiàn)有文件 -f————強制復(fù)制 -u————更新 -p————保留源文件的屬性 -r、-R————遞歸復(fù)制目錄 參數(shù):源文件、目標文件(絕對地址和相對地址都可以) 其他: 三種操作模式:文件到文件、文件到目錄、目錄到目錄 文件到文件的操作模式,只允許有兩個參數(shù) 目錄到目錄的操作模式,必須添加“-r”或“-R”選項 文件到目錄、目錄到目錄的操作模式,目錄必須存在
上述內(nèi)容就是如何理解cp命令,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。