
Из предыдущеговопросЯ применил следующую команду к своему файлу.
sudo chflags -R nouchg TopSites.plist
sudo chmod 444 TopSites.plist
Теперь, когда файл заблокирован, я не знаю, как его удалить.
В настоящее время файл находится в моей корзине.
Что sudo
делает? И где я могу найти больше информации об этом?
Где хранится Корзина в Mac OS X?
Как удалить этот файл?
решение1
sudo
выполняет команду от имени другого пользователя. По умолчанию (как в этом случае) пользователь — суперпользователь root, который может делать почти все. Корзина находится в ~/.Trash
. Вы можете удалить всю корзину, выполнив:
rm -rf ~/.Trash/*
решение2
судо
sudo
означает super user do, вы можете узнать больше об этом, используя man sudo
в Терминале. Суть в том, что вы можете временно выполнить команду как root, что означает, что у вас есть полные привилегии - когда у вас запрашивают пароль в приложениях для выполнения определенных действий (например, установки), это эквивалент GUI использования sudo.
Расположение мусора
Корзину для вашего загрузочного диска можно найти по адресу ~/.Trash/
, тогда как для внешних жестких дисков ее можно найти по /Volumes/NAME_OF_EXTERNAL/.Trashes/USER_ID/
адресу , где USER_ID — ваш идентификатор пользователя.
Удаление файлов
У вас есть несколько вариантов удаления файла: если вы удерживаете кнопку Optionво время очистки корзины, вы можете принудительно очистить корзину, что приведет к удалению заблокированных файлов, таких как ваш.
В качестве альтернативы вы можете использовать Терминал для запуска rm
команды (означает remove). rm
Команда удалит файл (не корзину, он просто исчез, так что будьте осторожны, используя ее). Так, например, rm -rf ~/.Trash/*
будут удалены все файлы в вашей корзине. Если вы запустите sudo rm -rf ~/.Trash/*
ее, она сделает это с привилегиями суперпользователя.
Флаги в rm
команде обозначают рекурсивно ( -r
) и принудительно ( -f
). Вы можете узнать больше, rm
запустив man rm
.
решение3
Вы можете принудительно удалить данные, удерживая клавишу Option во время очистки корзины.
судопозволяет вам запускать команды от имени другого пользователя. Если пользователь не указан, используется root.
chflagsизменяет «флаги» файлов или папок.-Рswitch делает команду рекурсивной, т.е. она будет применяться ко всем файлам во всех подпапках.учгделает файл неизменяемым,нуучгснимает неизменяемый флаг.
чмодизменяет права доступа к файлу или папке. 444 — это восьмеричная битовая маска прав доступа к файлу, доступному только для чтения всем, включая владельца. См.этот вопросдля объяснения восьмеричных масок и chmod.
Печатаниемужчина«имя команды»в терминале вы получите полное описание всех этих команд.