Özet
rm [-f | -i] [-dIRrvWx] dosya ...
unlink [--] dosya
Açıklama
rm yardımcı programı, komut satırında belirtilen dizin dışındaki türdeki dosyaları silmeye çalışır. Dosyanın izinleri yazmaya izin vermiyorsa ve standart girdi aygıtı bir terminal ise, kullanıcıdan (standart hata çıktısı üzerinde) onay istenir.
Seçenekler aşağıdaki gibidir:
-d: Diğer dosya türlerinin yanı sıra dizinleri de silmeye çalışır.-f: Dosya izinlerine bakılmaksızın, kullanıcıya onay sormadan dosyaları silmeye çalışır. Dosya mevcut değilse, bir tanılama mesajı görüntülemez veya çıkış durumunu bir hatayı yansıtacak şekilde değiştirmez. -f seçeneği, önceki tüm -i seçeneklerini geçersiz kılar.-i: Dosya izinlerine veya standart girdi aygıtının bir terminal olup olmadığına bakılmaksızın, her dosyayı silmeye çalışmadan önce onay ister. -i seçeneği, önceki tüm -f seçeneklerini geçersiz kılar.-I: Üçten fazla dosya siliniyorsa veya bir dizin yinelemeli (recursive) olarak siliniyorsa bir kez onay ister. Bu, -i seçeneğine göre çok daha az rahatsız edici bir seçenektir, ancak hatalara karşı neredeyse aynı düzeyde koruma sağlar.-P: Bu bayrağın hiçbir etkisi yoktur. Yalnızca 4.4BSD-Lite2 ile geriye dönük uyumluluk için korunmuştur.-R: Her dosya bağımsız değişkeninde köklenen dosya hiyerarşisini silmeye çalışır. -R seçeneği, -d seçeneğini de kapsar. -i seçeneği belirtilmişse, her dizinin içeriği işlenmeden önce (ve dizini silme girişiminde bulunulmadan önce) kullanıcıdan onay istenir. Kullanıcı olumlu yanıt vermezse, o dizinde köklenen dosya hiyerarşisi atlanır.-r: -R seçeneğine eşdeğerdir.-v: Dosyaları silerken ayrıntılı bilgi verir, silinen dosyaları gösterir.-W: Adı geçen dosyaları geri getirmeye (silinmesini geri almaya) çalışır. Şu anda bu seçenek yalnızca bir birleşik dosya sisteminde (union file system) whiteout'lar tarafından kapsanan dosyaları kurtarmak için kullanılabilir (bkz. undelete(2)).-x: Bir hiyerarşiyi silerken, bağlama noktalarını (mount points) geçmez.
rm yardımcı programı sembolik bağları (symbolic links) siler, bağların başvurduğu dosyaları değil.
/, . veya .. dosyalarını silmeye çalışmak bir hatadır.
Yardımcı program unlink olarak çağrıldığında, yalnızca bir bağımsız değişken sağlanabilir ve bu bir dizin olmamalıdır. Geçirilen bağımsız değişken üzerinde bir unlink(2) işlemi gerçekleştiren bu basit çalışma modunda hiçbir seçenek sunulamaz. Ancak, olağan seçenek sonu sınırlayıcısı olan --, isteğe bağlı olarak bağımsız değişkenden önce gelebilir.
Çıkış Durumu
rm yardımcı programı, belirtilen tüm dosyalar veya dosya hiyerarşileri silindiyse ya da -f seçeneği belirtilip mevcut tüm dosyalar veya dosya hiyerarşileri silindiyse 0 değeriyle çıkış yapar. Bir hata oluşursa, rm >0 bir değerle çıkış yapar.
Notlar
rm komutu, bağımsız değişkenlerini ayrıştırmak için getopt(3) kullanır, bu da o noktada bayrak seçeneklerini işlemeyi durdurmasını sağlayan ‘--’ seçeneğini kabul etmesine olanak tanır. Bu, tire işareti (‘-’) ile başlayan dosya adlarının silinmesini sağlar. Örneğin:
rm -- -dosyaadi
Aynı davranış mutlak veya göreli bir yol başvurusu kullanılarak da elde edilebilir. Örneğin:
rm /home/user/-dosyaadi rm ./-dosyaadi
Örnekler
foobar dizin hiyerarşisinde bulunan tüm dosyaları yinelemeli olarak silme:
$ rm -rf foobar
Bu komutlardan herhangi biri -f dosyasını silecektir:
$ rm -- -f
$ rm ./-f
$ unlink -f
Uyumluluk
rm yardımcı programı, çok çeşitli hataları maskelemek yerine -f seçeneğinin yalnızca var olmayan dosyaları silme girişimlerini maskelemesi yönüyle geçmiş uygulamalardan ayrılır. -v seçeneği standart dışıdır ve betiklerde kullanılması önerilmez.
Ayrıca, geçmişteki BSD uygulamaları standart hata çıktısında değil, standart çıktıda onay istiyordu.
-P seçeneğinin FreeBSD 13 itibarıyla hiçbir etkisi yoktur ve gelecekte kaldırılabilir.
Ayrıca Bakınız
chflags(1), rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)
Standartlar
rm komutu standartlarla uyumludur.
Basitleştirilmiş unlink komutu Single UNIX Specification Sürüm 2 (“SUSv2”) ile uyumludur.
Tarihçe
rm komutu ilk olarak Version 1 AT&T UNIX sürümünde ortaya çıkmıştır.
Hatalar
-P seçeneği, alttaki dosya sisteminin sabit bloklu bir dosya sistemi olduğunu varsayar. Ek olarak, yalnızca normal dosyaların üzerine yazılır, diğer dosya türlerinin üzerine yazılmaz.
macOS 26.4 Kasım 10, 2018 macOS 26.4