zoukankan      html  css  js  c++  java
  • cp 复制文件或目录

    1. 命令功能

    cp --copy files and directories。复制文件或目录。

    2. 语法格式

    cp  [option]  source des

    cp  [option]  source   directory

    cp  [option]  -t directory  source

    参数

    参数说明

    -a

    --archive 相当于drp结合使用

    -d

    如果文件为链接文件,复制链接文件的源文件而非链接文件

    -r

    递归复制目录(包含目录下的多级子目录)

    -p

    连同文件的属性一起复制过去,而非预设属性

    -f

    force强制复制,若有重复或其他问题,不询问使用者,而强制复制

    -i

    当目的文件已存在,在覆盖前会先询问是否真的复制

    -s

    复制成为符号链接文件,即“快捷方式”文件

    -u

    若destination比source旧才更新destination

    -t

    默认情况下命令格式为cp 源文件 目标文件,使用-t 可以颠倒顺序 格式为 cp –t 目标文件 源文件

    说明:当来源文件有两个以上,则最后一个目的文件一定要是目录才行。

    3. 使用范例

    基础范例

    范例1  cp –a,把源文件的全部属性复制到目标目录,不带参数和代参数-a的比较。

    [root@localhost home]# pwd

    /home

    [root@localhost home]# ls -l /home/cxf/test_cxf

    -rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 /home/cxf/test_cxf

    [root@localhost home]#

    [root@localhost home]# cp /home/cxf/test_cxf /home/DIR/

    [root@localhost home]# ls -l /home/DIR/test_cxf

    -rw-r--r--. 1 root root 12 Mar 13 18:07 /home/DIR/test_cxf  #文件属组发生了变化

    [root@localhost DIR]# cp -a /home/cxf/test_cxf /home/DIR/

    [root@localhost DIR]# ls -l test_cxf

    -rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 test_cxf    #带 –a参数 复制文件属性

    通过带参数和不带参数比较文件修改时间属性:

    [root@localhost DIR]# ls -lh /home/cxf/test_cxf

    -rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 /home/cxf/test_cxf   #源文件修改时间属性

    [root@localhost DIR]# cp /home/cxf/test_cxf .

    [root@localhost DIR]# ls -lh test_cxf

    -rw-r--r--. 1 root root 12 Mar 13 22:27 test_cxf          #时间属性发生变化、

    [root@localhost DIR]# cp -p /home/cxf/test_cxf test_cxf_1  #复制文件并改名

    [root@localhost DIR]# ls -lh test_cxf_1

    -rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 test_cxf_1  #时间属性没有改变,故-a选项会连同文件属性,时间属性一同复制。

    范例2 :-i参数实例

    [root@localhost DIR]# cp -i /home/cxf/test_cxf .

    cp: overwrite `./test_cxf'? y

    [root@localhost DIR]# cp /home/cxf/test_cxf .  #为什么不带-i,也提示?

    cp: overwrite `./test_cxf'? y                  #由于centos默认为cp设置了别名在,

    增加了-i的参数。

    [root@localhost DIR]# alias cp

    alias cp='cp -i'

    在shell脚本中执行cp时,若没有-i参数,则不会询问是否覆盖,由于命令行和shell脚本执行时的环境变量不同,在脚本中一般使用命令的全路径。

    范例3 使用-r参数复制目录

    [root@localhost home]# cp /root DIR/

    cp: omitting directory `/root'   #复制root到DIR,提示会跳过目录/root,复制不成功。

    [root@localhost home]# cp /root DIR/ -r  #把root目录复制到DIR目录中

    [root@localhost home]# ls -l DIR/

    total 12

    dr-xr-x---. 4 root root 4096 Mar 13 22:41 root  #复制root目录成功

    -rw-r--r--. 1 root root   12 Mar 13 22:34 test_cxf

    -rw-rw-r--. 1 cxf  cxf    12 Mar 13 18:05 test_cxf_1

    2. 技巧性范例

    范例4 cp覆盖文件前不提示是否覆盖的几种方法。

    第一种:使用命令全路径。

    [root@localhost DIR]# cp /home/cxf/test_cxf .

    cp: overwrite `./test_cxf'? y

    [root@localhost DIR]# /bin/cp /home/cxf/test_cxf .

    [root@localhost DIR]#

    第二种:取消cp别名  unalias cp  重启后失效

    第三种:命令开头使用反斜线()

    [root@localhost DIR]# cp /home/cxf/test_cxf .   #使用反斜线屏蔽系统别名。

    [root@localhost DIR]#

  • 相关阅读:
    MVC5+EF6 入门完整教程七
    MVC5+EF6 入门完整教程六
    MVC5+EF6 入门完整教程五
    MVC5+EF6 入门完整教程四
    MVC5 + EF6 完整入门教程三
    MVC5 + EF6 入门完整教程二
    MVC5 + EF6 入门完整教程
    最短路径简析
    PAT 1147 Heaps
    PAT 1146 Topological Order
  • 原文地址:https://www.cnblogs.com/joechu/p/8664096.html
Copyright © 2011-2022 走看看