Переменные среды BASH

Неустойчивая в bash может представлять собой число, символ или строку символов. Имя переменной сможет начинаться с буквы или с символа подчеркивания и не может содержать дефис.Физически, переменные воображают собой именованные участки памяти, в которые может быть записана какая-либо данные. Необходимо понимать различия между именем переменной и ее значением. Если var1 — это имя неустойчивой, то $var1 — это ссылка на ее значение.

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

-e

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

-f

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

-s

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

-d

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

-b

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

-c

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

-p

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

-h

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

-L

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

-S

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

Читайте также:  Squid настройка

-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.

Читайте также:  Полное руководство по установке Ubuntu Server 20.04 для начинающих и опытных пользователей

-rwsr-xr-t 1 root 179336 Oct 1 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.

Читайте также:  Как установить Zorin OS пошаговое руководство для начинающих

-O

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

-G

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

-N

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

f1 -nt f2

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

f1 -ot f2

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

f1 -ef f2

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