learlinux作为一种操作系统,Linux在铁杆技术爱好者中非常受欢迎。研究它的人,对它发誓。它是健壮的、安全的、可伸缩的。然而,有些人已经习惯了Windows UI,但他们往往会回避它。在本教程中,您将看到Linux能有多简单和强大——如果你只学习几个基本的命令和实践。今天我们将带您完成其中的一个命令——复制目录

Linux -简介

Linux是免费的操作系统。我们所说的免费是指Linux的源代码是免费的。这意味着操作系统的代码对所有人都可用,您可以根据需要修改和添加它。因此,自从Linux诞生以来,它已经经历了许多变化,并且有一个强大且不断增长的Linux程序员社区,他们不断地增加它的功能。如果您以前没有使用Linux的经验,我们强烈建议您首先尝试这个Linux速成课程去熟悉它。这将有助于为我们在本文其余部分中使用的术语设置框架。

Linux中的链接系统

要理解在Linux中如何创建文件和目录以及如何使用它们,首先需要了解链接。文件和文件夹的概念与其他操作系统类似。

例如,您可能在Windows中使用过文件夹。是的,文件夹是我们存储文件的地方。文件夹之于Windows,目录之于Linux。让我们讨论如何在Linux中创建文件和目录,然后我们将看到如何复制目录。

在Linux中如何创建目录

当你在Linux中创建一个文件时,一些类型的信息会在内部链接到它——创建它的用户、权限、创建时间、链接。所以,当你在Linux中创建一个文件或目录,为存储在磁盘中的目录数据分配一个inode号,目录名指向该inode号。

Linux中的copy命令

cp命令是“copy”的缩写,用于在Linux系统中复制文件和目录。

cp的默认语法是

> cp源目的地

在哪里

是否要复制源文件或目录

目的地新位置(文件或目录)是要将其复制到的位置吗

下面是一个简单的示例,将文件从一个位置复制到另一个位置

> cp myfile.txt newdir /。

这会将文件myfie.txt从当前目录复制到newdir/目录

这是一些简单的复制例子。现在让我们看看如何复制整个目录。

如何用cp命令复制目录

其实很简单。只需将源目录和目标目录指定为copy命令的参数!

> cp dir1/ dir2/

这将把所有文件从dir1/复制到dir2/。当然,也不是全部。如果dir1/有任何子目录或软链接,默认情况下它们不会被复制。Linux不能很好地猜测您的意图。您必须明确地告诉它是否要复制所有子目录、隐藏文件或链接。copy命令有特定的选项来涵盖所有这些内容,甚至更多。让我们来看看一些重要的选项。

递归地复制

为了复制父目录的所有子目录,需要给出' -r '选项。注意,选项不区分大小写。你可以互换使用' -r '或' -r '。它是这样的:

> cp -r dir1/ dir2/

现在您需要小心使用这个选项。如果你的目录结构是非常嵌套的,这可能会花费很长时间,或者可能会卡在中间——如果有损坏的文件或子目录隐藏在下面几层。

注意,如果目标目录dir2/已经有同名的文件或子目录,则不会复制您的文件或子目录。

力一个副本

您可能会遇到希望强制复制的情况,例如在上面提到的情况中,目的地已经有同名的文件。Linux拷贝命令为您提供了一个简单的解决方法。方法如下:

> cp -rf dir1/ dir2/

注意附加的“f”和“-r”选项。这告诉Linux,从源目录强制复制文件和子目录。

创建一个存档

如果要将目录保存为归档文件,可以使用

> cp -a dir1/ dir2/

a选项有助于将原目录的结构和属性保存到新目录中。

cp命令在不复制时递归地跟随符号链接。这是一个默认选项,可以通过指定' -d '(意思是" -no-dereference ")来覆盖它。

复制链接

要复制符号链接,可以使用' -d '或' - - no- dereference '选项。cp命令不复制链接指向的文件,而只复制符号链接。它还保留了副本中源文件之间的硬链接。

> cp -d dir1/ dir2/

注意,默认情况下,copy不允许你复制一个文件到它本身,即源文件和目标文件必须是不同的。

当然,这只是冰山一角。复制命令有更多的选项,我们不能在这里全部介绍。如果您需要更多细节,只需使用“man”命令,Linux将列出所有选项、它们的含义以及如何使用它们。

>人cp

我们希望本教程能让你对如何在Linux下复制目录.如你所见,Linux拷贝给你一个比Windows更好的控制级别拖拽。有了非常广泛的选项来指定具体要做什么以及如何做事情,Linux在技术社区中受到广泛欢迎就不足为奇了。

页面最后更新:2014年2月

特色课程

命令行101

2020年11月

  • 1小时总
  • 19日讲座
  • 初学者水平
5 (2)

即使您以前从未使用过命令行,也要同时学习macOS和Linux的命令行。|由Kalob Taulien

探索课程

命令行学生也要学习

让你的团队。领导行业。

通过Udemy for Business订阅您组织的在线课程和数字学习工具图书馆。

请求一个演示