Redian新闻
>
在 Linux 中使用 cp 命令 | Linux 中国

在 Linux 中使用 cp 命令 | Linux 中国

科技
 
导读:熟悉在 Linux 命令行中复制文件和目录的 cp 命令。                           
本文字数:2116,阅读时长大约:3分钟

熟悉在 Linux 命令行中复制文件和目录的 cp 命令。

cp 命令是 Linux 中一个重要的命令,你可能经常会用到它。

正如名称所示,cp 代表 复制(copy),它被用于 在 Linux 命令行中复制文件和目录🔗 itsfoss.com

这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。

在展示 cp 命令的实际示例之前,我更建议你先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,你需要用到它们。

Linux 中的绝对路径和相对路径的不同之处🔗 linuxhandbook.com

复制单个文件

cp 命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。

  1. cp 源文件 目标目录

将单个文件从源目录复制到目标目录。

在复制文件的同时重命名它

你将文件复制到另一个位置时可以同时进行 重命名🔗 learnubuntu.com:443。这有点类似于文本编辑器中的“另存为”选项。

为此,你必须在路径中给出新的文件名。

  1. cp 源文件 目标目录/新文件名

在复制文件的同时重命名

复制多个文件

你还可以将多个文件复制到另一个位置。

  1. cp 文件1 文件2 文件3 目标目录

复制多个文件时,将目标目录放在最后

在这种情况下,你无法重命名文件。

你还可以使用通配符扩展,将特定后缀的文件复制到另一个位置:

  1. cp *.txt 目标目录

使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件

复制文件时避免覆盖现有文件

如果你将 file1.txt 复制到一个已经存在名为 file1.txt 文件的目录中,它会将原有的文件覆盖掉。

如果你不希望这样,cp 命令还提供了几个选项来处理文件覆盖的情况。

首先是使用选项 -i 的交互模式。在交互模式下,它会询问是否确认或放弃覆盖目标文件。

  1. cp -i 源文件 目标目录
  2. cp:覆盖 '目标目录/源文件'

按 Y 覆盖文件,按 N 跳过复制该文件。

覆盖,但以交互方式询问(内容将被覆盖)

覆盖,但以交互方式询问(内容不会被覆盖)

选项 -n 代表完全取消覆盖。使用此选项时目标文件不会被覆盖。

  1. cp -n 源文件 目标目录

取消覆盖(目录内文件的内容未更改)

还有一个选项 -b,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里 b 代表 备份(backup)

  1. cp -b 源文件 目标目录

覆盖文件,但在备份文件后附加了“~”。

最后,还有一个“更新(update)”选项 -u,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。

  1. cp -u 源文件 目标目录

新文件会覆盖旧文件

复制目录(文件夹)

cp 命令也用来在 Linux 命令行中复制目录🔗 linuxhandbook.com:443

在复制目录时,你需要使用递归选项 -r

  1. cp -r 源目录 目标目录

在 Linux 中使用 cp 命令复制整个目录

你还可以将多个目录复制到另一个位置:

  1. cp -r 目录1 目录2 目录3 目标目录

使用 cp 命令复制多个目录

在复制时保留属性

当你将文件复制到另一个位置时,它的 时间戳🔗 linuxhandbook.com:443文件权限🔗 linuxhandbook.com:443 甚至所有权都会发生变化。

这是正常的行为。但在某些情况下,你可能希望在复制文件时保留其原始属性。

要保留属性,请使用选项 -p

  1. cp -p 源文件 目标目录

💡 还有一个 -a 选项用于存档模式。它将连 ACL 也保留下来。

🏋️ 练习时间

想要练习一下 cp 命令吗?以下是一些简单的练习题供你尝试。

◈ 打开终端并创建一个名为 practice_cp 的目录。
◈ 现在,将 /etc/services 文件复制到这个新创建的目录中。
◈ 在 practice 目录中对复制的 services 文件进行一些小的更改。
◈ 现在,使用更新模式再次复制 /etc/services 文件。有什么变化吗?观察一下。
◈ 查看 /var/log 目录,并将以 mail 开头的日志文件复制到你的联系目录下。
◈ 现在,返回到你的家目录,并创建一个名为 new_dir 的新目录(好吧,我想不出更好的名字)。
◈ 将 practice_cp 目录复制到 new_dir 目录中。

对你来说这些练习足够用了。希望你能喜欢在这里学习 Linux 命令。

(题图:MJ/07b35a39-826e-4904-9f85-25257831ce9d)


via: https://itsfoss.com/cp-command/

作者:Abhishek Prakash 选题:lkxed 译者:onionstalgia 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者 :onionstalgia
🌟🌟
翻译: 6.0 篇
|
贡献: 196 天
2023-01-26
2023-08-09
https://linux.cn/lctt/onionstalgia
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
哞~ 我的 Linux 终端里有头牛 | Linux 中国Bash 基础知识系列 #5:在 Bash 中使用数组 | Linux 中国包含 Openbox 的 7 个极简 Linux 发行版 | Linux 中国Arch Linux 下全面使用 Wayland 的配置指南 | Linux 中国10 个最好的 Xfce 桌面环境的 Linux 发行版 | Linux 中国5 个令人惊讶的 Linux 用途 | Linux 中国Linux 中的模糊文件搜索 | Linux 中国使用 Btrfs 快照方便升级 Fedora Linux 且易于回退 | Linux 中国在 Linux 中使用 cd 命令 | Linux 中国各色牡丹芍药伊藤及玫瑰Linux0基础入门,教你如何在Shell中使用正则表达式血压飙升啊兄弟们,用 Windows运行 Linux 命令!Linux 中的 ls 命令使用教程 | Linux 中国Linux 版 WhatsApp | Linux 中国适用于 Linux 的 5 个最佳 PDF 编辑器 | Linux 中国比 Ubuntu 更好?Ubuntu 爱好者的 11 款最佳 Linux 发行版 | Linux 中国600条最强Linux命令总结在 Linux 文件系统中使用 attr 添加扩展属性 | Linux 中国Linux 信息显示与搜索命令ls 命令输出的颜色:它们意味着什么? | Linux 中国在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice | Linux 中国我愿意你做我的债主10 个最佳 Linux 虚拟化软件 | Linux 中国从无聊到惊吓加拿大的“疯狂誓言”:本世纪末人口达到1亿!魁省吓傻了!如何在 GitLab 执行器中使用 Podman | Linux 中国为什么黑客更喜欢使用 Kali Linux? | Linux 中国飞碟其实不需要反重力Tcpdump 命令实际示例,Linux 下功能最强大的网络抓包工具你好,我是筚(bì)篥( lì)!你的旧电脑是 “过时” 了,还是使用 Linux 的机会? | Linux 中国在 Linux 中使用 cat 命令 | Linux 中国如何在 Ubuntu 和其他 Linux 发行版中查看 AVIF 图像 | Linux 中国Rust 基础系列 #7: 在 Rust 中使用循环 | Linux 中国如何在命令行上舒适地生存? | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。