diff --git a/translated/tech/20230711.1 ⭐️⭐️ Using cp Command in Linux.md b/published/20230711.1 ⭐️⭐️ Using cp Command in Linux.md similarity index 55% rename from translated/tech/20230711.1 ⭐️⭐️ Using cp Command in Linux.md rename to published/20230711.1 ⭐️⭐️ Using cp Command in Linux.md index 252bb36b9f..216686b20d 100644 --- a/translated/tech/20230711.1 ⭐️⭐️ Using cp Command in Linux.md +++ b/published/20230711.1 ⭐️⭐️ Using cp Command in Linux.md @@ -3,24 +3,30 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lkxed" [#]: translator: "onionstalgia" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-16086-1.html" 在 Linux 中使用 cp 命令 ====== -cp 命令是 Linux 中一个重要的命令,您可能经常会用到它。 +![][0] -正如名称所示,cp 代表复制,它被用于[在 Linux 命令行中复制文件和目录][1]。 +> 熟悉在 Linux 命令行中复制文件和目录的 cp 命令。 -这是一个相对简单的命令,只有几个选项,但您仍有必要深入了解它。 +`cp` 命令是 Linux 中一个重要的命令,你可能经常会用到它。 -在展示 cp 命令的实际示例之前,我更建议您先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,您需要用到它们。 +正如名称所示,`cp` 代表 复制copy,它被用于 [在 Linux 命令行中复制文件和目录][1]。 + +这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。 + +在展示 `cp` 命令的实际示例之前,我更建议你先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,你需要用到它们。 + +> [Linux 中的绝对路径和相对路径的不同之处][1a] ### 复制单个文件 -cp 命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。 +`cp` 命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。 ``` cp 源文件 目标目录 @@ -30,9 +36,9 @@ cp 源文件 目标目录 ### 在复制文件的同时重命名它 -您将文件复制到另一个位置时可以同时进行[重命名][3]。这有点类似于文本编辑器中的“另存为”选项。 +你将文件复制到另一个位置时可以同时进行 [重命名][3]。这有点类似于文本编辑器中的“另存为”选项。 -为此,您必须在路径中给出新的文件名。 +为此,你必须在路径中给出新的文件名。 ``` cp 源文件 目标目录/新文件名 @@ -42,7 +48,7 @@ cp 源文件 目标目录/新文件名 ### 复制多个文件 -您还可以将多个文件复制到另一个位置。 +你还可以将多个文件复制到另一个位置。 ``` cp 文件1 文件2 文件3 目标目录 @@ -50,21 +56,21 @@ cp 文件1 文件2 文件3 目标目录 ![复制多个文件时,将目标目录放在最后][5] -在这种情况下,您无法重命名文件。 +在这种情况下,你无法重命名文件。 -您还可以使用通配符扩展,将特定后缀的文件复制到另一个位置: +你还可以使用通配符扩展,将特定后缀的文件复制到另一个位置: ``` cp *.txt 目标目录 ``` -![使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件:][6] +![使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件][6] -### 复制文件时避免覆盖现有文件。 +### 复制文件时避免覆盖现有文件 -如果您将 file1.txt 复制到一个已经存在名为 file1.txt 文件的目录中,它会将原有的文件覆盖掉。 +如果你将 `file1.txt` 复制到一个已经存在名为 `file1.txt` 文件的目录中,它会将原有的文件覆盖掉。 -如果您不希望这样,cp 命令还提供了几个选项来处理文件覆盖的情况。 +如果你不希望这样,`cp` 命令还提供了几个选项来处理文件覆盖的情况。 首先是使用选项 `-i` 的交互模式。在交互模式下,它会询问是否确认或放弃覆盖目标文件。 @@ -73,7 +79,7 @@ cp -i 源文件 目标目录 cp:覆盖 '目标目录/源文件' ? ``` -按 Y 覆盖文件,按 N 跳过复制该文件。 +按 `Y` 覆盖文件,按 `N` 跳过复制该文件。 ![覆盖,但以交互方式询问(内容将被覆盖)][7] @@ -87,7 +93,7 @@ cp -n 源文件 目标目录 ![取消覆盖(目录内文件的内容未更改)][9] -还有一个选项 `-b`,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里 b 代表备份。 +还有一个选项 `-b`,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里 `b` 代表 备份backup。 ``` cp -b 源文件 目标目录 @@ -95,7 +101,7 @@ cp -b 源文件 目标目录 ![覆盖文件,但在备份文件后附加了“~”。][10] -最后,还有一个“更新”选项 `-u`,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。 +最后,还有一个“更新update”选项 `-u`,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。 ``` cp -u 源文件 目标目录 @@ -107,7 +113,7 @@ cp -u 源文件 目标目录 cp 命令也用来[在 Linux 命令行中复制目录][12]。 -在复制目录时,您需要使用递归选项 `-r`。 +在复制目录时,你需要使用递归选项 `-r`。 ``` cp -r 源目录 目标目录 @@ -115,7 +121,7 @@ cp -r 源目录 目标目录 ![在 Linux 中使用 cp 命令复制整个目录][13] -您还可以将多个目录复制到另一个位置: +你还可以将多个目录复制到另一个位置: ``` cp -r 目录1 目录2 目录3 目标目录 @@ -125,9 +131,9 @@ cp -r 目录1 目录2 目录3 目标目录 ### 在复制时保留属性 -当您将文件复制到另一个位置时,它的[时间戳][15]、[文件权限][16]甚至所有权都会发生变化。 +当你将文件复制到另一个位置时,它的 [时间戳][15]、[文件权限][16] 甚至所有权都会发生变化。 -这是正常的行为。但在某些情况下,您可能希望在复制文件时保留其原始属性。 +这是正常的行为。但在某些情况下,你可能希望在复制文件时保留其原始属性。 要保留属性,请使用选项 `-p`: @@ -141,17 +147,19 @@ cp -p 源文件 目标目录 ### 🏋️ 练习时间 -想要练习一下 cp 命令吗?以下是一些简单的练习题供您尝试。 +想要练习一下 `cp` 命令吗?以下是一些简单的练习题供你尝试。 - 打开终端并创建一个名为 `practice_cp` 的目录。 -- 现在,将 /etc/services 文件复制到这个新创建的目录中。 -- 在 practice 目录中对复制的 services 文件进行一些小的更改。 -- 现在,使用更新模式再次复制 /etc/services 文件。有什么变化吗?观察一下。 -- 查看 /var/log 目录,并将以 mail 开头的日志文件复制到您的联系目录下。 -- 现在,返回到您的家目录,并创建一个名为 new_dir 的新目录(好吧,我想不出更好的名字)。 -- 将 practice_cp 目录复制到 new_dir 目录中。 +- 现在,将 `/etc/services` 文件复制到这个新创建的目录中。 +- 在 `practice` 目录中对复制的 `services` 文件进行一些小的更改。 +- 现在,使用更新模式再次复制 `/etc/services` 文件。有什么变化吗?观察一下。 +- 查看 `/var/log` 目录,并将以 `mail` 开头的日志文件复制到你的联系目录下。 +- 现在,返回到你的家目录,并创建一个名为 `new_dir` 的新目录(好吧,我想不出更好的名字)。 +- 将 `practice_cp` 目录复制到 `new_dir` 目录中。 -对您来说这些练习足够用了。希望您能享受在 It's FOSS 上学习 Linux 命令。 +对你来说这些练习足够用了。希望你能喜欢在这里学习 Linux 命令。 + +*(题图:MJ/07b35a39-826e-4904-9f85-25257831ce9d)* -------------------------------------------------------------------------------- @@ -160,13 +168,14 @@ via: https://itsfoss.com/cp-command/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] 译者:[onionstalgia](https://github.com/onionstalgia) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://itsfoss.com/author/abhishek/ [b]: https://github.com/lkxed/ [1]: https://itsfoss.com/copy-files-directory-linux/ +[1a]: https://linuxhandbook.com/absolute-vs-relative-path/ [2]: https://itsfoss.com/content/images/2023/07/cp_2.png [3]: https://learnubuntu.com:443/rename-files/ [4]: https://itsfoss.com/content/images/2023/07/cp_rename.png @@ -183,3 +192,4 @@ via: https://itsfoss.com/cp-command/ [15]: https://linuxhandbook.com:443/file-timestamps/ [16]: https://linuxhandbook.com:443/linux-file-permissions/ [17]: https://itsfoss.com/content/images/2023/07/cp_preserve_attributes.png +[0]: https://img.linux.net.cn/data/attachment/album/202308/12/135152eqsy2yiczqiicqvt.jpg \ No newline at end of file