Ben*_*ing 53 finder rm disk-encryption macos
我尝试使用“rm -rf”删除目录,但收到消息“目录不为空”:
Bens-MacBook-Pro:please benjaminhocking$ ls -lart empty_directory/
total 16
drwxr-xr-x 5 benjaminhocking staff 170 Aug 27 14:46 .
drwxr-xr-x 3 benjaminhocking staff 102 Aug 27 15:28 ..
Bens-MacBook-Pro:please benjaminhocking$ rm -rf empty_directory/
rm: empty_directory/: Directory not empty
Bens-MacBook-Pro:please benjaminhocking$ rmdir empty_directory/
rmdir: empty_directory/: Directory not empty
Run Code Online (Sandbox Code Playgroud)
如果我使用 Finder 尝试同样的事情(将文件夹拖到废纸篓),我会收到消息
操作无法完成,因为项目“empty_directory”正在使用中。
我试过这样做xattr -d com.apple.quarantine
,纯粹是出于迷信,但没有任何好处。
一个可能重要的上下文是,该目录最初位于一个目录中,该目录应该由我在终端锁定我之前发出的“make clean”命令删除,之后我拥有的其他程序的一半多一点运行也被锁定,包括 Skype,最终是操作系统本身。我最终不得不通过按住电源键重新启动计算机。
编辑添加:我遗漏的另一条重要信息是,这发生在一个加密文件夹 à la 中encfs
。我能够在事物的加密方面找到相应的文件夹并将其删除。我仍然不知道为什么我不能像往常一样从解密的方面做到这一点。我暂时不回答这个问题,以防有人对此有一个好的答案。
Jon*_*eno 16
重新启动计算机并rmdir(1)
再次运行。
$ rmdir -r empty_directory/
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试:
$ rm -rf empty_directory/
Run Code Online (Sandbox Code Playgroud)
如果它仍然不起作用,假设 OS X 已经lsof(8)
预装,然后输入:
$ lsof +D empty_directory/
Run Code Online (Sandbox Code Playgroud)
这应该表明该目录中的任何文件是否正在被任何程序使用。我认为 HFS+ 文件系统不允许删除正在使用的文件。无论如何,killall(1)
任何可能使用此目录的可执行文件或其中的任何隐藏文件。Finder 很可能正在使用empty_directory
目录中的隐藏文件来存储文件夹视图设置。希望这可以帮助。
PS:要查看是否lsof(8)
已安装,请输入:
$ lsof
Run Code Online (Sandbox Code Playgroud)
如果输出看起来像这样,则说明lsof(8)
已安装在您的系统上。
lsof: /usr/bin/lsof /usr/bin/X11/lsof /usr/share/man/man8/lsof.8.gz
Run Code Online (Sandbox Code Playgroud)
检查该目录中是否有任何隐藏和加密的文件或加密密钥文件。这些可能是罪魁祸首。
唯一对我有用的解决方案来自https://unix.stackexchange.com/questions/234876/unable-to-delete-a-file-whatever-i-do:
将它们移动到 /tmp 并重新启动。
我尝试的其他选项是:
lsof +D bad_file
显示没有输出。rm -rf
. 归档时间: |
|
查看次数: |
136093 次 |
最近记录: |