7.2. Операции проверки файлов

7.2. Операции проверки файлов

Возвращает true если...

-e

файл существует

-f

обычный файл (не каталог и не файл устройства)

-s

ненулевой размер файла

-d

файл является каталогом

-b

файл является блочным устройством (floppy, cdrom и т.п.)

-c

файл является символьным устройством (клавиатура, модем, звуковая карта и т.п.)

-p

файл является каналом

-h

файл является символической ссылкой

-L

файл является символической ссылкой

-S

файл является сокетом

-t

файл (дескриптор) связан с терминальным устройством

Этот ключ может использоваться для проверки -- является ли файл стандартным устройством ввода stdin ([ -t 0 ]) или стандартным устройством вывода stdout ([ -t 1 ]).

-r

файл доступен для чтения (пользователю, запустившему сценарий)

-w

файл доступен для записи (пользователю, запустившему сценарий)

-x

файл доступен для исполнения (пользователю, запустившему сценарий)

-g

set-group-id (sgid) флаг для файла или каталога установлен

Если для каталога установлен флаг sgid, то файлы, создаваемые в таком каталоге, наследуют идентификатор группы каталога, который может не совпадать с идентификатором группы, к которой принадлежит пользователь, создавший файл. Это может быть полезно для каталогов, в которых хранятся файлы, общедоступные для группы пользователей.

-u

set-user-id (suid) флаг для файла установлен

Установленный флаг suid приводит к изменению привилегий запущенного процесса на привилегии владельца исполняемого файла. Исполняемые файлы, владельцем которых является root, с установленным флагом set-user-id запускаются с привилегиями root, даже если их запускает обычный пользователь[ 16 ]. Это может оказаться полезным для некоторых программ (таких как pppd и cdrecord), которые осуществляют доступ к аппаратной части компьютера. В случае отсутствия флага suid, программы не смогут быть запущены рядовым пользователем, не обладающим привилегиями root.

-rwsr-xr-t 1 root 178236 Oct 2 2000 /usr/sbin/pppd

Файл с установленным флагом suid отображается с включенным флагом s в поле прав доступа.

-k

флаг sticky bit (бит фиксации) установлен

Общеизвестно, что флаг "sticky bit" -- это специальный тип прав доступа к файлам. Программы с установленным флагом "sticky bit" остаются в системном кэше после своего завершения, обеспечивая тем самым более быстрый запуск программы[ 17 ]. Если флаг установлен для каталога, то это приводит к ограничению прав на запись. Установленный флаг "sticky bit" отображается в виде символа t в поле прав доступа.

drwxrwxrwt 7 root 1024 May 19 21:26 tmp/

Если пользователь не является владельцем каталога, с установленным "sticky bit", но имеет право на запись в каталог, то он может удалять только те файлы в каталоге, владельцем которых он является. Это предотвращает удаление и перезапись "чужих" файлов в общедоступных каталогах, таких как /tmp.

-O

вы являетесь владельцем файла

-G

вы принадлежите к той же группе, что и файл

-N

файл был модифицирован с момента последнего чтения

f1 -nt f2

файл f1 более новый, чем f2

f1 -ot f2

файл f1 более старый, чем f2

f1 -ef f2

файлы f1 и f2 являются "жесткими" ссылками на один и тот же файл

!

"НЕ" -- логическое отрицание (инверсия) результатов всех вышеприведенных проверок (возвращается true если условие отсутствует).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.3.1 Проверки

Из книги C++ автора Хилл Мюррей

3.3.1 Проверки Проверка значения может осуществляться или оператором if, или оператором switch:if ( выражение ) оператор if ( выражение ) оператор else оператор switch ( выражение ) операторВ С++ нет отдельного булевского типа. Операции сравнения== != « „= “ »=возвращают целое 1, если


Непрерывность проверки кода

Из книги Парное программирование: преимущества и недостатки автора Коуберн Алистэр

Непрерывность проверки кода Уже двадцать лет тому назад было установлено, что визуальная проверка кода - это эффективный, с точки зрения стоимости, метод исправления дефектов в программных продуктах. Это подтверждают и эмпирическими исследованиями, однако несмотря на


