Далее воспользуемся командой find, чтобы обновить время последнего изменения некоторых файлов в нашей песочнице:
[me@linuxbox ~]$ find playground -type f -name 'file-B' -exec touch '{}' ';'
Эта команда обновит время последнего изменения для всех файлов с именем
[me@linuxbox ~]$ find playground -type f -newer playground/timestamp
В результате мы получим все 100 файлов с именем
В заключение вернемся к проверке плохих разрешений, выполнявшейся выше, и применим ее к каталогу
[me@linuxbox ~]$ find playground \( -type f -not -perm 0600 \) -or \( -type d -not -perm 0700 \)
199
Эта команда выведет все 100 каталогов и 2600 файлов, хранящихся в
[me@linuxbox ~]$ find playground \( -type f -not -perm 0600 -exec chmod 0600
'{}' ';' \) -or \( -type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)
Основываясь на повседневном опыте, следует отметить, что намного проще ввести две команды — одну для каталогов и одну для файлов, чем одну большую составную команду, но знание, что можно действовать именно так, вам не помешает. Главное, что вы должны понять, — как можно использовать операторы и операции для решения практических задач.
Параметры
Наконец мы добрались до параметров. Параметры помогают управлять областью поиска. Они могут включаться в выражения команды find наряду с другими проверками и операциями. В табл. 17.8 перечислены наиболее часто используемые параметры.
Таблица 17.8. Параметры команды find
Параметр
Описание
-depth
Требует от find обработать сначала файлы в каталогах и только потом каталоги. Этот параметр автоматически применяется с операцией -delete
-maxdepth число_уровней
Устанавливает максимальное число уровней, на которое команда find может опускаться в дереве каталогов, выполняя проверки и операции
-mindepth число_уровней
Устанавливает минимальное число уровней, на которое команда find должна опуститься в дереве каталогов перед выполнением проверок и операций
-mount
Требует от find не выполнять обход каталогов, в которые смонтированы другие файловые системы
-noleaf
Требует от find не оптимизировать поиск, опираясь на предположение, что поиск ведется в Unix-подобной файловой системе. Этот параметр необходимо использовать при обходе файловых систем DOS/Windows CD-ROM
18. Архивация и резервное копирование
Одной из основных задач администратора компьютерных систем является обеспечение безопасности данных, а одним из способов решения этой задачи — своевременное создание резервных копий системных файлов. Даже если вы не являетесь системным администратором, вам все равно пригодится умение создавать копии и перемещать большие коллекции файлов из одного места в другое и с одного устройства на другое.
В этой главе мы рассмотрим несколько программ, часто используемых для управления коллекциями файлов, в том числе:
Программы сжатия:
• gzip — сжимает и распаковывает файлы.
• bzip2 — программа поблочного сжатия файлов.
Программы архивирования:
• tar — утилита архивирования на ленту.
• zip — упаковывает и сжимает файлы.
И программа синхронизации файлов:
• rsync — выполняет синхронизацию файлов и каталогов с удаленной системой.
Сжатие файлов
На протяжении всей истории развития вычислительных технологий не прекращались попытки размещения большего числа данных в меньшем объеме, будь то память, устройства хранения или полоса пропускания сети. Многие устройства и технологии, прочно вошедшие в обиход, такие как переносные плееры, телевидение высокой четкости или широкополосный доступ в Интернет, обязаны своим существованием эффективным технологиям