每天一条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命令的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 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 构建精确任务处理应用