17.5.4. Проверки

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

17.5.4. Проверки Документация, поставляемая вместе с ядром, советует после завершения конфигурации выполнить два действия: 1. Заглянуть в файл Makefile, чтобы вручную поправить некоторые значения. 2. Дать команду make dep для установки зависимостей.Конечно, для ручной правки файла


Утилиты для проверки почты

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

Утилиты для проверки почты Каждый раз запускать для проверки писем почтовый клиент, даже если он все делает сам, несколько неудобно. Тяжелые приложения забирают системные ресурсы, которые никогда не бывают лишними. На помощь приходят специальные утилиты для проверки


Универсальные утилиты проверки почты

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Универсальные утилиты проверки почты Утилита проверки почты KDE Korn является частью модуля KDE pim (http://pim.kde.org/). Умеет проверять наличие информации по протоколам mbox, pop3, imap4, qmail, kmail, nntp и некоторым другим, поддерживает основные методы аутентификации. В репозитарии Ubuntu, как и во


Отмена проверки соответствия правилам BP 1.1

Из книги Adobe InDesign CS3 автора Завгородний Владимир

Отмена проверки соответствия правилам BP 1.1 Чтобы полностью отключить проверку соответствия BP 1.1 для Web-сервиса XML, определите в соответствующем файле Web.соnfig элемент‹conformanceWarnings›. ‹configuration›  ‹webServices›   ‹conformanceWarnings›    ‹remove name="BasicProfile1_1" /›  


Настройки проверки орфографии

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

Настройки проверки орфографии Adobe InDesign не только содержит в себе текстовый редактор, но и постоянно использует его механизмы проверки орфографии. Особо следует отметить, что даже в нелокализованных версиях можно воспользоваться словарями и механизмами проверки


Процедура проверки валидности пути

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Процедура проверки валидности пути После построения пути сертификации необходимо проверить его валидность. Проверка валидности пути заключается в верификации всех цифровых подписей на сертификатах, составляющих путь сертификации, определении периода действия


Интернет-сервисы и бесплатные утилиты для проверки файлов на вирусы

Из книги MySQL 5.0. Библиотека программиста автора Гольцман Виктор Иосифович

Интернет-сервисы и бесплатные утилиты для проверки файлов на вирусы Несмотря на все старания производителей антивирусов, создатели вредоносных программ обычно опережают их как минимум на один шаг. И как бы вы не доверяли производителю своего антивирусного пакета,


3.1. Операторы и функции проверки условий

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

3.1. Операторы и функции проверки условий В этом разделе вы узнаете об операторах, которые предназначены для создания условий отбора, а именно: об операторах, выполняющих сравнение двух или нескольких величин, и о логических операторах, позволяющих создавать


Выполнение проверки базы данных

Из книги Linux программирование в примерах автора Роббинс Арнольд

Выполнение проверки базы данных Пров базы данных требует исключительного доступа к базе данных. Без исключительного доступа вы получите сообщение об ошибке:OBJECT имя-базы-данных IS IN OSEДля проверки базы данных просто введите команду:gfix -vПроверка будет молча отыскивать и


Выполнение проверки

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Выполнение проверки В первую очередь используются переключатели -v[alidate] и -f[ull] утилиты gfix для проверки структур записей и страниц. Процесс проверки сообщает о разрушенных структурах и освобождает неназначенные фрагменты записей или "осиротевших страниц" (т. е. страниц,


4.4.4. Неблокирующие проверки исключающих семафоров

Из книги автора

4.4.4. Неблокирующие проверки исключающих семафоров Иногда нужно, не заблокировав программу, проверить, захвачен ли исключающий семафор. Для потока не всегда приемлемо находиться в режиме пассивного ожидания, ведь за это время можно сделать много полезного! Функция


Лаборатория проверки оборудования

Из книги автора

Лаборатория проверки оборудования В лаборатории собрано много нетбуков и других устройств, на которых можно регулировать сетевые настройки (для проводного и беспроводного соединений), управлять питанием и т.д. Это инфраструктура для тестирования отдельных сервисов