Answers:
如果要立即删除文件,则可以复制文件,打开“终端”或“ iTerm”,键入rm -r
并按⌘V。
如果要安全删除文件,以使它们无法通过DiskWarrior或DataRescue等应用程序恢复,则可以使用srm -srf
。srm
默认情况下,使用35遍Gutmann算法,但-s
仅覆盖一遍随机数据即可覆盖文件。
您还可以创建如下服务:
osascript -e 'on run argv
set text item delimiters to linefeed
tell application "Finder"
display dialog "Delete the following files immediately?" & linefeed & linefeed & text items of argv
end tell
end run' "$@"
[[ $? != 0 ]] && exit 0
rm -rf "$@"
我没有使用“要求确认”操作,因为它不能用于显示指定为参数的路径,并且它显示的对话框也无法获得键盘焦点。
如果删除该文件需要超级用户特权,则该服务不能用于删除文件。
您可以通过“系统偏好设置”>“键盘”>“键盘快捷键”>“服务”为服务提供键盘快捷方式。快捷方式记录器不允许输入⇧⌦作为键盘快捷方式,但是您可以首先为服务提供一些临时快捷方式,然后关闭“系统偏好设置”窗口,然后运行类似的内容f=~/Library/Preferences/pbs.plist; plutil -convert xml1 $f; open -e $f
,然后将等效项更改为$
:
<key>(null) - Delete Immediately - runWorkflowAsService</key>
<dict>
<key>key_equivalent</key>
<string>$&#xU007F;</string>
</dict>
$
是⇧⌦(其中⌦是Mac转发删除/ Windows删除)。⇧⌫是$
(其中⌫是Mac delete / Windows退格键)。在http://lri.me/keybindings.html中描述了用于快捷方式字符串的格式。
至于使⌦(Mac转发删除/ Windows删除)将文件移动到回收站,您可以修改Finder的属性列表:
defaults write com.apple.finder NSUserKeyEquivalents -dict 'Move to Trash' '\U007F'
killall Finder
但是,这也使得在重命名文件时按⌦将文件移到回收站。
如果可以接受两步键盘操作,则可以始终执行以下操作:
⌘+ ⌫将文件移到垃圾箱
然后
⌘+ ⇧+ ⌫清空垃圾箱(带有确认弹出窗口)或
⌘+ ⇧+ ⌥+ ⌫清空垃圾箱(无确认弹出窗口)。
显然,这也将清除垃圾桶中已经存在的所有其他文件。
另外,也许像Trash X这样的东西也会有所帮助。描述说:
您可以使用它立即删除或粉碎文件和文件夹,而无需将其发送到垃圾箱。您只能将其用于清空或切碎选定磁盘上的垃圾。当然,您可以像在桌面上一直使用的垃圾桶一样使用它。
⌘
+ ⌫
我是怎么发现的?
⌘
+ ⌥
+ ⌫
立即删除文件
您可以做的是将文件发送到垃圾箱,然后单击“查找器”->“保护空垃圾箱”。
您还可以制作键盘快捷键,以使该过程更快一些,如本文所述。
这并不是您想要的,但似乎是最接近的功能,而无需考虑使用Automator或Keyboard Maestro创建东西。
我用可可制作了一个简单的应用程序,其功能类似于垃圾桶图标,但行为不同。当文件或文件夹放在其停靠栏中的图标上时,它将被永久删除。
我也写了一篇关于它的博客文章-Mac OS X:shift + delete
这是应用程序的链接-DeleteMe
基本思想是-使用:rm -rf ,与投票最多的答案中所建议的完全相同,但以不同的方式实现;-)
更新资料
现在,有一种更好的方法来实现Matt Sephton在对此答案的注释中指定的“永久删除”功能- 只需使用command + alt(选项)+ backspace即可。感谢他的更新。