我在 Unix 中有一个看似不可删除的目录,其中包含一些名称以
.panfs
开头的隐藏文件。我无法使用以下命令删除它:
rm -R <dir>
rm -Rf <dir>
有人有什么建议吗?
如果遇到麻烦,请尝试使用 root 用户删除它,或者使用 sudo
将
rm -rf dir
与 root 帐户一起使用,它将被删除,因为您应该面临权限问题。
对于那些喜欢分离选项以完全掌握 Linux 命令行的人
rm -r -f directory_name
rm→删除
-r → 递归
-f → 强制(包括 chmod 权限)
使用
df
dir 和 mount
检查您的目录是如何安装的以及它属于哪个 文件系统。请注意,如果您使用NFS、CIFS/SMB或其他一些分布式文件系统,您可能会遇到问题...因为分布式文件系统正在缓存(服务器端和客户端),所以没有POSIX 语义。请参阅 文件系统(5)。
很可能您正在使用 NFS(那么您的问题应该这么说,并提供更多详细信息,特别是
/etc/fstab
中的挂载和导出选项,请参阅 fstab(5),使用的 NFS 协议版本等...) 。然后,您需要提供有关如何准确安装它、是否有使用该文件系统的进程(使用lsof(8)...)以及身份验证如何工作的更多详细信息。很多时候,root 访问并不完全按照您希望的那样通过 NFS 进行...(直观上您的本地 root 不是网络范围的 root)。
在某些情况下,您需要在所有 NFS 客户端上卸载远程 NFS 文件系统后删除 NFS 服务器上的文件。详细信息因所使用的 NFS 协议版本和配置选项而异。 另请参阅
nfsd(7)、exports(5)、chattr(1) 等以及关于 Serverfault 的这个问题,以及这个 Linux NFS 概述。
在我的例子中,在root下,rm -rf(目录)会导致无限循环,并且文件夹的大小在gig之下。此外,该文件夹是不可列出的,在文件夹内使用 dir 命令也会导致无限循环。
天啊不!!!
启动时按住左移进入恢复模式。 提供您的 root 密码,如果没有密码,请按 Enter。
cd /
mount -o remount,rw /
rm -f (directory) // Purpose is to fix loop bug
rm -r (directory)
再见!
Linux Lite 万岁。
rm -rf <Directory_Name>
这对我有用。 它将删除目录及其所有内容...(强制)
rm -rf sub
rm -rf sub/sub/sub/sub/sub/sub/sub
所有 rm 命令均失败: 无法删除“sub/sub/sub/sub”:目录不为空
我尝试重命名一些文件夹以缩短路径,但这没有帮助。 但在移动其中一个子文件夹后,我能够删除所有子文件夹。
mv sub/sub deleteme
rm -rf deleteme
rm -rf sub
长话短说,我意识到有一个 Linux 服务指向该文件夹,所以对我有用的是:
更改此服务正在使用的文件夹
sudo reboot
rm -rf dir
您可能不知道正在使用该文件夹的进程,因此您可以找到并终止该进程,或者只是重新启动服务器,就像我作为快速解决方案所做的那样。
此外,命令 rm -rf 也有效,因为 -r 标志用于递归删除目录及其内容,而 -f 标志则强制删除而不要求确认。
记住使用-rf组合时要小心,因为它在删除之前不提供任何确认。