Слайд 2ЦЕЛИ РАЗДЕЛА
По окончании этого раздела вы сможете:
определить доступность файла
определить
![ЦЕЛИ РАЗДЕЛА По окончании этого раздела вы сможете: определить доступность файла определить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-1.jpg)
состояние файла
изменить права доступа файла
изменить владельца файла
изменить время последнего доступа и изменения файла
Слайд 3access(2)
ИСПОЛЬЗОВАНИЕ
#include
int access (const char *path, int amode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех
![access(2) ИСПОЛЬЗОВАНИЕ #include int access (const char *path, int amode); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-2.jpg)
- 0
неуспех - -1 и errno установлена
Слайд 4Флаги access(2)
R_OK чтение
W_OK изменение
X_OK исполнение (поиск)
F_OK существование
![Флаги access(2) R_OK чтение W_OK изменение X_OK исполнение (поиск) F_OK существование](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-3.jpg)
Слайд 5ulimit(2)
ИСПОЛЬЗОВАНИЕ
#include
long ulimit (int cmd,.../* newlimit */);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех -
![ulimit(2) ИСПОЛЬЗОВАНИЕ #include long ulimit (int cmd,.../* newlimit */); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ успех](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-4.jpg)
неотрицательное число
неуспех - -1 и errno установлена
Слайд 6Команды ulimit(2)
UL_GETFSIZE Возвращает текущее ограничение процесса на размер файла.
UL_SETFSIZE Устанавливает ограничение
![Команды ulimit(2) UL_GETFSIZE Возвращает текущее ограничение процесса на размер файла. UL_SETFSIZE Устанавливает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-5.jpg)
на размер файла.
UL_GMEMLIM Возвращает максимально допустимое значение границы выделяемой памяти.
UL_GDESLIM Возвращает ограничение, устанавливаемое программно при конфигурации системы, на число файлов, которые процесс может открыть.
Слайд 7umask(2)
ИСПОЛЬЗОВАНИЕ
#include
#include
mode_t umask (mode_t cmask);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
предыдущее значение маски создания
![umask(2) ИСПОЛЬЗОВАНИЕ #include #include mode_t umask (mode_t cmask); ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ предыдущее значение маски создания файла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-6.jpg)
файла
Слайд 8stat(2)
ИСПОЛЬЗОВАНИЕ
#include
#include
int stat (const char *path,
struct stat
![stat(2) ИСПОЛЬЗОВАНИЕ #include #include int stat (const char *path, struct stat *buf);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-7.jpg)
*buf);
int lstat(const char *path,
struct stat *buf);
int fstat (int fildes, struct stat *buf);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена
Слайд 9struct 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;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-8.jpg)
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;
Слайд 10getpwent(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);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-9.jpg)
struct passwd *getpwnam (const char *name);
void setpwent (void);
void endpwent (void);
struct passwd *fgetpwent (FILE *f);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на структуру
неуспех - NULL-указатель
Слайд 11struct 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](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-10.jpg)
char *pw_age;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};
Слайд 12getgrent(3C)
ИСПОЛЬЗОВАНИЕ
#include
struct group *getgrent (void);
struct group *getgrgid (gid_t
![getgrent(3C) ИСПОЛЬЗОВАНИЕ #include struct group *getgrent (void); struct group *getgrgid (gid_t gid);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-11.jpg)
gid);
struct group *getgrnam (char *name);
void setgrent (void);
void endgrent (void);
struct group *fgetgrent (FILE *f);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на структуру
неуспех - NULL-указатель
Слайд 13chmod(2)
ИСПОЛЬЗОВАНИЕ
#include
#include
int chmod (const char *path,
mode_t
![chmod(2) ИСПОЛЬЗОВАНИЕ #include #include int chmod (const char *path, mode_t mode); int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-12.jpg)
mode);
int fchmod(int fildes, mode_t mode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена
Слайд 14chown(2)
ИСПОЛЬЗОВАНИЕ
#include
#include
int chown (const char *path, uid_t
![chown(2) ИСПОЛЬЗОВАНИЕ #include #include int chown (const char *path, uid_t owner, gid_t](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-13.jpg)
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 установлена
Слайд 15utime(2)
ИСПОЛЬЗОВАНИЕ
#include
#include
int utime (const char *path, const
![utime(2) ИСПОЛЬЗОВАНИЕ #include #include int utime (const char *path, const struct utimbuf](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-14.jpg)
struct utimbuf *times);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена
Слайд 16truncate(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](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-15.jpg)
off_t length);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - 0
неуспех - -1 и errno установлена
Слайд 17pathfind(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,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/410095/slide-16.jpg)
const char *mode);
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
успех - указатель на путь
неуспех - NULL