remove

Section: C Library Functions (3)
Updated: 2026-02-08
Index JM Home Page roff page
 

名前

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

ライブラリ

標準 C ライブラリ (libc,~-lc)  

書式

#include <stdio.h>

int remove(const char *path);
 

説明

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

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

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

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

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

返り値

On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error.  

エラー

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

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース属性値
remove() Thread safetyMT-Safe
 

標準規格

C11, POSIX.1-2008.  

歴史

POSIX.1-2001, C89, 4.3BSD.  

バグ

NFS プロトコルに内在する問題により、まだ使用中のファイルが想定外に消えてしまうことがありえる。  

関連項目

rm(1), unlink(1), link(2), mknod(2), open(2), rename(2), rmdir(2), unlink(2), mkfifo(3), symlink(7)


 

Index

名前
ライブラリ
書式
説明
返り値
エラー
属性
標準規格
歴史
バグ
関連項目

This document was created by man2html, using the manual pages.