Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

       remove - ファイルやディレクトリを削除する

書式

       #include <stdio.h>

       int remove(const char *pathname);

説明

       remove()  はファイルシステムからファイル名を削除する。 ファイルに対しては unlink(2)  を、ディレクトリに対
       しては rmdir(2)  を呼び出す。

       もしその名前が ファイルへの最後のリンクで、かつ、どのプロセスもそのファイルを  開いていないなら、ファイル
       も削除する。ファイルの占めていた 領域は他で使うことができるようになる。

       名前がファイルへの最後のリンクであっても、どこかのプロセスが そのファイルを開いているなら、ファイルの最後
       のファイル記述子 (file descriptor) が閉じられるまでファイルは存在し続ける。

       名前が指しているのがシンボリックリンクなら、そのリンクを削除する。

       名前が指しているのがソケット、FIFO、デバイスの場合、名前は削除されるが、 そのソケットなどを開いているプロ
       セスはそのまま使い続けることができる。

返り値

       成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

       発生するエラーは unlink(2)  および rmdir(2)  と同じものである。

属性

   マルチスレッディング (pthreads(7) 参照)
       関数 remove() はスレッドセーフである。

準拠

       C89, C99, 4.3BSD, POSIX.1-2001.

注意

       libc4  と  libc5  においては、 remove()  は unlink(2)  の別名であった (従ってディレクトリを削除できなかっ
       た)。

バグ

       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 プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。