cp命令:复制文件和目录

cp命令:复制文件和目录

【功能说明】

  cp命令可以理解英文单词copy的缩写,其功能为复制文件和目录。

【语法格式】

1  cp    [option]     [source]       [dest]
2  cp    【选项】       【源文件】       【目标文件】 

 提示说明:

  1) cp命令以及后面的选项和文件,每个元素之间都至少要有一个空格

【命令参数说明】

参数选项 解释说明
-p 复制文件时保持源文件的所有者、权限信息及时间属性
-d 如果复制的源文件时符号链接,那么仅复制符号链接本身,而保留符号链接所有指向的目标文件或目录
-r 递归复制目录,即复制目录下的所有层级的子目录及文件
-a 等同于上面的 p 、d、r这三个选项的功能的总和
-i 覆盖已有文件前提示用户确认
-t 默认情况下命令格式是 “cp源文件”  “目标文件”,使用 -t 参数可以颠倒顺序,格式变为 “cp -t  目标文件    源文件”


【使用范例】

1. 基础范例

1.1 案例1:无参数和带参数-a的比较

[root@python ~]# cd /test/
[root@python test]# pwd
/test

[root@python test]# ll -h               #查看当前文件的时间属性,大家已自己的为准
total 0
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir1
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir2
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir3
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir4
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir5
-rw-r--r-- 1 root root 0 Dec 1 03:33 file1.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file2.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file3.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file4.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file5.txt

[root@python test]# cp file1.txt file4.txt
cp: overwrite ‘file4.txt’? y
[root@python test]# cp -a file1.txt file5.txt
cp: overwrite ‘file5.txt’? y

[root@python test]# ll -h        #再次查看当前文件的时间属性
total 0
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir1
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir2
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir3
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir4
-rw-r--r-- 1 root root 0 Dec 1 03:33 dir5
-rw-r--r-- 1 root root 0 Dec 1 03:33 file1.txt               #file1.txt文件是源文件
-rw-r--r-- 1 root root 0 Dec 1 03:33 file2.txt
-rw-r--r-- 1 root root 0 Dec 1 03:33 file3.txt
-rw-r--r-- 1 root root 0 Dec 1 03:36 file4.txt               #file4在没有使用任何参数
-rw-r--r-- 1 root root 0 Dec 1 03:33 file5.txt               #file5在使用了“-a”参数复制后的,属性不变

  可以发现使用了-a参数复制时,文件的时间属性没有任何变化,-a参数的功能包含-p参数保持文件的属性功能。

1.2 案例2:使用 -i 参数的例子

[root@python test]# cp -i file1.txt file5.txt     #使用-i 参数复制文件,会提示是否覆盖文件
cp: overwrite ‘file5.txt’? y
[root@python test]# cp file1.txt file5.txt       #不使用-i参数一样的结果,为什么呢?
cp: overwrite ‘file5.txt’? y
[root@python test]# alias cp                        #使用alias命令查看到cp命令 系统设置了cp -i 的别名了
alias cp='cp -i'

1.3 案例3:使用-r参数复制目录

[root@python test]# cp dir1 dir2                #复制dir1 到dir2,但结果显示跳过目录dir1
cp: omitting directory ‘dir1’
[root@python test]# cp -r dir1 dir2/           #若使用-r参数则复制成功。

[root@python test]# tree dir2                    #查看复制结果
dir2
├── dir1
│   ├── test1
│   │   ├── test1
│   │   ├── test2
│   │   ├── test3
│   │   ├── test4
│   │   └── test5
│   ├── test2
│   │   ├── test1
│   │   ├── test2
│   │   ├── test3
│   │   ├── test4
│   │   └── test5
│   └── test3
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
├── test1
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
├── test2
│   ├── test1
│   ├── test2
│   ├── test3
│   ├── test4
│   └── test5
└── test3
├── test1
├── test2
├── test3
├── test4
└── test5

7 directories, 30 files

#提示:

  使用-a参数也可以达到相同的效果,因为-a参数相当于“dpr” 三个参数

posted @   七月流星雨  阅读(19598)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示