zoukankan      html  css  js  c++  java
  • 每天一条Linux命令 cp (复制目录/文件)

    命令

    cp [选项] [源文件] [目标文件]
    

    参数说明

    • -p 复制文件时保留文件原始属性,如:所有者,权限,时间属性等。
    • -d 复制的文件若为快捷方式,仅仅只复制快捷方式本身
    • -r 递归复制目录,即将该目录下的所有子目录、文件一起复制
    • -a 效果等同于参数 -p、-d、-r功能总和
    • -i 有文件相同情况下询问是否覆盖
    • -t 颠倒语法中的源文件与目标文件的顺序

    案例

    (1)递归复制整个文件夹(先来查看下datapro文件夹内部内容)

    [root@master test]# ls
    datapro  test  test01  test02  test03  test04  test05
    [root@master test]# tree datapro/  # 查看datapro文件夹下的文件
    datapro/
    ├── test01
    │   ├── test03
    │   └── test04
    └── test02
        ├── test03
        └── test04
    6 directories, 0 files
    [root@master test]# 
    [root@master test]# cp -r datapro/ /
    [root@master test]# tree /datapro/  # 目录结构原模原样
    /datapro/
    ├── test01
    │   ├── test03
    │   └── test04
    └── test02
        ├── test03
        └── test04
    6 directories, 0 files
    [root@master test]# 
    

    (2)在复制的过程中我们顺便也可以更改复制后的文件名称

    # 以下操作是将datapro文件夹复制到根目录下并命名为copyfile
    [root@master test]# ls
    datapro  test  test01  test02  test03  test04  test05
    [root@master test]# cp -r datapro/ /copyfile
    [root@master test]# tree /copyfile/
    /copyfile/
    ├── test01
    │   ├── test03
    │   └── test04
    └── test02
        ├── test03
        └── test04
    6 directories, 0 files
    [root@master test]# 
    
    

    (3)-i参数询问是否复制相同文件(若有相同文件)

    [root@master test01]# ls
    test1.txt  test.txt
    [root@master test01]# cp -i test.txt test1.txt 
    cp: overwrite ‘test1.txt’? y
    [root@master test01]# 
    

    Centos系统中的cp命令中已集成了-i参数的询问效果,因此在CentOS系统中针对是否覆盖文件时,也可以直接使用cp命令的。

  • 相关阅读:
    为没有源码的DLL文件添加强名称
    部署.Net Core APi+Vue 到 linux centos 服务器(一)
    安装nginx
    Linux常用命令大全
    Linq 根据list属性去重复
    jQuery Validate验证框架详解
    mysql+C#
    微信支付配置参数
    自定义截取数,截取字符串,返回字符串数组。
    Git GUI基本操作
  • 原文地址:https://www.cnblogs.com/hanlk/p/14170558.html
Copyright © 2011-2022 走看看