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

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

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(викификация, оформление)
 
 
Строка 3: Строка 3:
 
  find . -name ‘*~’ -exec rm “{}” \;
 
  find . -name ‘*~’ -exec rm “{}” \;
  
находит и удаляет все файлы резервных копий редактора в текущем и вложенных в него каталогах. Символы '''\'''; – признак завершения команды для ''-exec''', а скобки заменяются именем файла. Работает команда неспешно, так как выполняется отдельно для каждого файла: ''rm file1'', потом ''rm file2'', и т. д.
+
находит и удаляет все файлы резервных копий редактора в текущем и вложенных в него каталогах. Символы '''\'''; – признак завершения команды для '''-exec''', а скобки заменяются именем файла. Работает команда неспешно, так как выполняется отдельно для каждого файла: ''rm file1'', потом ''rm file2'', и т. д.
  
 
Часто бывает лучше передать файлы в команду все разом – в режиме «'''exec с плюсом'''» команды ''find'':
 
Часто бывает лучше передать файлы в команду все разом – в режиме «'''exec с плюсом'''» команды ''find'':

Текущая версия на 09:55, 7 мая 2012

Вы наверняка знакомы с командой find, которая, понятное дело, ищет файлы – но умеет она много больше. Так, с опцией -exec над найденными файлами заодно выполнятся указанные действия – например,

find . -name ‘*~’ -exec rm “{}” \;

находит и удаляет все файлы резервных копий редактора в текущем и вложенных в него каталогах. Символы \; – признак завершения команды для -exec, а скобки заменяются именем файла. Работает команда неспешно, так как выполняется отдельно для каждого файла: rm file1, потом rm file2, и т. д.

Часто бывает лучше передать файлы в команду все разом – в режиме «exec с плюсом» команды find:

find . -name ‘*~’ -exec rm “{}” +

Тогда выполнится rm file1 file2… — а это на порядок быстрее.

Другой трюк – применить опцию -L, с которой find следует по символическим ссылкам, добавив в нее ключ -type для проверки типа файла. Этот ключ дает find указание считать ссылку на файл самим файлом, если только ссылка не тычется в никуда; таким способом можно обнаружить завалявшиеся «битые» ссылки.

find -L . -type l

Добавьте сюда опцию -exec, и вы удалите все неактуальные ссылки в каталоге.

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