删除文件时如何跳过垃圾桶?


66

我经常将不同的外部USB硬盘驱动器和闪存驱动器连接到我的计算机,并且我希望可以方便地删除文件并从中重新获得磁盘空间。

如果我只是删除文件,它将一直保存在外部驱动器上的隐藏垃圾箱文件夹中,直到我清空垃圾箱。这也迫使我同时清空外部垃圾箱,同时仍连接外部磁盘以重新获得磁盘空间,这是不希望的。

目前,我发现的唯一其他“解决方案”是将文件移至内部硬盘驱动器,然后将其丢弃。这不是最佳选择,因为我浪费时间将文件从一个驱动器移动到另一个驱动器(我经常处理20GB以上的VM)。

如何绕过垃圾桶从外部驱动器中永久删除文件?


1
从基于闪存的USB驱动器中永久擦除某些内容非常困难。延伸阅读:security.stackexchange.com/questions/5662/...
安德里斯

3
@Andris谢谢,有趣的链接。我想我对这个问题的看法很不好。我对安全删除不感兴趣。我只是想删除一个文件并重新获得空间。
Redandwhite

因此,当文件位于外部时,您不能在本地清空垃圾箱,但是当文件在内部存储时,您可以清空垃圾箱吗?当您距离删除某物仅一步之遥时,为什么到底将其保留在垃圾箱中的任何地方?我没有增加理由。为什么不编辑它而只说您想X?
bmike

6
@bmike,因为我不介意在本地丢垃圾。我确实介意在数量有限的闪存驱动器上放置垃圾。本质上,删除文件不会释放驱动器上的空间。我知道本地磁盘也是如此,但我更接受。这解决了一个特定的用例。
Redandwhite

令人难以置信的是,苹果公司没有看到这是什么问题。普通用户应该如何理解正在发生的事情?从他们的角度来看,他们的USB驱动器是空的,但没用!
cja 2015年

Answers:


17

⌘ Command⌥ Option⌫ Delete将永久删除文件,并带有一个确认对话框,警告该操作无法撤消。⌘Command⌫ Delete只是将文件移至“已删除邮件”,而无需确认。

提示:每当您希望Mac应用执行相同的操作但有所不同时,请尝试在⌥ Option按下按钮的情况下进行操作。


1
谢谢!现在这是公认的答案。为了他人的利益,在您的答案中指出Alt在美式布局键盘上称为Option可能会有所帮助。
Redandwhite

54

您可以创建Automator服务或应用程序以方便执行rmShell Commando,这将永久删除文件或文件夹并跳过垃圾桶。

例如,从在Automator.app中创建新服务开始。

  • 选择files or folders作为输入,您可能还希望将此服务的可用性限制为Finder应用程序。

自动化服务输入

  • (可选,但强烈建议)首先Ask for Confirmation在工作流程中添加一个步骤。

确认步骤

  • 最后,将Run Shell Script步骤添加到工作流程中。确保传递输入as arguments。然后,您可以输入以下脚本:

    for f in "$@"
    do
        rm -rf "$f"
    done
    

输入shell脚本

如@Thecafremo所提到的,您还可以在删除时-P向添加参数以rm提高安全性。为了更加美观,您可以通过在shell脚本末尾添加以下命令来添加一些声音反馈:

afplay "/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/finder/empty trash.aif"

保存您的服务,它应该可以从菜单栏的“服务”菜单中的Finder中使用。右键单击Finder中的文件,该服务还将显示在您获得的菜单的底部,尽管要使其显示在该Finder > Services菜单中,您可能必须先从菜单运行一次。您还可以在“系统偏好设置”的“键盘偏好设置”面板中为服务配置键盘快捷键。

服务菜单

行动中的服务

除了创建服务之外,您可以类似地在Automator中创建一个应用程序,您可以将其固定在Dock中,以便将文件拖到其中。


1
这肯定是最优雅的解决方案。它是免费的:-)
Maverik

真的很好 感谢您的出色解决方案:)
Redandwhite

在Mavericks中,这对我不起作用……当我使用该服务时,它什么也没做。
布鲁诺·斯通克

1
我想补充一点,该服务甚至可以用来删除垃圾桶中已经存在的文件,否则这是非常困难的。(太棒了!)
保护者2014年

1
太棒了!几件事。单击“要求确认”步骤中的图标,会将其更改为黄色的感叹号-方便警告您要做的事情很危险。保存时,输入的名称应为“永久删除”,因为这将在“服务”菜单中显示。遗憾的是,sudo当需要密码时,这不支持。我尝试使用osascript -e ... with administrator priveleges,但逃避原来"\"似乎没有工作。
ADTC

19

并且选项可以是Terminal command rm-P如果需要增强安全性,可以选择:

[Option -P will]覆盖常规文件,然后将其删除。在删除文件之前,文件将被覆盖3次,首先是字节模式0xff,然后是0x00,然后又是0xff。

为此,只需:

  1. 打开Terminal.app(在/ Applications / Utilities中找到)。
  2. 键入rm -P 并将文件拖到终端窗口。然后打Enter

1
哇,拖动文件夹会删除整个文件夹,对吗?
duci9y 2012年

1
@ duci9y对!我将编辑答案进行更正。的确,最好不要做未经校对的回答。
Thecafremo

2
如果使用选项,也可以删除文件夹-rf
Maverik 2012年

1
sudo rm -rf跟着太空工程奇迹,谢谢!
PatrickT

1
如果您必须经常执行此操作,则上面的“接受的解决方案”是不错的选择,但是我只有一个文件需要(从轨道)核对,这可以解决问题。
游艇


4

Trash X这样的东西怎么样。描述说:

您可以使用它立即删除或粉碎文件和文件夹,而无需将其发送到垃圾箱。您只能将其用于清空或切碎选定磁盘上的垃圾。当然,您也可以像台式机上的垃圾桶一样使用它。


3

以下技巧可用于OS X El Capitan。我从这里得到了小费。

在Finder中选择文件。转到File菜单,然后alt/option按键,您将看到“移至垃圾箱”选项变为“立即删除...”。




0

从El Capitan 10.11.6开始,现在无需使用Terminal.app就可以实现:选择要删除的文件,右键单击并选择“立即删除...”。

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.