这就是问题所在。我在一个目录中有一堆文件。然后我在该目录中创建了另一个目录。然后我拼凑了这个命令:
find . -maxdepth 1 -type f -exec mv {} ./1 \;
该命令应该获取目录中的所有文件并将它们移动到新创建的目录,但是我没有提供目录的名称,而是搞砸了并输入了1,正如您从代码片段中看到的那样。所以,我最终只有一个名为1的文本文件,它现在包含来自其中一个消失文件的内容,仅此而已。
我有没有机会恢复丢失的文件(或者可能是文件中的实际数据——它们都是文本文件),还是它们几乎永久消失了?
前:
misha@hp-laptop:~/Documents/prgmg/work$ ls
add.s bubble.s cpuid.s div.s hello.s mult.s sum.s test.s
a.out c demo.s gas.txt max.s print_arr.s test.c
misha@hp-laptop:~/Documents/prgmg/work$ mkdir asm
后:
misha@hp-laptop:~/Documents/prgmg/work$ ls
1 asm c
因此,如您所见,我想将所有汇编语言文件放入asm
目录中。就目前而言,1
是一个文本文件,它包含来自gas.txt
.
您已经丢失了所有文件,但最后一个文件由 提供
find
,现在称为./1
. 请注意,它会find
按自己的顺序查找文件,因此“最后一个”并不意味着您的想法。echo
通过在 前面插入一个mv
,我们看到: