Рекурсивный файл chmod и dir на debian ведет себя по-разному с CentOS

Обе эти команды работают нормально на Debian но не работают на CentOS :

 find . -type f -exec chmod 644 {} ; find . -type d -exec chmod 755 {} ; 

любую идею решить?

  • Поиск папок, содержащих файл
  • Почему find -mtime +1 возвращает только файлы старше 2 дней?
  • Скрипт для поиска файлов с определенным расширением, но НЕ содержащий конкретный текст
  • Как указать путь к файлу с помощью find при поиске файлов с помощью -regex
  • Как я могу использовать `find` с` -pattern`, а также ограничивать глубину?
  • Использование поиска для поиска и отправки отчетов, содержащих один, но не два ключевых слова внутри
  • Удаление файлов старше 500 дней
  • find / grep выводит две строки для каждого найденного файла
  • One Solution collect form web for “Рекурсивный файл chmod и dir на debian ведет себя по-разному с CentOS”

    Как сказал geedoubleya, вам не хватает «\» в конце ваших команд поиска. Так измените их:

     find . -type f -exec chmod 644 {} ; find . -type d -exec chmod 755 {} ; 

    К этим:

     find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; 

    Вам нужно избегать точки с запятой, потому что «найти» и ее подоболочку, созданную с помощью -exec, интерпретирует этот символ, поэтому его необходимо экранировать. Вы также можете использовать одинарные кавычки в точке с запятой. Например ';' вместо \;

     find . -type f -exec chmod 644 {} ';' find . -type d -exec chmod 755 {} ';' 
    Interesting Posts
    Linux и Unix - лучшая ОС в мире.