在linux中,cp命令用于復(fù)制文件或目錄,可以將一個或多個源文件或者目錄復(fù)制到指定的目的文件或目錄,語法“cp [選項] 源文件 目標(biāo)文件”。cp命令支持同時復(fù)制多個文件,當(dāng)一次復(fù)制多個文件時,目標(biāo)文件參數(shù)必須是一個已經(jīng)存在的目錄,否則將出現(xiàn)錯誤。
程序員必備接口測試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計、調(diào)試、文檔、自動化測試工具
后端、前端、測試,同時在線協(xié)作,內(nèi)容實時同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Linux cp命令
cp 命令主要用于復(fù)制文件或目錄。即用來將一個或多個源文件或者目錄復(fù)制到指定的目的文件或目錄。
cp 命令可以將單個源文件復(fù)制成一個指定文件名的具體的文件或一個已經(jīng)存在的目錄下。
cp 命令支持同時復(fù)制多個文件,當(dāng)一次復(fù)制多個文件時,目標(biāo)文件參數(shù)必須是一個已經(jīng)存在的目錄,否則將出現(xiàn)錯誤。
cp 命令語法
cp [-options] source_file dest_file
-
source_file:源文件,制定源文件列表。cp 命令默認(rèn)情況下不能復(fù)制目錄,除非使用 -r/-R選項。
-
dest_file:目標(biāo)文件,指定目標(biāo)文件。當(dāng)“源文件”為多個文件時,要求“目標(biāo)文件”為指定的目錄。
參數(shù)說明:
- -a :等于 “dpR” 參數(shù)組合,通常在復(fù)制目錄時保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。
- -b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
- -d :復(fù)制時保留符號鏈接。
- -f :強行復(fù)制文件或目錄,覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
- -i :與-f選項相反,在覆蓋目標(biāo)文件之前給出提示,要求用戶確認(rèn)是否覆蓋。
- -l :不復(fù)制文件,只是生成源文件的硬鏈接文件。
- -p :復(fù)制文件時保留源文件或目錄的屬性。
- -r :遞歸復(fù)制目錄,即復(fù)制該目錄及其所有的子目錄和文件。
- -R :同 -r 選項參數(shù)。
- -s:對源文件建立符號連接,而非復(fù)制文件;
- -S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
- -u:同步復(fù)制源文件文件,只在源文件更新時或目標(biāo)文件不存在時復(fù)制。
- -v:詳細(xì)顯示命令執(zhí)行的操作。
cp命令的使用示例
Linux中使用cp命令復(fù)制文件(夾),本文就日常工作中常用的cp命令整理如下。
一、復(fù)制一個源文件到目標(biāo)文件(夾)
命令格式為:cp 源文件 目標(biāo)文件(夾)
這個是使用頻率最多的命令,負(fù)責(zé)把一個源文件復(fù)制到目標(biāo)文件(夾)下。如下圖所示,復(fù)制到文件夾下,則文件名保持不變,復(fù)制到文件中,則文件名變更。如果目標(biāo)文件已經(jīng)存在或目標(biāo)文件夾中含有同名文件,則復(fù)制之后目標(biāo)文件或目標(biāo)文件夾中的同名文件會被覆蓋。

二、同時復(fù)制多個文件到目標(biāo)文件(夾)下
命令格式為:cp 源文件1 源文件2 目標(biāo)文件夾 或 cp 文件* 目標(biāo)文件夾
這個命令使用頻率也很高。第一種命令格式可以把列出來的多個文件一次性復(fù)制到目標(biāo)文件夾下,每個文件直接用空格分隔;第二種命令格式使用了通配符*,如下圖所示,可以將所有以“.txt”結(jié)尾的文件都復(fù)制到文件夾testDir下。

三、復(fù)制源文件夾到目標(biāo)文件夾下
命令格式為:cp -r 源文件夾 目標(biāo)文件夾
這個也是使用頻率很高的命令,只需要記住復(fù)制文件夾一定要加“-r”參數(shù),否則會出現(xiàn)“cp: omitting directory”錯誤。

四、只有源文件較目標(biāo)文件新時復(fù)制
命令格式為:cp -u 源文件 目標(biāo)文件
這個命令很實用,尤其是在更新文件時。如下圖所示,只有源文件比目標(biāo)文件新時,才會將源文件復(fù)制給目標(biāo)文件,否則,及時執(zhí)行了命令,也不會執(zhí)行復(fù)制。

五、創(chuàng)建文件的軟鏈接
命令格式為:cp -s 源文件 目標(biāo)文件
也可以用ln命令實現(xiàn)同樣的功能。當(dāng)一個文件路徑太深(如下述的a/b/c/d/e/orginalFile.txt),訪問起來十分不方便時,就會創(chuàng)建這個文件的軟鏈接,使之訪問起來更方便些。軟鏈接就相當(dāng)于windows上的快捷方式。

六、創(chuàng)建文件的硬鏈接
命令格式為:cp -l 源文件 目標(biāo)文件
也可以用ln命令實現(xiàn)同樣的功能。有時候,為了某種原因,需要創(chuàng)建一個硬鏈接,如下圖所示。

這里簡單介紹下硬鏈接和軟鏈接的區(qū)別。如下圖所示,軟連接文件(softLink.txt)和被鏈接文件(orginalFile.txt)所擁有的inode不相同(133827和139819),硬鏈接文件(hardLink.txt)和被鏈接的文件(orginalFile22.txt)擁有相同的inode(156981)。當(dāng)被鏈接的文件刪除時,軟鏈接文件也無法訪問了,而硬鏈接文件仍能正常訪問。

軟鏈接與硬鏈接區(qū)別