Я хочу написать сценарий оболочки/Perl, который может проверить, установлен ли файл с определенными битами разрешения.Получить строку бит прав на Linux/Perl?
Например, я хочу, чтобы проверить, если файл имеет разрешение как
drwxr-s---
Когда я использую функцию stat
в Perl, он дает мне десятичное число. Есть ли способ получить точную строку, как указано выше, в моем скрипте perl и сравнить ее? Если нет - есть ли способ преобразовать эту строку в число, а затем сравнить?
См. 'Man 2 stat' и' perldoc -f -X' – ikegami
@ThisSuitIsBlackNot: Не совсем. Здесь я хочу посмотреть, есть ли у файла все разрешенные биты, о которых я упоминал. Остальные вопросы - это проверить бит владельца. Извинения за путаницу. – Deadman
Не думайте, что Perl возвращает как десятичное число. Подумайте об этом как о восьмиступенчатом наборе разрешений. Вы можете использовать _bit math_, чтобы проверить, установлено ли определенное разрешение. Вы также можете использовать Perl [проверки файлов] (http://perldoc.perl.org/functions/-X.html), чтобы проверить разрешение. –