MacOsx - Shell - перечисляет все .php файлы и их восьмеричные полномочия в specifc папке

Как корень, с ss установленный:

ss -p -l '( sport = :7080 )'

Необходимо также регистрировать файлы /etc/xinetd.d и вывод rpcinfo -p

1
14.07.2013, 00:34
2 ответа
find /folder -name '*.php' -type f -print0 |
  perl -0 -lne 'printf "%o %s\n", (lstat $_)[2]&07777, $_'

См. также этот связанный вопрос: Преобразуйте ls-l выходной формат к chmod формату.

-print0 расширение GNU, также поддерживаемое BSDs как OS/X. GNU find также имеет a -printf предикат, который мог отобразить режим, но что каждый не был добавлен к BSD's find.

(Протестированный на OS/X 10.8.4 и Debian 7, но должен работать над любой системой, которая имеет любую версию perl и find -print0 который включает все системы GNU и весь недавний BSDs),

2
27.01.2020, 23:29
  • 1
    я запустил это от iside моя папка,/htdocs, но это не делает работ :( сделайте Вас попробованный собой? –  itsme 13.07.2013, 13:47
  • 2
    @sbaaaang сделал Вы заменяете /folder с реальным путем? Если Вы работаете из целевой папки, которая будет .. –  terdon♦ 13.07.2013, 15:31
find /some/path -type f -name "*.php" -exec sh -c 'stat -f "%p %N" "{}" | sed -E s/^.{3}//' \;

Это тестируется на OS X 10.8.4. Канал sed просто сокращает первые 3 символа от вывода (тип файла). Похож на OS X stat не поддерживает прямой восьмеричный вывод разрешения.

1
27.01.2020, 23:29
  • 1
    Это предполагает, что имена файлов не содержат двойную кавычку, обратную косую черту, доллар, обратную галочку или символы новой строки, и выполняет один sed, один sh и команды статистики на файл. –  Stéphane Chazelas 13.07.2013, 13:27
  • 2
    Да, да это делает. Я делаю предположение этим PHP файлы, вероятно, не будут содержать ни одного из тех символов. –  Mel Boyce 13.07.2013, 13:43
  • 3
    stat -f "%OLp %N" file –  jsbillings 13.07.2013, 15:24

Теги

Похожие вопросы