Я перемещаю веб-сайт с одного сервера на другой, и Git не хранит метаданные, такие как права доступа к файлам. Мне нужно найти каталоги и файлы, которые не 775/664 соответственно.
Прямо сейчас я использую это мощёное устройство:
$ find . -type d -exec ls -la {} \; | grep ^d | grep -v ^drwxrwxr-x
$ find . -type f -exec ls -la {} \; | grep -v ^d | grep -v ^-rw-rw-r-- | grep -v '.git'
Хотя это работает, я чувствую, что это довольно глупо. Есть ли лучший способ сделать это, возможно, канонический, или я должен быть просто хакером?
Это работает в последней версии Ubuntu с инструментами GNU под Bash.
permissions
find
dotancohen
источник
источник
-not
это не стандарт POSIX; они используют!
вместо этого.Я понятия не имею, чего пытался достичь ваш код. Обычно причина поиска файлов и каталогов с неправильными разрешениями заключается в их изменении.
Так что это то, что я успешно использую в Ubuntu 16.04
Это демонстрирует! символ сбежал
источник