我找不到移动到 USB 驱动器的文件

Ama*_*evi 13 usb

我下载了一个短视频,然后写道:

sudo mv /home/myname/Downloads/m.mp4 /dev/sdb1 
Run Code Online (Sandbox Code Playgroud)

视频完全消失了。它不在 USB 驱动器中。我通过写来搜索它:

find / m.mp4 
find m.mp4 
Run Code Online (Sandbox Code Playgroud)

但它无处可寻。我不断得到

find: ‘m.mp4’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

USB 已安装并可访问。该视频不再位于“下载”中。

苏杜斯,谢谢。我仍然没有完全理解它,但我知道我应该使用挂载点。我使用了它并且它起作用了,就像魔术一样。没有从 USB 中擦除任何内容,所以我不知道你为什么道歉。你怎么知道挂载点是什么?我在 Gparted 中找到了它。这是什么意思,来自 Gparted:

init :: non DOS media
Cannot initialize '::'
mlabel: Cannot initialize drive

init :: non DOS media
Cannot initialize '::'
Run Code Online (Sandbox Code Playgroud)

我写时的输出sudo ls -l /dev/sdb1

-rw-rw-r-- 1 moe moe 23362068 Jul  2 15:44 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

Mic*_*ton 30

你的文件还在。它刚刚命名/dev/sdb1并替换了设备特殊节点,否则将用于挂载您的 USB 磁盘。

您可以通过将其移回其他地方来恢复它,例如:

sudo mv /dev/sdb1 /home/myname/Downloads/m.mp4
Run Code Online (Sandbox Code Playgroud)

不要覆盖文件,/dev因为它们不是普通文件,而是特殊标记,可以让操作系统原始访问某些硬件设备。您使用sudo mv破坏了设备特殊节点/dev/sdb1并将其替换为您的视频文件。

将视频移回原处后,弹出并重新插入 U 盘,您可以通过其安装点将文件写入其中(通常,/run/media/yourusername/USBSTICKNAME但您可以运行该命令mount以查看它实际安装的位置)。/dev/sdb1当您重新插入 U 盘时,Linux 将在必要时重新创建设备。

另请注意,如果系统正确安装了您的 USB 记忆棒,其文件应该可以由您的用户名写入,并且您不需要使用它sudo来移动文件或从中移动文件。

  • 此外,如果您不使用`sudo`,那么计算机不会让您做这种愚蠢的事情。 (13认同)
  • @user253751 我认为使用 `sudo` 是由于尝试使用 `mv ... /dev/sdb1`(没有 `sudo`)将文件移动到 USB 的尝试失败。它可能给出了一个错误,例如“权限被拒绝”。一般的建议是,任何给出权限被拒绝错误的 'mv' 都是您想要在对它施加 sudo 之前分析的 'mv'。 (12认同)
  • 尽管它不是问题的一部分,但我认为这个答案包含一个简短的提醒会非常有用,即帖子中的命令可能永远不应该使用 `sudo` 运行。 (2认同)

Gry*_*ryu 4

lsblk命令可用于找出您的挂载点:

\n
$ lsblk | grep -v loop\nNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT\nsda      8:0    0 223.6G  0 disk \n\xe2\x94\x9c\xe2\x94\x80sda1   8:1    0     1M  0 part \n\xe2\x94\x9c\xe2\x94\x80sda2   8:2    0 221.6G  0 part /\n\xe2\x94\x94\xe2\x94\x80sda3   8:3    0     2G  0 part [SWAP]\nsdb      8:16   0 232.9G  0 disk \n\xe2\x94\x94\xe2\x94\x80sdb1   8:17   0 232.9G  0 part /home\n
Run Code Online (Sandbox Code Playgroud)\n

文件夹中的所有设备/dev/都会在操作系统启动期间重新创建。您可以通过命令查看它ls -ailh /dev/,以防某些设备已重新连接。

\n

如果您使用的是 Android 设备,您可以在您的用户的文件夹中找到您的设备/var/run/user/1000/gvfs存储。1000uid

\n
$ ls /var/run/user/1000/gvfs\ngvfs/      gvfs-burn/ \nuser@ubuntu:~$ cd /var/run/user/1000/gvfs/mtp\\:host\\=Xiaomi_Redmi_6A_3951d46a7d27/\nuser@ubuntu:/var/run/user/1000/gvfs/mtp:host=Xiaomi_Redmi_6A_3951d46a7d27$ ls\n disk  'Internal shared storage'\nuser@ubuntu:/var/run/user/1000/gvfs/mtp:host=Xiaomi_Redmi_6A_3951d46a7d27$ echo $UID\n1000\n
Run Code Online (Sandbox Code Playgroud)\n

设备还可以自动安装到/media/$USER/mnt文件夹中。

\n