每天一条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 @   寒小韩  阅读(990)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示