Когда дело доходит до быстрого решения повседневных задач, командная строка может быть одновременно мощной и опасной. В качестве примера возьмем команды из этой статьи: команда 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
в каталоге, вы увидите следующее сообщение:
Для удаления каталогов существует специальная команда: 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. Терминал очистит Корзину. Победа командной строки!