Linux中的cp命令

cp命令的作用:用于复制文件和目录

1.基本语法:

bash 复制代码
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录

2.常用选项:

选项 完整写法 说明
-i --interactive 交互模式,覆盖前提示确认
-r --recursive 递归复制目录(复制目录必须用)
-f --force 强制覆盖,不提示
-u --update 只复制更新的文件(源比目标新才复制)
-v --verbose 显示详细复制过程
-p --preserve 保留文件属性(时间戳、权限、所有者)
-a --archive 归档模式,等于 -dpR(保留所有属性+递归)
-n --no-clobber 不覆盖已存在的文件
-b --backup 覆盖前自动备份目标文件
-s --symbolic-link 创建符号链接(而不是复制文件)
-l --link 创建硬链接(而不是复制文件)
-d 保留链接属性

3.基础用法示例

bash 复制代码
[root@master /]# mkdir Tests
[root@master /]# ls
bin  boot  data  demo01  dev  etc  home  lib  lib64  media  mnt  opt  parent  proc  Projects  root  run  sbin  srv  sys  Tests  tmp  usr  var
[root@master /]# cd Tests
[root@master Tests]# echo "2026年4月25日01点18分" > test1.txt
[root@master Tests]# ls
test1.txt
[root@master Tests]# cat test1.txt
2026年4月25日01点18分
[root@master Tests]# touch test2.txt # 创建一个空文件
[root@master Tests]# cp test1.txt test2.txt # 复制test1.txt到test2.txt
cp: overwrite 'test2.txt'? y
[root@master Tests]# ls
test1.txt  test2.txt
[root@master Tests]# cat test2.txt
2026年4月25日01点18分
bash 复制代码
[root@master Tests]# cp test1.txt test3.txt # 将test1.txt文件的内容复制到test3.txt中,但是test3.txt不存在,则会先创建出这个文件再复制内容进去
[root@master Tests]# ls
test1.txt  test2.txt  test3.txt
[root@master Tests]# cat test3.txt
2026年4月25日01点18分
bash 复制代码
[root@master Tests]# mkdir SubTests
[root@master Tests]# ls
SubTests  test1.txt  test2.txt  test3.txt
[root@master Tests]# cp test1.txt SubTests # 复制文件到指定目录中
[root@master Tests]# ls SubTests
test1.txt
[root@master Tests]# cat SubTests/test1.txt
2026年4月25日01点18分
bash 复制代码
[root@master Tests]# echo "01点26分" > SubTests/file1.txt
[root@master Tests]# ls SubTests
file1.txt  test1.txt
[root@master Tests]# cat SubTests/file1.txt
01点26分
[root@master Tests]# cp SubTests/file1.txt ./myfile1.txt # 复制目标文件到当前目录并重命名。其实也就是新建了一个myfile1.txt文件,然后再执行普通复制
[root@master Tests]# ls
myfile1.txt  SubTests  test1.txt  test2.txt  test3.txt
[root@master Tests]# cat myfile1.txt
01点26分
bash 复制代码
[root@master Tests]# cp -r SubTests / # 复制SubTests目录到根目录下。需要注意两点:1.复制目录必须要用到-r参数。  2.复制到根目录/需要root权限
[root@master Tests]# cd /
[root@master /]# ls
bin  boot  data  demo01  dev  etc  home  lib  lib64  media  mnt  opt  parent  proc  Projects  root  run  sbin  srv  SubTests  sys  Tests  tmp  usr  var
[root@master /]# ls SubTests/
file1.txt  test1.txt
[root@master /]# cat SubTests/file1.txt
01点26分
[root@master /]# cat SubTests/test1.txt
2026年4月25日01点18分
bash 复制代码
[root@master /]# cd SubTests
[root@master SubTests]# cp file1.txt test1.txt / # 复制多个文件到根目录下
[root@master SubTests]# ls /
bin  boot  data  demo01  dev  etc  file1.txt  home  lib  lib64  media  mnt  opt  parent  proc  Projects  root  run  sbin  srv  SubTests  sys  test1.txt  Tests  tmp  usr  var
相关推荐
Wang's Blog2 分钟前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
云运维笔记1 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
bosins2 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人2 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院2 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi3 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事3 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
EasyGBS3 小时前
终结训推割裂!EasyGBS×EasyAIS×DLTM,实现AI算法训推一体闭环落地!
服务器·深度学习·安全
daemon.qiang3 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
Doris__HE4 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化