XIV. Oylum - Dosya Sistemi Arayüzü
Bir dosyayı unlink veya remove ile silebilirsiniz.
Silme işleminde aslında sadece dosyanın ismi silinir. Eğer dosya sadece isimden ibaretse dosyanın kendisi de silinmiş olur. Eğer dosyanın başka isimleri de varsa onlar bu isimler altında hala erişilebilir olur (bkz. Sabit Bağlar).
(const char *dosyaismi)
unlink işlevi dosyaismi ile belirtilen dosya ismini siler. Eğer dosya sadece isimden ibaretse dosyanın kendisi de silinir. (Aslında, eğer herhangi bir süreç dosyayı açmışsa silme işlemi süreçler dosyayı kapatıncaya kadar ertelenir.)
unlink işlevi unistd.h başlık dosyasında bildirilmiştir.
İşlev başarılı olduğunda 0, aksi takdirde -1 ile döner. Dosya ismi hatalarına ek olarak aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
Silinecek dosyanın bulunduğu dizinde yazma izniniz yok ya da dizinde yapışkan bit var ve dosya size ait değil.
Bu hata dosyanın sistem tarafından kullanıldığından silinemeyeceğini belirtir. Örneğin, dosya ismi kök dizini ya da bir dosya sisteminin bağlı olduğu dizini belirtiyorsa bu hata oluşur.
Silinmek istenen dosya mevcut değil.
Bazı sistemlerde unlink bir dizini silmek için kullanılamaz ya da en azından sadece ayrıcalıklı kullanıcı bunu yapabilir. Böyle sorunlarla karşılaşmamak için dizinleri silerken rmdir kullanın. (GNU sisteminde unlink kesinlikle bir dizin ismini silemez.)
Silinecek dosya bir salt-okunur bağlı dosya sisteminde ve bu değiştirilemez.
rmdir işlevi bir dizini siler. Silinecek dizin boş olmalıdır; başka bir deyişle, sadece . ve .. girdilerini içermelidir.
Birçok bakımdan, rmdir işlevi unlink gibi davranır. Bu işlev için iki hata durumu daha tanımlanmıştır:
Silinecek dizin boş değil.
Bu iki hata kodu bir diğerinin eşanlamlısıdır, bazı sistemlerde biri, bazılarında öbürü kullanılır. GNU sisteminde daima ENOTEMPTY kullanılır.
rmdir işlevi unistd.h başlık dosyasında bildirilmiştir.
Bu bir dosyayı silmek için kullanılan bir ISO C işlevidir. Dosyalarla unlink gibi, dizinlerle rmdir gibi çalışır. remove işlevi stdio.h başlık dosyasında bildirilmiştir.
Sembolik Bağlar Başlangıç Dosya İsimlerinin Değiştirilmesi