解决 Linux 中的文件删除问题

解决 Linux 中的文件删除问题

这是一个有趣的难题,所有常规解决方案都不起作用。

昨天,在休眠 Win7 安装后,我在 Ubuntu 中启动时下载了几个带有 wmv 和 avi 文件扩展名的电影剪辑。我使用 NTFS 格式的分区来存储独立操作系统使用的常用文件,剪辑就是在这里下载的。在下载视频时,我通过将 .part 文件扩展名流式传输到 VLC 观看了一个视频。视频传输正常,我没有遇到任何问题。

今天我尝试加载第二个,但一直出现流未解析错误。查看文件大小后,我发现一个文件为 46KB,第二个文件为 336KB,而实际大小应该分别为 480MB 和 1.2 GB。这些文件就是无法删除。

以下是我迄今为止尝试过的方法

  • rm -f 文件.wmv
  • rm -i ./文件.wmv
  • mv 文件.wmv 文件2.wmv

在所有情况下,我都犯了错误cannot remove file: no such file or directory found

然而,ls -l检查表明文件确实存在并且设置了适当的读/写权限。

有什么解决办法吗?

答案1

如果 Windows 可以访问 NTFS 分区(即已安装),并且处于休眠状态,则它会假定分区在退出休眠状态时未发生改变 - 它会继续从上次停止的位置继续执行。Linux 反之亦然。

因此,如果您在休眠 Windows 后启动 Linux,更改分区的内容,然后恢复 Windows,这几乎肯定会导致文件损坏。

ntfsfix虽然您可以在 Linux 或Windows 上修复此问题chkdsk,但最终会丢失数据。

答案2

尝试检查您的 NTFS 分区。

您可以使用ntfs修复(的一部分ntfs-3g套房)。

答案3

你试过 sudo rm 吗?当我在自己的系统上访问非 ext4 分区时,我遇到了奇怪的基于权限的问题(我同时启动了 Win7、WinXP、Ubuntu Studio 和 Linux Mint),在很多情况下,使用 sudo 运行 rm、mv 或 cp 命令可以修复该问题。

在有人对相关性投反对票之前,请允许我说一下,我之所以提到这一点,是因为我在与 Linux 中一个完好无损的 Windows 分区交互时收到了“找不到文件”错误。

希望有帮助...

答案4

从 PC 或 Macintosh 传输到 Unix / Linux 帐户的文件/文件夹,其名称包含 Unix(Linux 等)认为的元字符,这经常会导致此类问题。

元字符(例如破折号、斜线、分号、空格、美元符号、问号/感叹号和星号)在 Unix 下被解释为命令或者指示。虽然这些字符可能不会在其他操作系统中造成麻烦,但它们特殊的 C/C++ 解释可能会在 Unix 和 Linux 操作系统中造成问题。

删除奇怪文件和文件夹的一些技巧:

• 尝试使用 rm 命令,同时将有问题的文件名括在引号中。
这可以解决删除名称中带有空格的文件的问题,例如:
rm “文件名”

其他一些特殊字符也可以通过这种方式删除,例如:

rm "文件名;#" ==> 引号可防止分号被解释为堆叠命令;命令通过分号串联在一起,因此除非将分号放在引号中,否则 Unix 和 Linux 机器的 C 语言会将其解释为堆叠命令,从而使文件本身变得不可见。

• 也可以重命名有问题的文件或文件夹,同时在原始文件名周围加上引号,例如:
mv "文件名;#"new_filename 如果此命令成功重命名文件,则使用 rm 命令删除现在以新名称命名的文件。

• 如果这些方法不起作用,请在文件名中的元字符前插入反斜杠 ( \ )。反斜杠会导致后面的字符字面解释。例如,要删除名为 my$pecial-folder 的文件,请输入:
rm 我的\$特殊文件夹

• 要删除名称以破折号(-) 字符开头的文件,请使用以下语法引用该文件:
rm ./-文件名
 使用冗余的 ./ 目录信息可以防止在文件名的开头出现破折号,否则它将被解释为 rm 命令的选项。

• 有些字符无法使用上述任何方法删除,例如正斜杠,C/C++ 将其解释为目录分隔符。要删除包含此类元字符的文件,请从单独的帐户通过 FTP 进入包含要删除的文件的帐户,然后输入以下命令:
模型

对每个文件回答 n(表示否)——除了包含要删除的麻烦字符的文件:出现提示时,输入 y(表示是)删除该文件。删除麻烦文件后,按: Ctrl-c停止 mdel 进程。

• 还可以使用 telnet 会话以及图形化 FTP 客户端来远程登录帐户,然后就可以像删除任何正常文件一样简单地删除有问题的文件。

• 一些 Emacs 编辑器允许直接编辑目录;这是删除具有超自然特征的文件的另一种方法。

///

至于“.\”(点反斜杠),用于登录 Windows 机器。

句号是“这台机器”的简写
,反斜杠符号用作分隔符(又称分隔符)。主机名 & 用户名
使用时 [主机]{反斜杠}[用户]针对 Windows 计算机的身份验证样式;即 .\ 代表
尖括号这台电脑尖括号 反斜杠 尖括号用户名单书名号

相关内容