Linux cp 命令的15个示例 - 创建文件和目录的副本


拷贝文件和目录是每一个操作系统的基本指令。备份行为基本上是创建文件和目录的副本。在Linux系统下,我们可以用cp命令来实现。

copy 命令是什么

正如我们在上文提到的,cp是一个用来创建文件和目录副本的命令。在这里我们提供了一些在日常操作中可能用到的cp命令的实例。

1. 不带任何参数下,运行cp

这是 cp 命令最基础的使用。 拷贝名为 myfile.txt 从一个位置到另一个位置,我们可以像这样子输入:

  1. $ cp myfile.txt /home/pungki/office

Copy without options

如果我们没有输入绝对路径,这意味着我们正在当前目录下拷贝一个文件。在上面的实例中,myfile.txt位于/home/pungki/Documents目录下。如果我们当前目录正是/home/pungki/Documets,那么没有必要输入/home/pungki/Documents/myfile.txt来拷贝文件。当/home/pungki/office是一个目录,则文件会拷贝到里面。

2. 同时拷贝多个文件

要在同时拷贝多个文件,我们只需要将多个文件用空格隔开。如下示例:

  1. $ cp file_1.txt file_2.txt file_3.txt /home/pungki/office

Copying multiple files

3. 拷贝一个目录

要拷贝一个目录的话会有点棘手。你需要添加 -r 或者 -R 选项来实现。-r或-R 选项表明递归操作。无论该目录是否为空目录,这个选项都是必要的。如下示例:

  1. $ cp -r directory_1 /home/pungki/office

Copy directory

需要注意的一件事,你需要移除在目录名尾部的斜杠。否则你会收到类似的错误信息cp: omitting directory‘directory_1/’

Copy directory error

如果你收到错误信息,则目录不会被拷贝到目标文件夹。

4. 创建文件的硬链接,而不是拷贝它们

拷贝文件意味着你必须使用一些存储空间来储存拷贝的文件。有时候出于某种原因,你可能想要创建“快捷方式”或者链接到文件,而不是拷贝它们。要做到这一点,我们可以使用-l选项。

  1. $ cp -l file_4.txt /home/pungki/office

Copy hardlinks

从上图看出,我们看到file_4.txt的硬链接已经拷贝到/home/pungki/office/file_4.txt。标记有同样的 inode, 835386。但是请注意,硬链接不能用来创建目录。下面让我们看一个例子。

原目录 directory_1 的 inode 值是 278230

Inode number of original directory

原文件 file_5.txt 的 inode 值是 279231

Original inode number of file

对 directory_1 执行 cp 命令

Copy using -rl options

拷贝的 directory_1副本的 inode 值是 274800

Inode number of copied directory

拷贝的 file_5.txt副本的 inode 值是 279231。跟它的原文件一样

Inode number of copied file

  • 1
  • 2
  • 3
  • 下一页

相关内容