Что то давненько я про кодинг не писал.
Сегодня я приведу еще один пример на тему программирования в Linux.
На этот раз мы разберем такую вещь как получения информации о файле.
Для этих целей существует вызов Stat.
Он читает информацию о нужном файле.
Синтаксис таков:

stat(char *file,strict stat fbuf);

Возвращает -1 при ошибке.

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

------------------------------------------------------
#include [stdio.h]
#include [sys/stat.h]// необходимый заголовочный файл
int main(int ac,char *ag[])
{
struct stat buffer; // структура для хранения инфы
if(ac!=1) если кол во аргументов не 1 то
{
if(stat(ag[1],&buffer)!=-1) //если не произошла ошибка то
printf("uid: %d\n",buffer.st_uid); //вывод
else
printf("Не коректное имя файла\n"); // если ошибка
}
else
printf("Пожауйста введите необходимые аргументы\n");
}

---------------------------------------------------------------------------
Думаю все ясно.
Можно вывести более подробную информацию, вот некоторые поля структуры stat:

st_mode - тип, права доступа.
st_atime - время последнего доступа.
st_size - размер.
st_uid - юид юзера.
st_gid - идентификатор группы пользователей.

Кстати, если ввести команду ls -l то в списках можно увидеть как раз результат работы вызова stat.