如何使用Linux来复制文件和文件夹

介绍

本指南将向您展示如何使用最流行的图形文件管理器以及使用Linux命令行将文件和文件夹从一个地方复制到另一个地方。

大多数人习惯使用图形工具从磁盘复制文件。 如果您习惯使用Windows,那么您将会注意到一个称为Windows资源管理器的工具,它非常容易。

Windows资源管理器是一种称为文件管理器的工具,Linux有许多不同的文件管理器。 在你的系统上出现的那个在很大程度上取决于你正在使用的Linux版本以及在某种程度上你正在使用的桌面环境

最常见的文件管理器如下所示:

如果您正在运行UbuntuLinux MintZorinFedoraopenSUSE,那么您的文件管理器很可能被称为Nautilus。

任何使用KDE桌面环境运行发行版的人都可能会发现Dolphin是默认的文件管理器。 使用KDE的发行版包括Linux Mint KDE,Kubuntu,Korora和KaOS。

Thunar文件管理器是XFCE桌面环境的一部分,PCManFM是LXDE桌面环境的一部分,Caja是MATE桌面环境的一部分。

如何使用Nautilus复制文件和文件夹

Nautilus将通过Linux Mint和Zorin中的菜单提供,或者它将显示在Ubuntu的Unity Launcher中,或者通过任何使用GNOME的分发版(例如Fedora或openSUSE)的仪表板视图显示。

通过双击文件夹来复制文件在文件系统中导航,直到找到想要复制的文件。

您可以使用标准键盘命令来复制文件。 例如,单击一个文件并一起按CTRL和C需要一个文件的副本。 按CTRL和V将文件粘贴到您选择将文件复制到的位置。

如果将一个文件粘贴到同一个文件夹中,则它将与原始文件具有相同的名称,除了它将在其末尾具有单词(复制)。

您也可以通过右键单击文件并选择“复制”菜单项来复制文件。 然后,您可以选择您想要粘贴的文件夹,右键单击并选择“粘贴”。

复制文件的另一种方法是右键单击该文件并选择“复制到”选项。 将出现一个新窗口。 找到您要将文件复制到的文件夹,然后单击“选择”按钮。

按住CTRL键的同时选择每个文件,可以复制多个文件。 任何以前的方法,例如选择CTRL C或从上下文菜单中选择“复制”或“复制到”都适用于所有选定的文件。

复制命令适用于文件和文件夹。

如何使用Dolphin复制文件和文件夹

海豚可以通过KDE菜单启动。

Dolphin中的许多功能与Nautilus相同。

要复制文件,请双击文件夹,导航到文件所在的文件夹,直到看到文件。

使用鼠标左键选择文件或使用CTRL键和鼠标左键选择多个文件。

您可以一起使用CTRL和C键来复制文件。 要粘贴文件,请选择要将文件粘贴到的文件夹,然后按CTRL和V.

如果您选择粘贴与您复制的文件相同的文件夹,则会出现一个窗口,要求您输入复制文件的新名称。

您也可以通过右键单击文件并选择“复制”来复制文件。 要粘贴文件,您可以右键单击并选择“粘贴”。

也可以通过将文件从一个文件夹拖到另一个文件夹来复制文件。 当你这样做时,将出现一个菜单,其中有复制文件,链接文件或移动文件的选项。

如何使用Thunar复制文件和文件夹

Thunar文件管理器可以从XFCE桌面环境的菜单中启动。

与Nautilus和Dolphin一样,您可以使用鼠标选择文件并使用CTRL和C键来复制文件。 然后可以使用CTRL和V键粘贴文件。

如果您将该文件粘贴到与原始文件相同的文件夹中,则复制的文件保持相同的名称,但将“(副本)”作为其名称的一部分添加到Nautilus中。

您也可以通过右键单击文件并选择“复制”选项来复制文件。 请注意,Thunar不包含“复制到”选项。

一旦你复制了一个文件,你可以通过导航到要粘贴的文件夹来粘贴它。 现在只需右键单击并选择“粘贴”。

将文件拖动到文件夹会移动文件而不是复制文件。

如何使用PCManFM来复制文件和文件夹

PCManFM文件管理器可以从LXDE桌面环境的菜单中启动。

这个文件管理器相当于Thunar的基础。

