Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
remove - ファイルやディレクトリを削除する
書式
#include <stdio.h> int remove(const char *pathname);
説明
remove() はファイルシステムからファイル名を削除する。 ファイルに対しては unlink(2) を、ディレクトリに対しては rmdir(2) を呼び出す。 もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイルを 開いていない なら、ファイルも削除する。ファイルの占めていた 領域は他で使うことができるようになる。 名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開いているな ら、ファイルの最後のファイルディスクリプター (file descriptor) が閉じられるまでファイルは 存在し続ける。 名前が指しているのがシンボリックリンクなら、そのリンクを削除する。 名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 そのソケットなど を開いているプロセスはそのまま使い続けることができる。
返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。
エラー
発生するエラーは unlink(2) および rmdir(2) と同じものである。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │remove() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
バグ
NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしまうことがありえ る。
関連項目
rm(1), unlink(1), link(2), mknod(2), open(2), rename(2), rmdir(2), unlink(2), mkfifo(3), symlink(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。