编号0001:记录一下Linux学习过程中的问题--文件操作1

在工作需求下,开始了Linux的学习,以前也算是接触过,但是真的太皮毛了,一点也不深入,所以只能重新开始学习,开始看书,在练习文件操作指令的过程中,cp、rm过文件后,突然想起来如果我不小心误删除了文件,想要恢复的话怎么办?这是真的不能完全避免的问题,所以我基本的操作流程是这样的,上图:

编号0001:记录一下Linux学习过程中的问题--文件操作1

我编写了一个很简单的语句文件,当然,vi编写默认的TXT文件,我将它转为了可行性文件后,复制到了/home/yu/Desktop路径下,之后我删了它,故事从此开始了……

编号0001:记录一下Linux学习过程中的问题--文件操作1

首先说明一下,我最初的操作是有问题的,接下来我来吐槽一下自己吧。

第一个问题,“df  /home/yu/Desktop”这条指令,应该在另外的终端界面进行操作,目的是为了找出,刚刚删除的test所处文件夹./Desktop的挂载位置,正确的操作是下面这样:

编号0001:记录一下Linux学习过程中的问题--文件操作1

这样可以知道/dev/sda1是文件系统中/home/yu/Desktop挂载的位置,我们删除的文件也在这个位置删除的,挂载位置就是说这个文件的操作记录存储的位置,现在我们知道了,位置在/dev/sda1,所以接下来就要用open指令在debugfs下操作;

第二个问题,“Permission denied while opening filesystem”我的权限不够了-_-|||,所以有请我们的好朋友sudo来吧,当然sudo并不是对于open,而是对于debugfs,也就是说下面的操作才是正确的:

编号0001:记录一下Linux学习过程中的问题--文件操作1

这样我就能够在debugfs下打开我的挂载位置,然后用“ls -d /home/yu/Desktop”指令来查看我之前的文件操作了,因为我删的是一个可执行的操作文件,所以没有某某经验上的描述内容,只是看到了一个和test有关的记录,记下了文件的区块号,继续做,用“logdump -i <404134>”来查看文件信息;

也就是这个操作后,我又出现了一个脑残的操作@[email protected]|||。

第三个问题,“dd if=/dev/sda1 of=/home/yu/Desktop/test bs=640 count=1 skip=1573493”这条命令语句是要在/home/yu/Desktop路径下sudo执行的,然后我感觉我看到了希望,好像恢复了我删除的文件,喜出望外,不过属主和数组被改掉了,这简单,根据指令手册改回来就可以了嘛;

编号0001:记录一下Linux学习过程中的问题--文件操作1

然而,现实证明我还太年轻了,我激动地执行了一下我的文件,然后我又发现了一个问题@[email protected]|||,命运多舛啊,看图吧:

编号0001:记录一下Linux学习过程中的问题--文件操作1

我的文件被恢复成了二进制的文件,具体原因我现在还不知道到,解决办法也在探索中,如果有大神路过,麻烦指点一下,在此谢过!