简明Linux命令行笔记:cp
复制文件
cp [options] source-file destination-file
cp [options] source-file-list destination-directory
参数
第一种方式:source-file 是 cp 要复制的文件路径名;destination-file 是 cp 生成的副本文件路径名
第二种方式:source-file-list 是 cp 要复制的文件路径名列表;destination-file是 cp 生成副本的目录路径名
选项
-b 如果目标文件已存在,则在覆盖的时候对目标文件先进行备份
-i 如果目标文件已存在,则在覆盖的时候进行提示
-f 强制覆盖目标文件,管你特么的权限和提示
-P 保留原文件中用户、组、权限、修改时间等信息进行复制
-u 比较原文件和已存在的同名目标文件修改时间,如果目标文件修改时间较新则不覆盖
-R或-r 递归复制目录层次和文件
-v 显示cp复制的每个文件的名称
示例
cp 当前目录
$ ls a.txt $ cp a.txt b.txt $ ls a.txt b.txt
在当前目录中复制,此处将a.txt 复制为 b.txt
cp -iv 当前目录
$ ls a.txt b.txt $ cp -iv a.txt b.txt cp:是否覆盖"b.txt"? y "a.txt" -> "b.txt"
在当前目录中复制,如果文件已存在则确认是否覆盖,并显示复制信息
cp 多个文件 目录
$ cp a.txt b.txt c.txt abc/ $ ls abc a.txt b.txt c.txt $ ls abc/ a.txt b.txt c.txt
复制多个文件到某目录,此处将a.txt b.txt c.txt复制到同目录下的abc文件夹
cp -r
$ cp -r abc dir/ $ ls abc a.txt b.txt c.txt dir $ ls dir a.txt b.txt c.txt
递归复制整个目录,包括目录结构和文件
Tips
cp的选项中还有涉及到链接文件的复制,这里没有列出,俺又不是在重写手册