トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

C ファイルとディレクトリ



目次



記事一覧

キーワード

C ファイルとディレクトリ

[Programming C]
標準libraryとsystem callを使えば、fileとdirectoryの作成、保守に必要なすべての作業を行うことができる。

 chmod

#include <sys/stat.h>
int chmod(const char *path, mode_t mode);

  • path で指定された permission を mode に変更する。
  • openと同様必要なpermissionの論理和を指定。

 chown

#include <unistd.h>
int chown(const char *path, uid_t owner, gid_t group);

super userは、chown system call を使って、file の owner を変更することができる。

 unlink、link、symlink

#include <unistd.h>
int unlink(const char *path);
int link(const char *path1, const char *path2);
int symlink(const char *path1, const char *path2);

  • unlink system call は指定された file のdirectory entry を削除し、file の link count を decrement する。
  • 成功すると、0を返し、失敗すると -1 を返す。
  • link count が 0になり、どの process も file を open していなければ、file は削除される。
  • fileへ新しいlinkを作成するには、link system call を使う。
  • symbolic link は symlink を使って作成。

 mkdir、rmdir

#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);

  • directory を作成する mkdir system call は mkdir program に相当する。
  • permission は、parameter mode で指定する。
  • openと同様必要なpermissionの論理和を指定。

#include <unistd.h>
int rmdir(const char *path);

  • rmdir system call は directory を削除。

 chdir、getcwd

#include <unistd.h>
int chdir(const char *path);
  • directoryを移動

#include <unistd.h>
char *getcwd(char *buf, size_t size);
  • 現在のdirectory 名をbufに書き込む。
  • directory名が、sizeを超える場合、NULLを返す。


この本からの覚書。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.