在Mac OS上永久删除文件


21

不久前,作为一个相对较新的Mac OS X用户,我惊讶地发现您无法轻松删除文件。直接来说,就是不先将它们移到垃圾箱。在Windows和Linux上,显然可以轻松完成此操作,但在Mac上则并非如此。

在尝试清除USB记忆棒中的文件时,我注意到了这一点—删除文件(“移至垃圾箱”)不会释放空间;只有清空整个系统范围的垃圾箱后,这种情况才会发生。不太方便!(清空整个垃圾桶只是为了在USB记忆棒上腾出一些空间,这似乎很愚蠢。其中可能有数千兆字节的东西,而这违背了它的目的-如果您实际上需要从USB存储器中恢复某些东西,该怎么办?丢掉某天。)

那么,您如何解决这个问题?您是否以$ 16.95的价格购买了RAW Trash之类的第三方应用程序只是为了删除文件,还是在需要时尽力清空垃圾桶?还是我错过了什么?另外,您能说服我这实际上就是应该的样子吗—用户不应该轻易摆弄文件系统?:)


1
您是否在寻找快捷方式⌘+⌥+⌫(Command + Option + Delete)?
丹尼尔(Daniel)

Answers:


22

我也不满意Mac OS X处理此问题的方式。如果我真的要删除某些东西,尤其是从USB记忆棒中删除,我通常会rm手动启动Terminal和文件。


28

由于似乎有很多人想要它,因此我为Snow Leopard创建了一个服务来完成此任务,称为“ 立即删除”。它显示在Finder中的“服务”菜单和上下文菜单中。

您可以从GitHub下载它。解压缩.zip档案并将生成的“ Delete Immediately.service”移到库文件夹中的“服务”文件夹中~/Library/Services/。您可能需要注销然后重新登录(和/或在“键盘”偏好设置的“服务”部分中启用它),以使系统识别该服务。

我还建议您README在GitHub主页上检出该文件。而且,如果您想为代码做出贡献,对其进行本地化或制作一个图标,请随意!

上下文菜单

服务菜单


4
雪妮 您还可以将键盘快捷方式绑定到该服务:“在“应用程序”菜单中,选择“服务/服务首选项”。打开“系统偏好设置” /“键盘/键盘快捷键/服务”。选择一个服务,按Enter,然后按您选择的快捷键组合”(从gingerbeardman.com/services
DBR

很好,谢谢!这仅适用于10.6吗?(我仍然会在豹上待一会儿。)
约尼克(Jonik

1
目前它仅在10.6上有效,我对Services在10.5上的工作方式还不熟悉(它们不会显示在上下文菜单中,为10.5编写上下文菜单插件要困难一些)。
jtbandes

而且,Jonik,如果硬件允许(例如,您拥有Intel Mac),我真的建议您升级到10.6。即使您没有64位计算机,即使您没有很多速度提升(如我所没有的),这些小改进也绝对值得低价。
jtbandes,2009年

1
是否可以将Shift + Del分配为该服务的快捷方式?似乎任何涉及Del的组合都会对系统偏好设置发出哔哔声
haridsv 2011年

8

解决这个难题的无终端方法是施展以下咒语来安抚苹果神,就像这样:

选择要牺牲文件,然后朗诵:

⌘删除

⌘⇧⌥⌫

这会将文件发送到“已删除邮件”,然后删除整个“已删除邮件”,因此应将受害者(以及所有其他已丢弃的邮件)发送到遗忘处。


太好了,谢谢!现在,我无法确定这是否
可行

12
这是先删除文件,然后清空垃圾箱。虽然它是有用的键盘快捷键,但实际上并不能解决无法轻松删除所选文件的问题。
大安,2009年

1
同意大安。这不理想。但是,在终端中使用rm也不是一种理想的方法,而是非Mac的处理方法。我猜我们的朋友Jonik将不得不权衡利弊。;-)
GeneQ

9
-1为误导性答案。如果用户不想清空他的垃圾怎么办?
哈森

3
-1同样,原始问题提到清空系统范围的垃圾箱“不是特别方便!”,这就是快捷方式的作用
。– dbr

4

要删除特定文件,而无需检查垃圾桶。

  • 打开一个终端
  • 键入rm(带有尾随空格),或者rm -r如果您打算删除目录
  • 将文件拖放到“终端”窗口中,该窗口将输入已删除文件的完整路径
  • 点击进入

jtbandes的“立即删除”服务解决方案要优雅得多,但是“终端方式”不需要任何其他软件(在不经常使用的机器上工作时很好)


+1,感谢您拖放到终端机提示上
Jonik

感谢您的有用的技巧,根据你的建议,我已经做了简单的可可应用程序,这里是链接:daemonconstruction.blogspot.in/2013/01/...
Devarshi

@Miraaj Glad答案很有用!您博客文章中的下载链接已损坏(该链接包含下一个句子,而不是URL)
dbr 2013年

@dbr ..感谢您通知我。.我现在更新了它:-)
Devarshi 2013年

2

我在命令行中使用rm -rf。它删除速度更快,并且删除了所有内容。Windows的一个常见问题是删除是一个过程,而不是一个时间点,我经常发现自己看着Windows删除了几分钟的文件夹和文件。Rm -rf很快。

