Here’s the problem. I had a bunch of files in a directory. Then I created another directory in that directory. Then I cobbled together this command:
find . -maxdepth 1 -type f -exec mv {} ./1 ;
This command was supposed to take all the files in the directory and move them to that newly-created directory, but instead of providing the name of the directory, I screwed up and typed 1, as you can see from the code snippet. So, I ended up having just one text file named 1 that now contains the stuff from one of the disappeared files and that’s all.
Is there any chance I could recover the lost files (or possibly the actual data from the files–they were all text files) or are they pretty much permanently gone?
Before:
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
After:
misha@hp-laptop:~/Documents/prgmg/work$ ls 1 asm c
So, as you can see, I wanted to put all assembly language files into the asm
directory. And as things stand now, 1
is a text file and it contains the stuff from gas.txt
.
Advertisement
Answer
No. Not easily. Sorry.
Restoring from backup would be the best option.
See the answers to the question “Recovering accidentally deleted files” over at Unix & Linux, if you feel like doing a bit of low-level file access.