Как узнать, доступен ли файл для чтения в UNIX?Как узнать, доступен ли файл для всех?
1
A
ответ
5
От perldoc:
$mode = (stat($filename))[2];
printf "Permissions are %04o\n", $mode & 07777;
Для извлечения чтения для-других бит вы можете сделать
print "read for everyone" if $mode & 4; # pick bit 2 from mode
2
9
(относительно) современное решение: использовать File::stat, основной модуль, так как 5.004 и Fcntl , который всегда находился в Perl 5. См. также perldoc -f stat.
use strict;
use warnings;
use File::stat;
use Fcntl qw(:mode);
...
my $mode = stat($filename)->mode;
my $allCanRead = ($mode & S_IRUSR) # User can read
&& ($mode & S_IRGRP) # Group can read
&& ($mode & S_IROTH); # Others can read
Смежные вопросы
- 1. Как узнать, доступен ли файл из сценария?
- 2. Как узнать, доступен ли AUCTeX?
- 3. Как узнать, доступен ли фрагмент?
- 4. Как узнать, доступен ли fastcgi_finish_request()?
- 5. Как узнать, доступен ли какой-либо файл в корневом каталоге?
- 6. Как можно узнать, доступен ли MediaRecorder.AudioSource.VOICE_RECOGNITION
- 7. ActiveDirectory: как узнать, доступен ли домен?
- 8. Как узнать, доступен ли слой отладки dx?
- 9. Как узнать, доступен ли атрибут тега jsp для EL?
- 10. Quickblox: как узнать, доступен ли пользователь для Android?
- 11. Определить, является ли файл * доступен для записи
- 12. Доступен ли файл Comscore.framwork для архитектуры armv7s?
- 13. Как узнать, открыт ли файл для записи
- 14. Доступен ли Solr для .Net?
- 15. C# проверить, доступен ли файл
- 16. Как проверить, доступен ли новый JSON-файл?
- 17. Как проверить, доступен ли zip-файл?
- 18. Как узнать, используется ли файл?
- 19. Как узнать, закодирован ли файл?
- 20. Как узнать, есть ли перечисление всех флагов
- 21. Как узнать, доступен ли адрес в ядре Linux или нет?
- 22. Как узнать, доступен ли класс/метод с помощью отражения?
- 23. Как узнать, был ли файл изменен?
- 24. Как проверить, доступен ли файл Windows для чтения/записи?
- 25. Как проверить, доступен ли файл blobstore для чтения
- 26. Как узнать, доступен ли просмотр внутри прокрутки полностью или нет
- 27. Как узнать, доступен ли конкретный пользователь Twitter или нет?
- 28. Как узнать, доступен ли запрос/ответ в Application_Error?
- 29. Как узнать, доступен ли конкретный класс JVM или нет?
- 30. Как узнать, когда доступен элемент «тело» DOM?
Не совсем правильная вещь в неясных случаях, когда «другие» могут читать, но «пользователь» или «группа» не могут. Кроме того, лучше использовать File :: Stat и Fcntl, чтобы избежать использования жестко закодированных чисел. – mscha
@mscha Согласитесь, что константы лучше, однако они ничего не говорят мне, пока я не посмотрю документы. В неясных случаях по-прежнему можно выполнить '$ mode & 0444 == 0444'. +1 для вашего примера. – bvr
полностью согласны с тем, что константы слишком загадочны. Однако я не знаю лучшего, правильного современного решения Perl. – mscha