linux cp 命令与 rtorrent

linux cp 命令与 rtorrent

因此我尝试执行以下操作:

当 rtorrent 完成下载时,它应该将文件从下载目录复制到另一个名为上传的目录,因此该文件将位于下载目录和上传目录中。

在此之前,我使用 mv 函数将文件从下载移动到上传,这里有一个工作示例,以便您可以理解 rtorrents 语法:

system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/uploads/"

这是工作预览,它执行“mv -u /home/downloads/folder1/~/uploads/,所以基本上它将同名的 torrent 移动到另一个目录。

我不明白的是,我如何复制具有相同名称的文件(文件夹和文件,取决于我正在下载的内容),比如说:

/home/dl/harry potter/ ------> /home/ul/harry potter/

下一个可能是

/home/dl/ubuntu.iso ------> /home/ul/ubuntu.iso

答案1

您可能想要使用cp -a,它将递归复制并保留文件和文件夹权限。也就是说,如果您确实想复制所有文件。提示:没有必要这样做。

cp -al最终是您想要使用的。unix 系统上的链接概念比 Windows 上的要复杂得多(也更有用)。TomMD 建议您使用“软链接”,我猜他指的是符号链接。但是cp -l会创建硬链接。

从高层次上讲,unix 文件系统上的文件由磁盘上的数据和指向该数据的一个或多个硬链接组成。您可以通过将程序指向这些链接来访问数据。当一组数据没有指向它的硬链接时,它将被视为已删除。

如果你理解了这一点,你可能已经在想这有多酷了。你可以对一个“数据组”进行多次引用,而不必实际拥有多个副本。你可以在所有情况下将这些硬链接视为常规文件,包括移动、复制、读取和写入。

相关内容