我下载了一个短视频,然后写道:
sudo mv /home/myname/Downloads/m.mp4 /dev/sdb1
视频完全消失了。它不在 USB 驱动器中。我通过以下方式搜索它:
find / m.mp4
find m.mp4
但它无处可寻。我不断
find: ‘m.mp4’: No such file or directory
USB 已安装并可访问。视频不再位于下载中。
Sudodus,谢谢你。我仍然没有完全理解,但我明白我应该使用挂载点。我用了它,它就像魔术一样起作用了。USB 上没有删除任何内容,所以我不确定你为什么道歉。你怎么知道挂载点是什么?我在 Gparted 中找到了它。从 Gparted 来看,这是什么意思:
init :: non DOS media
Cannot initialize '::'
mlabel: Cannot initialize drive
init :: non DOS media
Cannot initialize '::'
我写的输出sudo ls -l /dev/sdb1
是
-rw-rw-r-- 1 moe moe 23362068 Jul 2 15:44 /dev/sdb1
答案1
您的文件仍在那里。它现在只是被命名/dev/sdb1
,并已替换原本用于安装 USB 磁盘的设备特殊节点。
您可以通过将其移回其他位置来恢复它,例如:
sudo mv /dev/sdb1 /home/myname/Downloads/m.mp4
不要覆盖 中的文件,/dev
因为这些不是普通文件,而是特殊标记,可让操作系统以原始方式访问某些硬件设备。您使用sudo mv
破坏了设备特殊节点/dev/sdb1
,并将其替换为您的视频文件。
将视频移回其原始位置后,弹出并重新插入 USB 棒,然后您可以通过其挂载点将文件写入其中(通常如此,/run/media/yourusername/USBSTICKNAME
但您可以运行命令查看其实际挂载位置)。当您重新插入 USB 棒时,mount
Linux 会根据需要重新创建设备。/dev/sdb1
另请注意,如果您的 USB 驱动器已被系统正确安装,其文件应该可以由您的用户名写入,并且您不需要使用sudo
它来移动文件。
答案2
lsblk
命令可用于找出您的挂载点:
$ lsblk | grep -v loop
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 221.6G 0 part /
└─sda3 8:3 0 2G 0 part [SWAP]
sdb 8:16 0 232.9G 0 disk
└─sdb1 8:17 0 232.9G 0 part /home
文件夹中的所有设备/dev/
在操作系统启动时都会重新创建。您可以通过ls -ailh /dev/
命令查看它,以防某些设备已重新连接。
如果您有 Android 设备,您可以在您的用户的文件夹中找到您的设备/var/run/user/1000/gvfs
存储。1000
uid
$ ls /var/run/user/1000/gvfs
gvfs/ gvfs-burn/
user@ubuntu:~$ cd /var/run/user/1000/gvfs/mtp\:host\=Xiaomi_Redmi_6A_3951d46a7d27/
user@ubuntu:/var/run/user/1000/gvfs/mtp:host=Xiaomi_Redmi_6A_3951d46a7d27$ ls
disk 'Internal shared storage'
user@ubuntu:/var/run/user/1000/gvfs/mtp:host=Xiaomi_Redmi_6A_3951d46a7d27$ echo $UID
1000
设备也可以自动安装到/media/$USER
或/mnt
文件夹中。
答案3
可能是因为 USB 端口。有时计算机或笔记本电脑的 USB 端口未完全由驱动程序安装。因此,您可以尝试:
卸载/dev/sdb1
或者
sudo 卸载/dev/sdb1
然后
挂载/dev/sdb1
或者
sudo mount /dev/sdb1
如果这没有帮助 - 拔出并重新插入 USB 驱动器(USB 棒?)。然后重复 umount 并再次安装,如上所述。
当您想以 sudo 身份移动或复制文件时,您也需要以 sudo 身份挂载。
在您移动或复制文件之前,请以普通用户身份而不是 sudo 身份 - 然后您也可以以普通用户身份卸载或挂载。这取决于文件及其文件权限。