chr*_*s.r 0 directory files mv
在整合电子书的过程中,我发现了一个对我的特定操作来说似乎很方便的修复方法;也就是说,我想将所有 mobi 文件从不同的子文件夹移动到一个名为“mobi”的中央文件夹中......
$ find -name '*.mobi' -exec mv {} /mobi \;
Run Code Online (Sandbox Code Playgroud)
而且,是的,我确实做了一个备份……正好是上面的一个目录。直到后来才意识到我做了什么。(原件和备份移动/消失。)
经过一番搜索,我在我的根目录中找到了一个看似文件夹但看起来像一个 .mobi 文件的内容。大约 1.5mb(来自 30 本电子书);在 Atom 中打开给了我胡言乱语(不是代码)。
我认为这是我以前的文件的某种卑鄙的合并,就像 The Thing 中的东西一样奇怪地相互融合。
有什么办法可以消除我的愚蠢吗?
您运行的命令将mv <file> /mobi针对<file>它找到的每个
命令执行。有几种可能的结果:
/mobi之前存在,作为允许您的用户写入的目录:那么您的每个 mobi 文件现在都在目录中
/mobi(如果任何两个文件具有相同的名称,其中一个将覆盖另一个);
任何一个 /mobi以前作为允许您的用户覆盖的文件存在,要么它不存在但允许您的用户在/:下创建文件,那么您的每个 mobi 文件将依次覆盖该文件/mobi,该文件现在具有,作为其内容,找到的最后一个文件find;
否则,所有mv命令都应该失败,并且没有任何移动。
场景 (2) 实际上只有在您以 root 身份运行命令时才可能听起来很可能($提示反对)。在这种情况下,除了最后一个mv操作的文件外,所有文件都将丢失。我想不出一种mv连接文件的合理方法。