什么叫相同的文件?應(yīng)該是說目標(biāo)位置已經(jīng)存在該文件名了吧。具體請(qǐng)看cp命令功能,-i可能是你需要的:
站在用戶的角度思考問題,與客戶深入溝通,找到華池網(wǎng)站設(shè)計(jì)與華池網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋華池地區(qū)。
cp命令該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強(qiáng)大。
語法: cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
說明:該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個(gè)源文件復(fù)制到目標(biāo)目錄中。
該命令的各選項(xiàng)含義如下:
- a 該選項(xiàng)通常在拷貝目錄時(shí)使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項(xiàng)的組合。
- d 拷貝時(shí)保留鏈接。
- f 刪除已經(jīng)存在的目標(biāo)文件而不提示。
- i 和f選項(xiàng)相反,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn)?;卮饄時(shí)目標(biāo)文件將被覆蓋,是交互式拷貝。
- p 此時(shí)cp除復(fù)制源文件的內(nèi)容外,還將把其修改時(shí)間和訪問權(quán)限也復(fù)制到新文件中。
- r 若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時(shí)目標(biāo)文件必須為一個(gè)目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個(gè)文件,如用戶指定的目標(biāo)文件名已存在,用cp命令拷貝文件后,這個(gè)文件就會(huì)被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時(shí),最好使用i選項(xiàng)。
例子:
Cp -i file1 file2 (將文檔 file1 復(fù)制成 file2 . –i為提示確認(rèn)。)
cp file1 dir1 將文檔 file1 復(fù)制到目錄 dir1 下,文件名仍為 file1.
cp /tmp/file1 . 將目錄 /tmp 下的文檔 file1復(fù)制到現(xiàn)行目錄下,檔名仍為 file1.
cp /tmp/file1 file2 將目錄 /tmp 下的文檔 file1現(xiàn)行目錄下,檔名為file2
cp -r dir1 dir2 (recursive copy) 復(fù)制整個(gè)目錄.若目錄 dir2 不存在,則將目錄dir1,及其所有文檔和子目錄,復(fù)制到目錄 dir2 下,新目錄名稱為dir1.若目錄dir2不存在,則將dir1,及其所有文檔和子目錄,復(fù)制為目錄 dir2.
read默認(rèn)從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),而這里的管道符會(huì)將前面ls命令的結(jié)果作為標(biāo)準(zhǔn)輸入傳遞給read命令。所以只要前面還有數(shù)據(jù),read命令就不會(huì)等待用戶輸入。
其實(shí),這里可以用 for ... in ... 結(jié)構(gòu)來替代while循環(huán)。
for?l1?in?`ls?$d1`
do
read?-p?"1?or?0"?y1
......
done
1、使用cp命令的-n參數(shù)即可跳過相同的文件 。
2、cp命令使用詳解:
1)、用法:cp [選項(xiàng)]... [-T] 源文件 目標(biāo)文件
或:cp [選項(xiàng)]... 源文件... 目錄
或:cp [選項(xiàng)]... -t 目錄 源文件...
將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€(gè)源文件復(fù)制至目標(biāo)目錄。
2)、長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
-b 類似--backup 但不接受參數(shù)
--copy-contents 在遞歸處理是復(fù)制特殊文件內(nèi)容
-d 等于--no-dereference --preserve=links
-f, --force 如果目標(biāo)文件無法打開則將其移除并重試(當(dāng) -n 選項(xiàng)
存在時(shí)則不需再選此項(xiàng))
-i, --interactive 覆蓋前詢問(使前面的 -n 選項(xiàng)失效)
-H 跟隨源文件中的命令行符號(hào)鏈接
-l, --link 鏈接文件而不復(fù)制
-L, --dereference 總是跟隨符號(hào)鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項(xiàng)失效)
-P, --no-dereference 不跟隨源文件中的符號(hào)鏈接
-p 等于--preserve=模式,所有權(quán),時(shí)間戳
--preserve[=屬性列表 保持指定的屬性(默認(rèn):模式,所有權(quán),時(shí)間戳),如果
可能保持附加屬性:環(huán)境、鏈接、xattr 等
-c same as --preserve=context
--sno-preserve=屬性列表 不保留指定的文件屬性
--parents 復(fù)制前在目標(biāo)目錄創(chuàng)建來源文件路徑中的所有目錄
-R, -r, --recursive 遞歸復(fù)制目錄及其子目錄內(nèi)的所有內(nèi)容
--reflink[=WHEN] 控制克隆/CoW 副本。請(qǐng)查看下面的內(nèi)如。
--remove-destination 嘗試打開目標(biāo)文件前先刪除已存在的目的地
文件 (相對(duì)于 --force 選項(xiàng))
--sparse=WHEN 控制創(chuàng)建稀疏文件的方式
--strip-trailing-slashes 刪除參數(shù)中所有源文件/目錄末端的斜杠
-s, --symbolic-link 只創(chuàng)建符號(hào)鏈接而不復(fù)制文件
-S, --suffix=后綴 自行指定備份文件的后綴
-t, --target-directory=目錄 將所有參數(shù)指定的源文件/目錄
復(fù)制至目標(biāo)目錄
-T, --no-target-directory 將目標(biāo)目錄視作普通文件
-u, --update copy only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of copy to CONTEXT
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
3)、默認(rèn)情況下,源文件的稀疏性僅僅通過簡(jiǎn)單的方法判斷,對(duì)應(yīng)的目標(biāo)文件目標(biāo)文件也
被為稀疏。這是因?yàn)槟J(rèn)情況下使用了--sparse=auto 參數(shù)。如果明確使用
--sparse=always 參數(shù)則不論源文件是否包含足夠長(zhǎng)的0 序列也將目標(biāo)文件創(chuàng)文
建為稀疏件。
使用--sparse=never 參數(shù)禁止創(chuàng)建稀疏文件。
4)、當(dāng)指定了--reflink[=always] 參數(shù)時(shí)執(zhí)行輕量化的復(fù)制,即只在數(shù)據(jù)塊被修改的
情況下才復(fù)制。如果復(fù)制失敗或者同時(shí)指定了--reflink=auto,則返回標(biāo)準(zhǔn)復(fù)制模式。
5)、備份文件的后綴為"~",除非以--suffix 選項(xiàng)或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:
none, off 不進(jìn)行備份(即使使用了--backup 選項(xiàng))
numbered, t 備份文件加上數(shù)字進(jìn)行排序
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠(yuǎn)使用普通方式備份
6)、有一個(gè)特別情況:如果同時(shí)指定--force 和--backup 選項(xiàng),而源文件和目標(biāo)文件
是同一個(gè)已存在的一般文件的話,cp 會(huì)將源文件備份。