Постоянное удаление файлов в Mac OS


21

Некоторое время назад, будучи относительно новым пользователем Mac OS X, я с удивлением узнал, что вы не можете легко удалить файлы . Непосредственно, то есть, не перемещая их сначала в корзину. В Windows и Linux это, очевидно, легко сделать, но на Mac это не так.

Я заметил это при попытке очистить файлы с карты памяти USB - удаление файлов («переместить в корзину») не освобождает место; это происходит только после очистки всей общесистемной корзины. Не особенно удобно! (Кажется, глупо очищать весь мусорный бак только для того, чтобы освободить место на USB-накопителе. Там могут быть гигабайты содержимого, и этот вид не справляется со своей задачей - что, если вам действительно нужно что-то восстановить из мусор когда-нибудь.)

Итак, как вы можете обойти это ? Вы купили стороннее приложение, такое как RAW Trash, за $ 16,95 только для удаления файлов, или вы старательно очищаете корзину, когда это необходимо? Или я что-то пропустил? Кроме того, можете ли вы убедить меня в том, что на самом деле так и должно быть - что пользователи не могут легко возиться с файловой системой? :)


1
Вы искали ярлык ⌘+⌥+⌫(Command + Option + Delete)?
Даниэль

Ответы:


22

Я не очень доволен тем, как Mac OS X справляется с этим. Если я действительно хочу что-то удалить, особенно с USB-накопителей, я обычно запускаю Терминал и rmфайлы вручную.


28

Поскольку так много людей этого хотят, я просто создал Службу для Snow Leopard, которая называется « Немедленно удалить» . Он отображается в меню «Сервисы» и в контекстном меню в Finder.

Вы можете скачать его с GitHub . Разархивируйте .zipархив и переместить в результате « Delete Immediately.service» в папке Службы в вашей библиотеке папки ~/Library/Services/. Вам может потребоваться выйти из системы и снова войти в нее (и / или включить ее в разделе «Услуги» в настройках клавиатуры), чтобы система распознала службу.

Я бы также предложил проверить READMEфайл на главной странице GitHub. И если вы хотите внести свой вклад в код, локализовать его или сделать иконку, не стесняйтесь!

Контекстное меню

Сервисное меню


4
Shiney. Вы также можете привязать сочетание клавиш к этой службе: «В меню« Приложения »выберите« Службы »/« Настройки служб ». Откройте« Системные настройки »/« Клавиатура »/« Сочетания клавиш »/« Службы ». Выберите службу, нажмите клавишу« Ввод », а затем нажмите выбранную комбинацию сочетаний клавиш» (из gingerbeardman.com/services )
DBR

Очень мило спасибо! Это работает только на 10.6? (Я все еще буду на Леопарде некоторое время.)
Джоник

1
Пока он работает только на 10.6, я не очень знаком с тем, как работают сервисы на 10.5 (они не отображаются в контекстном меню, и написать плагин для контекстного меню для 10.5 немного сложнее).
jtbandes

И, Джоник, я бы порекомендовал вам обновить до 10.6, если ваше оборудование позволяет (то есть у вас Intel Mac). Даже если вы не получите много ускорений, если у вас нет 64-битной машины, как у меня, незначительные улучшения определенно стоят низкой цены.
jtbandes

1
Есть ли способ назначить Shift + Del в качестве ярлыка для этого сервиса? Похоже, что Системные настройки просигнализируют о любой комбинации, включающей Del.
haridsv

8

Бесконечный способ решения этой головоломки - разыграть следующее заклинание, чтобы успокоить богов Apple, вот так:

Выберите файл, которым нужно пожертвовать, с последующим чтением:

⌘ Удалить

⌘ ⇧ ⌥ ⌫

Это отправит файл в корзину, а затем удалит весь мусор , таким образом, следует отправить жертву (и все другие мусорные предметы) в забвение.


Хорошо, спасибо! Прямо сейчас я не могу подтвердить, работает ли это, но если так, это именно то, что я хотел :)
Jonik

12
Для этого сначала нужно удалить файл, а затем очистить корзину. Хотя это полезное сочетание клавиш, на самом деле оно не решает проблему невозможности простого удаления выбранных файлов.
Даан

1
Договорились Даан. Это не идеально. Но использование rm в терминале также не идеальный и довольно не-Mac способ работы. Нашему другу Джонику придется взвесить все за и против, я думаю. ;-)
GeneQ

9
-1 за вводящий в заблуждение ответ. Что если пользователь не хочет очищать свой мусор?
Хазен

3
-1 также в первоначальном вопросе упоминается, что очистка системного мусора «Не особенно удобно!», Что делает этот ярлык ..
dbr

4

Чтобы удалить конкретный файл, не проходя через корзину.

  • открыть терминал
  • введите rm(с завершающим пробелом), или rm -rесли вы планируете удалить каталог
  • перетащите файл в окно терминала, которое вводит полный путь к удаленному файлу
  • нажмите ввод

Сервисное решение jtbandes «Немедленно удалить» гораздо более элегантно, но для «терминального способа» не требуется никакого дополнительного программного обеспечения (что хорошо при работе на машинах, которые вы не используете регулярно)


+1, спасибо за перетаскивание на наконечник терминала
Jonik

