#unix
Есть чтение (4), запись (2) и исполнение (1). Что значит исполнение? Объясните простыми словами и примером.
Ответы
Ответ 1
для файла это означает, что его можно выполнить, обратившись к нему: либо по имени, поместив его в один из каталогов, перечисленных в переменной окружения PATH (или дополнив значение этой переменной путём к текущему местоположению этого файла) либо указав полный путь к файлу понятно, что выполнить файл можно, только если он: либо является скриптом и в первой строке у него указан корректный «shebang» либо является программой (скомпилированной под набор инструкций вашего процессора) и операционной системе «известно», как его загрузить в память и в какую точку передать управление для каталога это означает, что можно прочитать не только имена файлов/каталогов, находящихся внутри данного каталога, но и их атрибуты (принадлежность, права доступа, время создания/модификации). пример: создаём тестовый каталог, в нём создаём файл и ещё один каталог: $ mkdir test $ touch test/file $ mkdir test/dir сейчас мы видим атрибуты содержимого каталога test: $ ls -l test total 4 drwxr-xr-x 2 user user 4096 Apr 1 23:39 dir -rw-r--r-- 1 user user 0 Apr 1 23:38 file а если уберём бит исполнимости с каталога test: $ chmod -x test то увидим только имена содержащихся в нём файлов/каталогов: $ ls -l test ls: cannot access test/dir: Permission denied ls: cannot access test/file: Permission denied total 0 d????????? ? ? ? ? ? dir -????????? ? ? ? ? ? file и не сможем «заглянуть глубже», например, посмотреть содержимое каталога test/dir: $ ls -l test/dir ls: cannot access test/dir: Permission denied
Комментариев нет:
Отправить комментарий