意外使用“mv”而不是“mv -t”破坏了目录

意外使用“mv”而不是“mv -t”破坏了目录

我不小心

  • mv file /an/important/directory

代替

  • mv file /an/important/directory/或者
  • mv file -t /an/important/directory

所以现在看起来好像/an/important/directory/被破坏了。(我想我应该这样alias做以防止这种事情发生……)mvmv -i

但是我的文件系统并不小,这让我认为文件实际上并没有移动,我可以对 inode 做一些事情来帮助系统再次找到并组织那些未删除的文件。


添加:自从同一驱动器显然很重要,我应该补充一下,这/media/target.folder就是我所破坏的。我试图将东西移开/dev/sda1


sudo mv哦等等。我alias mv=mv -i/home/root/.bash_aliases ~/.bash_aliases.中sudo mv可能调用根版本。哎呀。


更新:根据@HackSlash 的评论,我的/media目录如下所示:

i@scheherezade:/media$ ls -oh
total 80K
drwxr-xr-x   4 root 4.0K Jul 26 16:17 backup
drwxr-xr-x   2 root 4.0K Dec  8  2016 DEIMOS
drwxrwxrwx  69 mars 4.0K Mar 14 13:20 PHOBOS
drwxr-xr-x 113 i     56K Jul 26 18:10 media
drwxr-xr-x   4 root 4.0K Mar 31 08:43 opt
drwxrwxr-x   7 i    4.0K Mar 30 17:27 puck

我试图移动file/media/media,其中第一个/media是系统说“已安装的东西”,第二个/.../media说的是“视频和音频文件”。 显然有些不同/media/media,但我不知道这是否回答了@HackSlash 关于符号链接的建议。

答案1

发生的事情是:我曾尝试过,mv /some/file /media/backupmount /dev/sd1 /media/backup实际上并没有被mount删除。(当我关闭笔记本电脑时,网络和 USB 硬盘会断开连接。)因此,文件实际上被复制到了/dev/sda1的根/树中,位于下一层名为 的文件夹中/media。(无论如何我都必须备份sudo,因此用户与root保护并没有阻止我。)反过来, 中的文件/media/backup(实际上是/dev/sda1)的行为并不像我所认为的连接的外围设备。

我过去lsblk -f常常查看哪些东西真正被挂载了,以及挂载在哪里。(您还可以使用它df -h /media/backup/来查看文件夹的 UUID。(cat /proc/*some*file*I*forget*which*也显示此信息。)

lsblk -f还告诉我硬件卷的名称,我选择将其与 下的挂载点名称相匹配/media/*/。为了防止旧的假定/media/*/ mount和新的正确挂载点之间发生混淆,我将/dev/sdk1etc 挂载到/mnt/sdk1/

然后mv表现如预期。


这是在 Ubuntu 上。

相关内容