全部課程
Linux命令之——cp/scp
發布時間: 2023-03-30
cp命令用于復制文件或目錄,是Linux系統中最經常使用的命令之一。通常情況下,shell會設置一個別名,當從命令行復制文件時,會詢問目標文件是否已經存在,是否應該被覆蓋,不管你是否使用-i參數。然而,如果你在shell腳本中運行cp,沒有-i參數,就不會問你是否要覆蓋。這意味著命令行和shell腳本的執行方式略有不同。?
cp [選項]... [-T] 源 目的
或:cp [選項]... 源... 目錄
或:cp [選項]... -t 目錄 源...
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
-a, --archive 等于-dR --preserve=all,--backup[=CONTROL 為每個已存在的目標文件創建備份
-b 類似--backup 但不接受參數--copy-contents 在遞歸處理是復制特殊文件內容
-d 等于--no-dereference --preserve=links
-f, --force 如果目標文件無法打開則將其移除并重試(當 -n 選項 存在時則不需再選此項)
-i, --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-H 跟隨源文件中的命令行符號鏈接
-l, --link 鏈接文件而不復制
-L, --dereference 總是跟隨符號鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-P, --no-dereference 不跟隨源文件中的符號鏈接
-p 等于--preserve=模式,所有權,時間戳, --preserve[=屬性列表 保持指定的屬性(默認:模式,所有權,時間戳),如果 可能保持附加屬性:環境、鏈接、xattr 等
-R, -r, --recursive 復制目錄及目錄內的所有項目
scp是基于ssh的安全拷貝命令(security copy),它是從古老的遠程復制命令rcp改變而來,實現的是在host與host之間的拷貝,可以是本地到遠程的、本地到本地的,甚至可以遠程到遠程復制。注意,scp可能會詢問密碼。
如果scp拷貝的源文件在目標位置上已經存在時(文件同名),scp會替換已存在目標文件中的內容,但保持其inode號。
如果scp拷貝的源文件在目標位置上不存在,則會在目標位置上創建一個空文件,然后將源文件中的內容填充進去。
scp拷貝本質是只是填充內容的過程,它不會去修改目標文件的很多屬性。
上一篇: java實現xml格式化
下一篇: Clash代理服務器是什么