在Linux中复制文件:使用这些选项使事情变得更简单
* Linux是一种基于UNIX标准的现代自由操作系统。在过去的二十年中,它在不同的平台上以多种方式采用,因此有许多口味。虽然穿过他们,它保持了其强大的本质,作为一个可靠的运行系统。
在本教程中,我们将带领您完成在Linux中复制文件的各种方式。是的,有很多选择。但是他们很简单地学习和足够强大,因为你想要用它们。
如果您是Linux的新手,我们强烈推荐您首先在Linux上进行简单,有效的崩溃课程。这将有助于您了解我们将在教程中使用的基本框架和概念的感受。
让我们从基础开始。
如何在Linux中创建文件
在Linux中创建文件时,会同时存储一些不同类型的信息。这些参数包括用户名、文件类型、创建时间、访问权限等等。您需要知道两个属性——inode编号和文件名。inode号表示存储在文件中的数据在硬盘分区中的实际位置。文件名实际上是指向inode号的人类可读的指针,并且是指向inode号的链接。文件名是在用户指定的目录结构中创建的。
简单复制:复制到一个不同的名字,在同一个文件夹
Linux中的拷贝命令,被亲切地缩写为“cp”。它是Linux的基本实用程序之一,是每个Linux变种的一部分。它的工作是创建您指定的任何文件系统元素的副本。它可以复制文本文件或可执行程序(二进制)文件,甚至整个目录。它可以用于生成备份文件或创建备份副本,以备您想要试验该文件。
以下是副本命令的一般语法 -
> cp [-options]源目标
我们假设源文件名是source.txt,目标文件名是target.txt。
所以上面的命令变成
cp source.txt target.txt
这将通过名为“target”的名称在同一位置中创建源文件副本。
要验证此功能,您可以尝试“ls”命令,向您展示目录的内容
> ls source.txt target.txt
从一个目录复制到另一个目录
现在让我们说要将文件从一个位置复制到另一个位置,具有相同的名称。然后语法将是 -
> cp dir1 / source.txt dir2 / source.txt
在这里,我们将source.txt复制来自dir1 / to dir2 /。或者,您需要一点快捷方式和使用
> cp dir1/source.txt dir2/。
Linux会解释'。的意思是“使用相同的文件名”。
要确认,请再次使用“LS”命令。
> ls dir2 / source.txt
以交互模式复制文件
有时,您可以在不同文件夹中常用文件名,而不记得它。例如,您可以在多个文件夹中调用Readme.txt的文件。您将其命名为此,以便遵循该文件夹,首先读取,以获取指令。现在随着时间的推移,您可能不记得哪些文件夹专门拥有它,并且没有。你如何确保在复制时不覆盖它?通过每个文件夹来查找它,可能是非常痛苦的。Linux有一个简单的方法 - 它可以提示您。尝试以下命令
> CP -I README.TXT DIR2 /。
这样,如果dir2 /已经有一个readme.txt,Linux会提示您提出一个问题“您要复制或不复制'。您可以从键盘上提供简单的“Y”或“N”选项
强制副本
有时会发生不允许将文件从源复制到目标的情况。这可能是由于安全原因或权限,也可能是因为文件已经存在于目标位置上。与交互模式复制相比,这是完全相反的场景。
在这种情况下,我们可以利用CP命令的-f选项,也称为“Force Copy”。语法将是 -
> CP -F Readme.txt Dir2 /。
此选项首先删除该文件并创建具有相同名称的新文件,而不会提示无论其权限如何。
条件副本
如果您已经安排了后台脚本的运行,或者多个用户访问同一个文件系统,Linux有一个相当漂亮的选项“-u”,它只在两种情况下复制文件。
一种。源代码的文件比目标更新。
b.文件在目标位置丢失。
语法是一个简单的
> CP -U README.TXT DIR2 /。
复制多个文件
让你有多个文件(源文件。txt, source1。source .txt, source2.txt等等,直到sourcen2 .txt),你想复制其中的一些。您可以手动键入要复制的文件的名称,也可以使用通配符。让我们看看如何。
如果要选择性地复制少数文件,最好按名称列出所有文件
> cp source1.txt source2.txt dir2 /。
注意使用“。”。这可确保我们将文件复制到具有相同名称的新目录。再次,让我们检查这是否实际上是工作的。记住'ls'命令?
source1.txt source2.txt
如果您有多少数文件,则键入所有名称可能是非常痛苦的。一如既往,Linux有一种方便的方式来做。Linux允许您使用通配符来指定文件名。让我们看看如何。
cp source*.txt dir2/。
这是告诉Linux复制source1,source2 ... sourcen,即从'source'over到dir2 /开头的所有文件。让我们看看另一个命令
readme.txt dir2/。
你能猜到它的作用吗?是的,它复制所有的“源”文件和readme.txt。让我们更进一步。如何将所有文件复制到一个新文件夹?在看答案之前自己试一下。
> cp * dir2 /。
就像我们一开始提到的,Linux是一个非常强大的操作系统。它给用户一个非常粒度的粒度来完成完成。我们希望本教程帮助您了解基本拷贝功能,并显示您如何掌握Linux命令行。