cp 命令参数

cp命令
        该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
        语法: cp [选项] 源文件或目录 目标文件或目录

        说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

        -a      该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

        -d      拷贝时保留链接。

        -f      删除已经存在的目标文件而不提示。

        -i      和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

        -p      此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 

        -r      若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

        -l      不作拷贝,只是链接文件。 

        需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。

例子:
        cp -i file1 file2        将文档 file1 复制成 file2 . –i为提示确认。

        cp file1 dir1        将文档 file1 复制到目录 dir1 下,文件名仍为 file1.

        cp /tmp/file1 .        将目录 /tmp 下的文档 file1复制到现行目录下,档名仍为 file1.

        cp /tmp/file1 file2        将目录 /tmp 下的文档 file1现行目录下,档名为file2

        cp -r dir1 dir2        (recursive copy) 复制整个目录.若目录 dir2 不存在,则将目录dir1,及其所有文档和子目录,复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在,则将dir1,及其所有文档和子目录,复制为目录 dir2.


======================================================================

    cp (copy)命令将一个文件、多个文件或目录复制到另一个地方。
    选项 -R 允许递归复制目录(一般来说,命令中的 -R 或 -r 经常有递归的意思)。
    如果 cp 命令的最后参数是目录,所提到的文件将被复制到该目录下。
    注意:默认情况下,cp 命令将“覆盖”已经存在的文件。

请看下面的例子:

        ♦ cp afile afile.bak —— 把文件 afile 复制为新文件 afile.bak。

        ♦ cp afile /home/bible/ —— 把文件 afile 从当前目录复制到/home/bible/目录下。

        ♦ cp * /tmp —— 把当前目录下的所有未隐藏文件复制到/tmp/目录下。

        ♦ cp -a docs docs.bak —— 递归性第把当前目录下的 docs 目录复制为新目录 docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a 选项暗含 -R 选项。

        ♦ cp -i —— 如果要把文件复制到已经存在的一个相同的文件的目录下,默认时,旧文件将被覆盖。 -i 选项可以让命令交互,换句话说,在覆盖之前询问用户。

        ♦ cp -v —— 带有 -v (verbose)选项,cp命令将告诉用户正在做什么。很多Linux命令都带有具有相同意义的 -v 选项。

Linux cp 命令详解  

2011-08-08 10:07:24|  分类: 默认分类 |  标签:linux  co   |举报 |字号 订阅

下载LOFTER客户端
 
 
参数:
-a   :相当于 -pdr 的意思;
-d   :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
-f   :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;
-i   :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作!
-l   :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
-p   :连同档案的属性一起复制过去,而非使用预设属性;
-r   :递归持续复制,用于目录的复制行为;
-s   :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u   :若 destination 比 source 旧才更新 destination !
 
强制覆盖时的操作:
       
        有时使用了参数 -f,但仍然会询问是否覆盖某文件,这是因为某些服务器,会默认增加别名 alias cp='cp -i',当执行cp操作时,实际执行的是 cp -i,该问题可以这样解决: vi ~/.bashrc,在alias cp='cp -i'前使用#注释掉即可
 
文章转自 http://morgan363.iteye.com/blog/670004
http://blog.163.com/xiang_zhifang/blog/static/11574950020117810652605/
原文地址:https://www.cnblogs.com/cuizhipeng/p/4519589.html