您可以通过用鼠标选择文件来复制文件。 要复制文件,请同时按下CTRL和C键,或右键单击文件并从菜单中选择“复制”。

要粘贴文件,请在要将文件复制到的文件夹中按CTRL和V. 您也可以右键单击并从菜单中选择“粘贴”。

拖放文件不会复制文件,它会移动文件。

右击一个名为“复制路径”的文件时有一个选项。 如果您想要将文件的URL以任何理由粘贴到文档或命令行中,这很有用。

如何使用Caja复制文件和文件夹

您可以从MATE桌面环境中的菜单启动Caja。

Caja和Nautilus很像,工作原理也很相似。

要复制文件,请通过浏览文件夹来找到它。 点击文件,然后选择CTRL和C来复制文件。 您也可以右键单击并从菜单中选择“复制”。

要粘贴文件,请导航到要将文件复制到的位置,然后按CTRL和V.或者右键单击并从菜单中选择“粘贴”。

如果您粘贴到与原始文件相同的文件夹中,则该文件将具有相同的名称,但会在其末尾附加“(副本)”。

右键单击文件也会提供一个名为“复制到”的选项。 这不如Nautilus中的“复制到”选项有用。 您只能选择复制到桌面或主文件夹。

按住文件上的shift键并将其拖动到文件夹将显示一个菜单,询问您是否要复制,移动或链接文件。

如何将文件从一个目录复制到另一个使用Linux

将文件从位置复制到另一个位置的语法如下所示:

cp / source / path / name / target / path / name

例如,假设您有以下文件夹结构:

如果要将file1从其在/ home / documents / folder1中的当前位置复制到/ home / documents / folder2,则可以在命令行中键入以下内容:

cp / home / gary / documents / folder1 / file1 / home / gary / documents / folder2 / file1

你可以在这里做一些捷径。

/ home部分可以替换为本文中介绍的波浪号(〜)。 这改变了这个命令

cp〜/ documents / folder1 / file1〜/ documents / folder2 / file1

如果您打算使用相同的文件名,则可以简单地省略目标文件名

cp〜/ documents / folder1 / file1〜/ documents / folder2

如果您已经在目标文件夹中,则可以简单地使用句号替换目标的路径。

cp〜/ documents / folder1 / file1。

或者,如果您已经在源文件夹中,则可以简单地将文件名称作为源提供,如下所示:

cp file1〜/ documents / folder2

如何在Linux中复制文件之前进行备份

在上一节中,folder1包含一个名为file1的文件,而folder2不包含该文件。 想象一下,然而,folder2确实有一个名为file1的文件,并且您运行了以下命令:

cp file1〜/ documents / folder2

上述命令将覆盖当前位于文件夹2中的file1。没有提示,没有警告和错误,因为就Linux而言,您已指定了有效的命令。

您可以在复制文件时采取预防措施,让Linux在覆盖文件之前创建文件的备份。 只需使用以下命令:

cp -b / source / file / target / file

例如:

cp -b〜/ documents / folder1 / file1〜/ documents / folder2 / file1


在目标文件夹中,现在将会有已被复制的文件,并且最后还会有一个带有波形符号(〜)的文件,该文件基本上是原始文件的备份。

您可以更改备份命令以稍微不同的方式工作,以便创建编号的备份。 如果您之前已经复制了文件并且怀疑备份已存在,则可能需要执行此操作。 这是一种版本控制。

cp --backup =编号〜/ documents / folder1 / file1〜/ documents / folder2 / file1

备份的文件名将沿着file1。〜1〜,file1。〜2〜等行。

如何在使用Linux复制文件时覆盖文件之前提示

如果您不想让文件的备份副本位于您的文件系统周围,但您也希望确保副本命令不会无差别地覆盖文件,则可以显示提示,询​​问您是否要覆盖目标。

为此,请使用以下语法:

cp -i / source / file / target / file

例如:

cp -i〜/ documents / folder1 / file1〜/ documents / folder2 / file1

一条消息将如下所示: cp:覆盖'./file1'?

要覆盖文件,请按键盘上的Y或取消同时按N或CTRL和C.

在Linux中复制符号链接时会发生什么?

符号链接有点像桌面快捷方式。 符号链接的内容是物理文件的地址。

