1、使用cp命令的-n參數即可跳過相同的文件 。
2、cp命令使用詳解:
1)、用法:cp [選項]... [-T] 源文件 目標文件
或:cp [選項]... 源文件... 目錄
或:cp [選項]... -t 目錄 源文件...
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
2)、長選項必須使用的參數對于短選項時也是必需使用的。
-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 等
-c same as --preserve=context
--sno-preserve=屬性列表不保留指定的文件屬性
--parents復制前在目標目錄創建來源文件路徑中的所有目錄
-R, -r, --recursive遞歸復制目錄及其子目錄內的所有內容
--reflink[=WHEN]控制克隆/CoW 副本。請查看下面的內如。
--remove-destination嘗試打開目標文件前先刪除已存在的目的地
文件 (相對于 --force 選項)
--sparse=WHEN控制創建稀疏文件的方式
--strip-trailing-slashes刪除參數中所有源文件/目錄末端的斜杠
-s, --symbolic-link只創建符號鏈接而不復制文件
-S, --suffix=后綴自行指定備份文件的后綴
-t, --target-directory=目錄將所有參數指定的源文件/目錄
復制至目標目錄
-T, --no-target-directory將目標目錄視作普通文件
-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)、默認情況下,源文件的稀疏性僅僅通過簡單的方法判斷,對應的目標文件目標文件也
被為稀疏。這是因為默認情況下使用了--sparse=auto 參數。如果明確使用
--sparse=always 參數則不論源文件是否包含足夠長的0 序列也將目標文件創文
建為稀疏件。
使用--sparse=never 參數禁止創建稀疏文件。
4)、當指定了--reflink[=always] 參數時執行輕量化的復制,即只在數據塊被修改的
情況下才復制。如果復制失敗或者同時指定了--reflink=auto,則返回標準復制模式。
5)、備份文件的后綴為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環境變量指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境
變量來選擇。以下是可用的變量值:
none, off 不進行備份(即使使用了--backup 選項)
numbered, t 備份文件加上數字進行排序
existing, nil 若有數字的備份文件已經存在則使用數字,否則使用普通方式備份
simple, never 永遠使用普通方式備份
6)、有一個特別情況:如果同時指定--force 和--backup 選項,而源文件和目標文件
是同一個已存在的一般文件的話,cp 會將源文件備份。
取消
評論