每天一条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命令的。

posted @ 2020-12-21 22:43  寒小韩  阅读(923)  评论(0编辑  收藏  举报