想象一下,因此你有以下文件夹结构:

看看下面的命令:

cp〜/ documents / folder1 / file1〜/ documents / folder3 / file1

这应该不是什么新东西,因为它将一个物理文件从一个文件夹复制到另一个文件夹。

但是,如果您将符号链接从folder2复制到folder3,会发生什么情况?

cp〜/ documents / folder2 / file1〜/ documents / folder3 / file1

复制到folder3的文件不是符号链接。 它实际上是由符号链接指向的文件,所以实际上您可以通过从folder1复制file1获得相同的结果。

顺便提一句,您可以使用以下命令获得相同的结果:

cp -H〜/ documents / folder2 / file1〜/ documents / folder3 / file1

只要确保有一个开关绝对强制文件被复制,而不是符号链接:

cp -L〜/ documents / folder2 / file1〜/ documents / folder3 / file1

如果您想复制符号链接,则需要指定以下命令:

cp -d〜/ documents / folder2 / file1〜/ documents / folder3 / file1

要强制复制符号链接而不是物理文件,请使用以下命令:

cp -P〜/ documents / folder2 / file1〜documents / folder3 / file1

如何使用cp命令创建硬链接

符号链接和硬链接有什么区别?

符号链接是物理文件的快捷方式。 它不包含比物理文件更多的地址。

然而,硬链接基本上是指向相同物理文件的链接,但具有不同的名称。 这几乎就像一个绰号。 这是组织文件的好方法,不占用任何更多的磁盘空间。

本指南将告诉您关于硬链接所需的一切

您可以使用cp命令创建一个硬链接,但是我通常会主张使用ln命令。

cp -l〜​​/ source / file〜/ target / file

作为一个例子,为什么你可能会使用硬链接考虑你有一个名为视频的文件夹,并在该视频文件夹中有一个非常大的视频文件,名为honeymoon_video.mp4。 现在想象你也想让这段视频被称为barbados_video.mp4,因为它还有巴巴多斯的片段,这是你去蜜月的地方。

您可以简单地复制该文件并为其指定新名称,但这意味着您占用两倍的磁盘空间用于实质上相同的视频。

您可以改为创建一个名为barbados_video.mp4的符号链接,它指向honeymoon_video.mp4文件。 这样可以很好地工作,但是如果有人删除了honeymoon_video.mp4,你将会留下一个链接而没有其他任何东西,链接仍然占用磁盘空间。

如果您创建了一个硬链接,但是您将拥有一个包含两个文件名的文件。 唯一的区别是它们包含不同的inode编号。 (唯一标识符)。 删除honeymoon_video.mp4文件不会删除该文件,只会将该文件的计数降低1.该文件只有在删除了该文件的所有链接时才会被删除。

要创建链接,你可以这样做:

cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4

如何使用cp命令创建符号链接

如果你想创建一个符号链接而不是硬链接,你可以使用下面的命令:

cp -s / source / file / target / file

我再次亲自一般使用ln -s命令,但是这也适用。

如何只复制文件,如果它们较新

如果您想将文件复制到文件夹,但只覆盖源文件较新的目标文件,则可以使用以下命令:

cp -u / source / file / target / file

值得注意的是,如果文件不存在于目标端,则复制将发生。

如何复制多个文件

您可以在复制命令中提供多个源文件,如下所示:

cp / source / file1 / source / file2 / source / file3 / target

上述命令会将file1,file2和file3复制到目标文件夹。

如果文件匹配某种模式,那么你也可以使用通配符,如下所示:

cp /home/gary/music/*.mp3 / home / gary / music2

上述命令会将所有带扩展名.mp3的文件复制到文件夹music2。

如何复制文件夹

复制文件夹与复制文件相同。

例如,假设您有以下文件夹结构:

假设您想要移动folder1文件夹,以便它现在位于文件夹2下,如下所示:

您可以使用以下命令:

cp -r / home / gary / documents / folder1 / home / gary / documents / folder2

您也可以使用以下命令:

cp -R / home / gary / documents / folder1 / home / gary / documents / folder2

这将复制folder1的内容以及子目录内的任何子目录和文件。

概要

本指南提供了在Linux中复制文件所需的大部分工具。 对于其他任何你可以使用Linux man命令

man cp