Проверки файлов

Пожалуй, нижеприведённые команды используются в bash-скриптах чаще всего. Они позволяют проверять различные условия, касающиеся файлов. Вот список этих команд.

-d file Проверяет, существует ли файл, и является ли он директорией.

-e file Проверяет, существует ли файл.

-f file Проверяет, существует ли файл, и является ли он файлом.

-r file Проверяет, существует ли файл, и доступен ли он для чтения.

-s file Проверяет, существует ли файл, и не является ли он пустым.

-w file Проверяет, существует ли файл, и доступен ли он для записи.

-x file Проверяет, существует ли файл, и является ли он исполняемым.

file1 -nt file2 Проверяет, новее ли file1, чем file2.

file1 -ot file2 Проверяет, старше ли file1, чем file2.

-O file Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.

-G file Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.

Эти команды, как впрочем, и многие другие рассмотренные сегодня, несложно запомнить. Их имена, являясь сокращениями от различных слов, прямо указывают на выполняемые ими проверки.

Опробуем одну из команд на практике:

#!/bin/bash

mydir=/home/likegeeks

if [ -d $mydir ]

then

echo "The $mydir directory exists"

cd $ mydir

ls

else

echo "The $mydir directory does not exist"

fi

Этот скрипт, для существующей директории, выведет её содержимое.

Вывод содержимого директории

Полагаем, с остальными командами вы сможете поэкспериментировать самостоятельно, все они применяются по тому же принципу.