您也可以使用rm -rf删除特定的废纸.。垃圾桶是相关卷或目录根目录中名为.Trash的隐藏文件夹。

是的,我认为这应该是这样。用户使用Finder不能太快地删除文件。文件应该可以从垃圾箱中恢复。


请注意,如果“回收站”中的空间未计为已用空间,则“回收站”中的文件将随着时间的推移而被覆盖,无法再进行恢复。因此,选择实际上是在将文件保留在垃圾箱中且遭受空间破坏还是在不将文件保留在垃圾箱中以及拥有更多可用空间之间进行选择。普通用户无法预测两者之间的组合。
Andrew J. Brehm,2009年

4
这是一个很好的建议,但是我认为应该对那些粗心/不懂事的人非常清楚地指出,必须非常小心地使用rm -rf。它将删除您传递给它的文件夹中的所有内容,包括该文件夹,而无需确认。如果将系统文件夹传递到此命令中,则可能造成足够的损害以要求您重新安装操作系统(尽管权限应阻止您破坏系统,但我倾向于尝试不要依赖它们)。
巴布(Babu)

为什么要下票???
Andrew J. Brehm

2

Mac OS X的优点之一是,尽管经验不足的用户很难找到解决方法并完成工作,但高级用户可以通过命令外壳使用底层Unix的功能来“摆弄系统”(即Terminal.app)。

@Leauki关于使用unix命令是正确的rm,但是要特别小心,尤其是在使用-rf标志的情况下!没有安全网,您可能造成严重损害,甚至包括删除自己的根文件系统!

我的建议不是不要将绝对路径与一起使用rm,而是先cd进入要使用的目录,然后例如:

rm -rf ./<subpath to file to delete>其中,./在路径部队rm在目录中只经营你目前所在。


5
rm -rf bin-哎呀,我忘记了CD,但我不在/哎呀,哎呀。rm -rf / bin-oops我忘了输入。好大哦!(无论我去过哪里)!所以我不同意。
暂停,直到另行通知。

@Dennis-是的,如果您忘记输入句号,那么您将痛苦不堪!我想这是Apple不想让普通用户做这种事情的主要原因,因此OP遇到了Trash功能。因此,我同意您的不同意见,但这听起来像您和我都是经验丰富的* nixers,他们尊重命令外壳是我们所知道的潜在危险场所。我只是建议经验不足的用户在使用潜在危险的命令之前要养成习惯。
avstrallen

谢谢。我同意在命令行上执行它很容易。但是在这种情况下,我特别不喜欢诉诸于此...在Mac OS上,您不必使用命令行来处理常见的最终用户种类的事情,恕我直言,并释放它们USB记忆棒上的空间是很常见的事情。
约尼克,

我同意@GeneQ和@Daan-但是我有一个方法上的变通办法:在确定可以使用完垃圾桶之后,我才将任何东西都扔进垃圾桶中,然后每次都清空垃圾桶...问题解决了。
avstrallen

1

我想出了以下applescript,我必须将其与Keyboard Maestro一起移动del,因此它现在可以在Windows中使用。在Finder中选中该项目后,shift del将运行该脚本,该脚本显示一个对话框警告,提示该项目及其名称被永久删除。单击确定完成删除。

我对shell命令了解不多,以前的一些发贴人警告过使用rm -rf的危险,这是我在脚本中所做的。到目前为止,它似乎按我的预期工作。

tell application "Finder"
    set myPosixPath to selection as text --returns an alias path
    set myPosixPath to POSIX path of myPosixPath --set it to posix style path with backslashes

    --identify whether it's a file or folder. Only for the warning dialog.
    if character -1 of myPosixPath is "/" then
        set itemType to "folder"
    else
        set itemType to "file"
    end if

    --display a warning
    display dialog myPosixPath & "

This cannot be undone." with title "Really permanently delete this " & itemType & "?"
do shell script "rm -rf " & quoted form of myPosixPath --execute a shell script to delete the item
end tell

对于Mac OS X尚未提供的所有功能,有Keyboard Maestro。
考施克(Kaushik Gopal)

0

我认为这样做是为了确保用户的一致性和安全性。我认为最好将文件保留比需要的时间更长,并使用空间而不是被浪费掉并立即删除它们。

但是,当您使用USB记忆棒并将它们移至Windows计算机并转到...我的所有空间都在哪里时,这个令人讨厌的.trash文件夹又是什么呢?


0

使用muCommander删除文件(免费)

除了使用Finder之外,还可以使用其他文件管理器,例如muCommander。它可以删除文件,也可以将文件移动到垃圾箱。这比将“ rm -rf”粘贴到终端中要安全得多,在终端中,您可能会粘贴错误的命令,从而导致不可逆的损失。


0

如果您真的想使用第三方应用程序,则您提到的比RAW Trash更便宜的替代方法是File Shredder。(美国Mac App Store $ 3.99)

它提供了几种安全删除文件的方法:

  • 一遍正常删除操作,只会覆盖您的文件。
  • 符合美国国防部七通的通行证可确保大多数人不会进入您的文件。
  • 35遍Gutmann删除可确保在删除文件时,文件确实消失了。

对于大多数人来说,这可能有点矫kill过正,尽管如果您正在寻找一种比RAW Trash便宜的方法来安全删除文件,FileShredder可以完成工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.