Спасибо за полезный совет, основанный на вашем предложении, я сделал простое приложение какао, вот ссылка: daemonconstruction.blogspot.in/2013/01/…
Devarshi

@Miraaj Рад, что ответ был полезным! Ссылка на скачивание в вашем блоге не работает (ссылка содержит следующее предложение, а не URL)
dbr

@dbr .. спасибо, что сообщили мне .. Я обновил это сейчас :-)
Devarshi

2

Я использую rm -rf в командной строке. Это удаляет намного быстрее, и это удаляет все. Общая проблема с Windows заключается в том, что удаление - это процесс, а не момент времени, и я часто наблюдаю за удалением папок и файлов Windows в течение нескольких минут. Rm -rf это быстро.

Вы также можете использовать rm -rf, чтобы удалить конкретную корзину. Мусорная корзина представляет собой скрытую папку с именем .Trash в корне соответствующего тома или каталога.

И да, я думаю, что так и должно быть. Пользователи не должны иметь возможность удалять файлы слишком быстро с помощью Finder. Файлы должны быть восстановлены из корзины.


Обратите внимание, что если пространство в Корзине не считается используемым пространством, файлы в Корзине будут перезаписаны с течением времени и больше не могут быть восстановлены. Таким образом, выбор на самом деле лежит между хранением файлов в Корзине и попаданием пробела в пространство или отсутствием хранения файлов в Корзине и получением большего свободного места. Комбинации между ними непредсказуемы для обычного пользователя.
Эндрю Дж. Брем

4
Это хороший совет, но я думаю, что неосторожному / неопытному человеку следует четко дать понять, что rm -rf нужно использовать крайне осторожно; он будет стирать все в папке, которую вы передаете ему, включая папку, без подтверждения. Если в эту команду передается системная папка, вы можете нанести достаточно ущерба, чтобы потребовать переустановки операционной системы (хотя разрешения должны помешать вам уничтожить систему, я стараюсь не полагаться на них).
Бабу

Почему отрицательный голос ???
Эндрю Дж. Брем

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 - упс, я забыл набрать. так что ОЙ! (независимо от того, где я CD)! Так что я не согласен.
Приостановлено до дальнейшего уведомления.

@Dennis - да, если вы забудете напечатать период, вы находитесь в мире боли! Я полагаю, что это главная причина, по которой Apple не хочет, чтобы ее обычный пользователь делал подобные вещи, поэтому с функционалом «Мусора», с которым сталкивался ОП. Итак, я согласен с вашим несогласием, но, похоже, вы и я - опытные * nixers, которые уважают командную оболочку как потенциально опасное место, которым мы ее знаем. Я только предполагал, что менее опытные пользователи приобретут привычку, прежде чем использовать потенциально опасные команды.
австраллен

Спасибо. Я согласен, что это достаточно легко сделать в командной строке. Но в этом случае мне особенно не нравится прибегать к этому ... В Mac OS вам не нужно использовать командную строку для обычных вещей конечного пользователя, IMHO и освобождения достаточно места на USB-накопителе.
Джоник

Я согласен с @GeneQ и @Daan - но у меня есть методологический обходной путь: я ничего не помещаю в корзину, пока не узнаю наверняка, что с ней покончено, а затем сразу же очищаю корзину каждый раз ... проблема решена.
Австраллен

1

Я придумал следующий appleScript, который я обязательно перенес с Del Keyboard Maestro, так что теперь он работает как в Windows. Когда элемент выбран в Finder, shift del запустит скрипт, который отображает диалоговое окно с предупреждением о постоянном удалении элемента с его именем. Нажатие ОК завершает удаление.

Я не знаю много о командах оболочки, и некоторые из предыдущих постеров предупреждали об опасности использования 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.
Каушик Гопал

0

Я думаю, что это сделано для согласованности и безопасности пользователей. Я думаю, что лучше хранить файлы дольше, чем требуется, и использовать пространство, вместо того, чтобы бездельничать и удалять их сразу.

Это немного раздражает, когда вы работаете с USB-флешками и перемещаете их на Windows-машину и идете ... где все мое пространство ... и что это за раздражающая папка .trash.


0

Используйте muCommander для удаления файлов (это бесплатно)

Вместо использования Finder, возможно, используйте другой файловый менеджер, такой как muCommander. Он может удалять файлы и перемещать файлы в корзину. Это намного безопаснее, чем вставлять «rm -rf» в Терминал, где вы рискуете вставить неправильные команды, что приведет к необратимым повреждениям.


0

Если вы действительно хотите использовать стороннее приложение , гораздо более дешевой альтернативой RAW Trash, которую вы упомянули, является File Shredder . (US Mac App Store $ 3,99)

Он предлагает несколько способов безопасного удаления файлов:

  • Однократное нормальное удаление, которое просто перезаписывает ваши файлы.
  • Семидесятипроходный DoD-совместимый проход гарантирует, что большинство людей не смогут получить доступ к вашим файлам.
  • 35-проходное удаление Gutmann гарантирует, что ваши файлы действительно исчезнут, когда вы их удалите.

Это может быть немного излишним для большинства людей, хотя, если вы ищете более дешевый способ, чем RAW Trash, для безопасного удаления файлов FileShredder выполняет свою работу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.