Журнал LinuxFormat - перейти на главную

LXF124:Совет месяца

Материал из Linuxformat
Перейти к: навигация, поиск

Совет месяца: Ищем потерянные файлы

Случалось ли вам сохранить файл (скажем, закачку) непонятно куда? Иногда он попадает в неожиданную директорию, иногда – имеет странное имя. Стандарт­ная команда find поможет вам решить эту проблему:

 find ~ ­-type f ­-mtime 0

покажет все файлы в вашей домашней директории, созданные или измененные сегодня. По умолчанию, find ведет отсчет от полуночи: 0 означает текущий день.

Вам наверняка знаком ключ ­-name, позволяющий указать имя искомого файла, но find умеет гораздо больше. Опции можно комбинировать: если у вас куда­то пропал загруженный tar­-архив, используйте

 find ~ ­-type f ­-mtime 0 ­-iname '*.tar.gz'

Одинарные кавычки нужны, чтобы оболочка не пыталась раскрыть шаблон, а ­-iname делает поиск регистронезависимым.

Проблемы с правами доступа зачастую выли­ваются в очень непонятные ошибки. Допустим, вы случайно создали в своем домашнем каталоге файл, работая как root. Чтобы найти объекты, не принадле­жащие вам, просто наберите:

find ~ ! ­-user ${USER}

Оболочка устанавливает переменную окруже­ния USER равной текущему имени пользователя, а ! означает отрицание. Поэтому данная команда ищет в вашем домашнем каталоге файлы и директории, владельцем которых не является текущий пользова­тель. Можно да же автоматически исправить права доступа, вот так

find ~ ! ­-user ${USER} ­-exec sudo chown ${USER} '{}' \;

Использование ключа ­-exec (и множества других) раскрывается на man­-странице find.

Персональные инструменты
купить
подписаться
Яндекс.Метрика