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

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

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

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

  • команда find вызывает ошибки при работе внутри
  • Как найти файл, имя которого содержит заданную строку, например «abcde»?
  • Как передать файлы, найденные в качестве аргументов?
  • Используйте команду find для выполнения ряда команд
  • Как фильтровать файлы с именем файла, а затем удалять файл OLDEST?
  • Как найти + конвертировать на эти .gif?
  • Почему имена файлов трубопроводов в VIM прерываются, когда я возвращаюсь в оболочку?
  • Как я могу оптимизировать эту команду Unix?
  • 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 {} ';' 
    Linux и Unix - лучшая ОС в мире.