УПРАВЛЕНИЕ ФАЙЛАМИ

Содержание

Слайд 2

ЦЕЛИ РАЗДЕЛА

По окончании этого раздела вы сможете:
определить доступность файла
определить

ЦЕЛИ РАЗДЕЛА По окончании этого раздела вы сможете: определить доступность файла определить
состояние файла
изменить права доступа файла
изменить владельца файла
изменить время последнего доступа и изменения файла

Слайд 3

access(2)

ИСПОЛЬЗОВАНИЕ
#include
int access (const char *path, int amode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех

access(2) ИСПОЛЬЗОВАНИЕ #include int access (const char *path, int amode); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
- 0
неуспех - -1 и errno установлена

Слайд 4

Флаги access(2)

R_OK чтение
W_OK изменение
X_OK исполнение (поиск)
F_OK существование

Флаги access(2) R_OK чтение W_OK изменение X_OK исполнение (поиск) F_OK существование

Слайд 5

ulimit(2)

ИСПОЛЬЗОВАНИЕ
#include
long ulimit (int cmd,.../* newlimit */);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех -

ulimit(2) ИСПОЛЬЗОВАНИЕ #include long ulimit (int cmd,.../* newlimit */); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех
неотрицательное число
неуспех - -1 и errno установлена

Слайд 6

Команды ulimit(2)

UL_GETFSIZE Возвращает текущее ограничение процесса на размер файла.
UL_SETFSIZE Устанавливает ограничение

Команды ulimit(2) UL_GETFSIZE Возвращает текущее ограничение процесса на размер файла. UL_SETFSIZE Устанавливает
на размер файла.
UL_GMEMLIM Возвращает максимально допустимое значение границы выделяемой памяти.
UL_GDESLIM Возвращает ограничение, устанавливаемое программно при конфигурации системы, на число файлов, которые процесс может открыть.

Слайд 7

umask(2)

ИСПОЛЬЗОВАНИЕ
#include
#include
mode_t umask (mode_t cmask);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
предыдущее значение маски создания

umask(2) ИСПОЛЬЗОВАНИЕ #include #include mode_t umask (mode_t cmask); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ предыдущее значение маски создания файла
файла

Слайд 8

stat(2)

ИСПОЛЬЗОВАНИЕ
#include
#include
int stat (const char *path, struct stat

stat(2) ИСПОЛЬЗОВАНИЕ #include #include int stat (const char *path, struct stat *buf);
*buf);
int lstat(const char *path, struct stat *buf);
int fstat (int fildes, struct stat *buf);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена

Слайд 9

struct stat

sys/stat.h:
struct stat {
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t

struct stat sys/stat.h: struct stat { dev_t st_dev; ino_t st_ino; mode_t st_mode;
st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
timestruc_t st_atim, st_mtim, st_ctim; };
#define st_atime st_atim.tv_sec;
#define st_mtime st_mtim.tv_sec;

Слайд 10

getpwent(3C)

ИСПОЛЬЗОВАНИЕ
#include
struct passwd *getpwent (void);
struct passwd *getpwuid (uid_t uid);

getpwent(3C) ИСПОЛЬЗОВАНИЕ #include struct passwd *getpwent (void); struct passwd *getpwuid (uid_t uid);

struct passwd *getpwnam (const char *name);
void setpwent (void);
void endpwent (void);
struct passwd *fgetpwent (FILE *f);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на структуру
неуспех - NULL-указатель

Слайд 11

struct passwd

struct passwd {
char *pw_name;
char *pw_passwd;
uid_t pw_uid;
gid_t pw_gid;

struct passwd struct passwd { char *pw_name; char *pw_passwd; uid_t pw_uid; gid_t

char *pw_age;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};

Слайд 12

getgrent(3C)

ИСПОЛЬЗОВАНИЕ
#include
struct group *getgrent (void);
struct group *getgrgid (gid_t

getgrent(3C) ИСПОЛЬЗОВАНИЕ #include struct group *getgrent (void); struct group *getgrgid (gid_t gid);
gid);
struct group *getgrnam (char *name);
void setgrent (void);
void endgrent (void);
struct group *fgetgrent (FILE *f);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на структуру
неуспех - NULL-указатель

Слайд 13

chmod(2)

ИСПОЛЬЗОВАНИЕ
#include
#include
int chmod (const char *path, mode_t

chmod(2) ИСПОЛЬЗОВАНИЕ #include #include int chmod (const char *path, mode_t mode); int
mode);
int fchmod(int fildes, mode_t mode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена

Слайд 14

chown(2)

ИСПОЛЬЗОВАНИЕ
#include
#include
int chown (const char *path, uid_t

chown(2) ИСПОЛЬЗОВАНИЕ #include #include int chown (const char *path, uid_t owner, gid_t
owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
int fchown(int fildes, uid_t owner, gid_t group);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена

Слайд 15

utime(2)

ИСПОЛЬЗОВАНИЕ
#include
#include
int utime (const char *path, const

utime(2) ИСПОЛЬЗОВАНИЕ #include #include int utime (const char *path, const struct utimbuf
struct utimbuf *times);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена

Слайд 16

truncate(3C)

ИСПОЛЬЗОВАНИЕ
#include
int truncate(char *path, off_t length);
int ftruncate(int fildes,

truncate(3C) ИСПОЛЬЗОВАНИЕ #include int truncate(char *path, off_t length); int ftruncate(int fildes, off_t
off_t length);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена

Слайд 17

pathfind(3G)

ИСПОЛЬЗОВАНИЕ
gcc -lgen
#include
char *pathfind(const char *path, const char *name,

pathfind(3G) ИСПОЛЬЗОВАНИЕ gcc -lgen #include char *pathfind(const char *path, const char *name,
const char *mode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на путь
неуспех - NULL