Linux的常用指令--CP
作为一个程序员,尤其是Linux程序员,有一个指令你在备份文件、复制代码时一定会高频使用——它就是 cp。在我看来,cp就像Linux世界里的“专业复印机”,能精准地把文件或目录“原样复刻”一份,既保留原文件,又能得到一个副本,是我们整理代码、备份配置的得力助手。
1.下面开始看例子
还是用我们熟悉的 test 目录,这里有dht11子目录。这时候输入 cp -rf dht11 dht12 敲回车——嘿,原文件还在,旁边多了个dht12 备份文件,就像给文件拍了张“快照”,修改前先备份,心里特别踏实。
下面来看看复制文件 ,这次用这里有dht11目录。这时候输入 cp app.c app1.c 敲回车——嘿,原文件还在,旁边多了个app1.c 备份文件,相当于“一份文件两地用”。

看到这里,相信大家已经感受到cp的实用了。接下来就看看我日常最常用的几个cp“核心用法”:
2. cp的核心用法
- 1.cp 源文件 目标文件:最基础的复制,可用于备份文件(比如 cp config.h config.h.bak),或者在同目录下复制一份新文件。
- 2.cp 源文件 目标目录:把源文件复制到目标目录里,原文件保持不变(比如 cp main.c src/)。
- 3.cp -r 源目录 目标目录:递归复制目录(必加 -r!),把整个目录连同子文件、子目录一起复制(比如 cp -r project/ project_backup/)。
- 4.cp -i 源文件 目标:交互模式(推荐常用!),如果目标文件已存在,会提示你是否覆盖,避免手滑误覆盖重要文件。
- 5.cp -f 源文件 目标:强制模式,不管目标文件存不存在,直接覆盖(慎用!除非你确定不需要原目标文件)。
- 6.cp -u 源文件 目标:更新模式,只有当源文件比目标文件新,或者目标文件不存在时,才会复制(整理多个版本的文件时超好用)。
- 7.cp -a 源目录 目标目录:归档模式,相当于 -dr --preserve=all,能保留文件的权限、时间戳、软链接等属性,备份整个项目目录时首选(比如 cp -a mywork/ mywork_archive/)。
小技巧:批量复制与多文件操作
cp还支持批量操作,能大大提高效率:
- 比如 cp *.c *.h src/:把当前目录下所有 .c 和 .h 结尾的文件,一次性复制到 src 目录里,整理代码超高效。
- 另外,cp可以同时复制多个文件到同一个目录,比如 cp file1.c file2.c file3.c endoscope/,不用一个个单独复制。
- 如果想复制时显示进度,可以搭配 rsync 命令(比如 rsync -av --progress source/ dest/),大文件复制时能清楚看到进度条。
总结
cp的使用看似简单,却是Linux操作中“备份与复制”的核心工具。不管是修改代码前先备份一份,还是把文件复制到多个目录使用,cp都能稳稳搞定。
记住常用的 -r(递归目录)、-i(交互提示)、-a(归档备份),能让你的文件操作更安全、更高效。
cp的大致用法就讲到这里,大家有什么常用的cp小技巧,欢迎在评论区交流~