Как удалить файлы и папки с помощью терминала

Когда дело доходит до быстрого решения повседневных задач, командная строка может быть одновременно мощной и опасной. В качестве примера возьмем команды из этой статьи: команда rm позволяет удалить (или удалить) файлы. Команда rmdir делает то же самое с каталогами (также известными как папки). Но будьте осторожны: в отличие от перемещения файлов в корзину из Finder, при использовании этих команд невозможно вернуть их обратно .

Тем не менее, если вы хотите воспользоваться возможностями Терминала в macOS Sonoma или более ранних версиях, эту команду нельзя игнорировать. Я покажу вам, как добавить защиту, чтобы гарантировать, что вы удаляете только те файлы, которые действительно хотите удалить.

Зачем удалять файлы с помощью командной строки?

Удалить файлы с помощью Finder не так уж и сложно, к тому же вы всегда можете вытащить файлы из корзины, если передумаете. Так зачем вообще использовать командную строку? Вот несколько причин:

  • Вы можете использовать подстановочные знаки для быстрого и эффективного удаления нескольких файлов.
  • Вы можете удалить файлы из корзины, если столкнетесь с устойчивыми ошибками.
  • Вы можете удалить файлы, скрытые в Finder. Эти файлы, которые могут содержать настройки для определенных приложений или частей macOS, содержат точку (.) перед своими именами, и Finder их не отображает.
  • Если вы потеряли доступ к Finder из-за того, что ваш Mac не работает, вы можете использовать командную строку для устранения проблемы.

Как удалить файлы

Удалить файлы с помощью этой команды опасно легко rm. Вот пример. После запуска терминала (в папке /Applications/Utilities) введите команду  cd ~/Desktop для перехода в каталог «Рабочий стол». Чтобы удалить файл на рабочем столе, введите rm filename, заменив filename его фактическим именем файла, который вы хотите удалить. (Если у вас есть имя файла с пробелами, вам нужно взять его в кавычки: "For Example.txt".) Если у вас есть файл с именем MyFile.rtf, который вы никогда больше не захотите видеть, вы можете запустить эту команду:

rm MyFile.rtf

Когда вы нажмете Return, файл исчезнет! Mac не подтверждает, хотите ли вы удалить файл и Вы не сможете получить его обратно .

Вы даже можете удалить несколько файлов одной командой. Если у вас на рабочем столе есть три файла, которые вы хотите удалить, и вы хотите удалить их все сразу, вы можете сделать это следующим образом (если у вас имя файла с пробелами, вам нужно взять его в кавычки: "For Example.txt". ):

rm MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

Опять же, нажатие клавиши Return делает грязную работу.

Сеть безопасности

Стоит повторить: эта команда удаляет файлы. Это наносит им ядерный удар. Вы не сможете вернуть их. Вы не можете нажать на значок «Корзина» и получить файлы, которые вы случайно удалили.

Но есть подстраховка: это -i(интерактивный) флаг. Поэтому, если вы проявляете осторожность, вы можете запустить приведенные выше команды с этим флагом следующим образом:

rm -i MyFile.rtf

Или, в случае удаления нескольких файлов:

rm -i MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

В каждом случае нажатие Return фактически не активирует rm команду, поскольку -i флаг действует как кнопка паузы. При выполнении этих команд вы увидите в Терминале следующее:

Чтобы продолжить, вам нужно набрать yes, или просто y. В случае нескольких файлов вы увидите один запрос для каждого файла. Конечно, легко привыкнуть быстро печатать y, но цель вопроса — заставить вас остановиться и очень хорошо подумать, действительно ли вы хотите удалить этот файл.

Как удалить пустые каталоги (они же папки)

Удаление каталогов или папок немного отличается. Если вы попытаетесь запустить команду rm в каталоге, вы увидите следующее сообщение:

Вы не можете удалить каталог с помощью команды rm.

Для удаления каталогов существует специальная команда: rmdir. Итак, чтобы удалить каталог с именем «Архивы», выполните следующую команду (если у вас есть имя каталога с пробелами, вам нужно взять его в кавычки: "For Example".):

rmdir Archives

Вы не можете использовать -i флаг с rmdir, поэтому эта команда немного более рискованна.

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

Как удалить все в каталоге

У команды rm есть мощная опция -R(или -r), также известная как рекурсивная опция. Когда вы запускаете команду rm -R для папки, вы указываете Терминалу удалить эту папку, все содержащиеся в ней файлы, все содержащиеся в ней подпапки, а также любые файлы или папки в этих подпапках полностью. Вы вводите команду как rm -R directoryname, заменяя directoryname имя каталога, который хотите удалить. (Если у вас имя каталога с пробелами, его нужно взять в кавычки: "For Example".)

Например, предположим, что у вас есть каталог, полный архивов, содержащий подкаталоги и файлы. Удаление каждого элемента по отдельности из Finder или командной строки может занять много времени. Итак, просто запустите команду следующим образом:

rm -R Archives

Помните, что это удаление является окончательным. Но вы можете использовать -i флаг для защиты:

rm -iR Archives

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

Не можете очистить корзину в Finder? Используйте терминал

Когда rm -R команда может пригодиться? Допустим, вы не можете очистить корзину на своем Mac. Возможно, файл заблокирован, или у вас нет разрешения на удаление одного или нескольких файлов. Подобные сбои раздражают, но вы можете использовать командную строку, чтобы найти простое решение.

В Терминале введите следующее:

rm -R

Затем введите пробел.

В Finder откройте корзину, а затем перетащите содержащиеся в ней элементы в окно терминала. Вы увидите один или несколько файлов с такими путями, как /Users/.Trash/file.txt.

Если файлов много, вы можете обнаружить, что результирующий список (все в одной длинной строке, переносящейся в окно терминала) может быть очень длинным. Если вы абсолютно уверены, что хотите удалить все эти элементы, нажмите Return. Терминал очистит Корзину. Победа командной строки!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии