如何在Linux中复制文档

  

在办公室里复印文档过去需要专门的员工与机器。如今,复制是电脑用户无需多加思考的任务。在电脑里复制数据是如此微不足道的事,以致于你还没有意识到复制就发生了,例如当拖动文档到外部硬盘的时候。

数字实体复制起来十分简单已是一个不争的事实,以致于大部分现代电脑用户从未考虑过其它的复制他们工作的方式,无论如何,在Linux中复制文档仍有几种不同的方式。每种方法取决于你的目的不同而都有其独到之处。

以下是一系列在Linux, Mac上BSD及复制文件的方式。

<强>

在GUI中复制

<强>

如大多数操作系统一样,如果你想的话,你可以完全用GUI来管理文件。

最浅显的复制文件的方式可能就是你以前在电脑中复制文件的方式:拖拽并放下。在大多数Linux桌面上,从一个本地文件夹拖拽放下到另一个本地文件夹是移动文件的默认方式,你可以通过在拖拽文件开始后按住Ctrl来改变这个行为。

你的鼠标指针可能会有一个指示,例如一个加号以显示你在复制模式。
如何在Linux中复制文档

注意如果文件是放在远程系统上的,不管它是一个Web服务器还是在你自己网络里用文件共享协议访问的另一台电脑,默认动作经常是复制而不是移动文件。

如果你觉得在你的桌面拖拽文档不够精准或者有点笨拙,或者这么做会让你的手离开键盘太久,你可以经常使用右键菜单来复制文件。这取决于你所用的文件管理器,但通常来说,右键弹出的关联菜单会包括常见的操作。
如何在Linux中复制文档

关联菜单的“复制”动作将你的文件路径(即文件在系统的位置)保存在你的剪切板中,这样你可以将你的文件粘贴到别处:(LCTT译注:此处及下面的描述不确切,这里并非复制的文件路径的“字符串”,而是复制了代表文件实体的对象/指针)

在这种情况下,你并没有将文件的内容复制到你的剪切版上。取而代之的是你复制了文件路径。当你粘贴时,你的文件管理器会查看剪贴板上的路径并执行复制命令,将相应路径上的文件粘贴到你准备复制到的路径。

<强>

用命令行复制

<强>

虽然GUI通常是相对熟悉的复制文件方式,用终端复制却更有效率。

在终端上等同于在桌面上复制和粘贴文件的最显而易见的方式就是cp命令。这个命令可以复制文件和目录,也相对直接。它使用熟悉的来源和目的(必须以这样的顺序)句法,因此复制一个名为例子。txt的文件到你的文件目录就像这样:

<>以前美元cp的例子。txt文件~/

就像当你拖拽文件放在文件夹里一样,这个动作并不会将文件替换为例子。txt。取而代之的是,cp察觉到文档是一个文件夹,就将例子。txt的副本放进去。

你同样可以便捷有效地重命名你复制的文档:

<>以前美元cp的例子。txt文件~//example_copy。txt

重要的是,它使得你可以在与原文件相同的目录中生成一个副本:

<>以前美元cp的例子。txt example.txt   cp:“的例子。txt”和“的例子。txt”是相同的文件。   美元cp的例子。txt example_copy。txt

要复制一个目录,你必须使用- r选项(代表——递归,递归)。以这个选项对目录节点运行cp命令,然后会作用到该目录下的所有文件。没有- r选项,cp不会将目录当成一个可复制的对象:

 cp notes/notes-backup美元
  cp:没有指定- r;删除目录的notes/cp - r美元notes/notes-backup 

猫命令是最易被误解的命令,但这只是因为它表现了POSIX系统的极致灵活性。在猫可以做到的所有事情中(包括其原意的连接文件的用途),它也能复制,例如说使用猫你可以仅用一个命令就从一个文件创建两个副本。你用cp无法做到这一点。

使用猫复制文档要注意的是系统解释该行为的方式。当你使用cp复制文件时,该文件的属性跟着文件一起被复制,这意味着副本的权限和原件一样。

 $ ls - l - g - g
  -rw-r——r。1 57368年7月25日23:57 foo.jpg
  美元cp foo.jpg bar.jpg
  -rw-r——r。57368年7月29日37 bar.jpg
  -rw-r——r。1 57368年7月25日23:57 foo.jpg 

然而用猫将一个文件的内容读取至另一个文件是让系统创建了一个新文件。这些新文件取决于你的默认umask设置。要了解umask更多的知识,请阅读Alex华雷斯讲述umask以及权限概览的文章。

如何在Linux中复制文档