简明Linux命令行笔记:cp

复制文件

cp [options] source-file destination-file

cp [options] source-file-list destination-directory

 

参数

第一种方式:source-file cp 要复制的文件路径名;destination-filecp 生成的副本文件路径名

第二种方式:source-file-listcp 要复制的文件路径名列表;destination-filecp 生成副本的目录路径名

 

选项

-b              如果目标文件已存在,则在覆盖的时候对目标文件先进行备份

-i               如果目标文件已存在,则在覆盖的时候进行提示

-f               强制覆盖目标文件,管你特么的权限和提示

-P              保留原文件中用户、组、权限、修改时间等信息进行复制

-u              比较原文件和已存在的同名目标文件修改时间,如果目标文件修改时间较新则不覆盖

-R或-r        递归复制目录层次和文件

-v              显示cp复制的每个文件的名称

 

示例

cp 当前目录

$ ls
a.txt
$ cp a.txt b.txt
$ ls
a.txt  b.txt

在当前目录中复制,此处将a.txt 复制为 b.txt

 

cp -iv 当前目录

$ ls
a.txt  b.txt
$ cp -iv a.txt b.txt 
cp:是否覆盖"b.txt"? y
"a.txt" -> "b.txt"

在当前目录中复制,如果文件已存在则确认是否覆盖,并显示复制信息

 

cp 多个文件 目录

$ cp a.txt b.txt c.txt abc/
$ ls
abc  a.txt  b.txt  c.txt
$ ls abc/
a.txt  b.txt  c.txt

复制多个文件到某目录,此处将a.txt b.txt c.txt复制到同目录下的abc文件夹

 

cp -r

$ cp -r abc dir/
$ ls
abc  a.txt  b.txt  c.txt  dir
$ ls dir
a.txt  b.txt  c.txt

递归复制整个目录,包括目录结构和文件

 

Tips

cp的选项中还有涉及到链接文件的复制,这里没有列出,俺又不是在重写手册

 

posted @   Nerxious  阅读(1382)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示