Sözdizimi
rm [-f | -i] [-dIRrvWx] dosya ...
unlink [--] dosya
Açıklama
rm yardımcı aracı, komut satırında belirtilen dizin dışı 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ış.-f: Dosya izinlerine bakılmaksızın kullanıcıdan onay istemeden dosyaları silmeye çalış. Dosya mevcut değilse, bir tanı mesajı görüntüleme veya çıkış durumunu bir hatayı yansıtacak şekilde değiştirme. -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 iste. -i seçeneği, önceki tüm -f seçeneklerini geçersiz kılar.-I: Üçten fazla dosya siliniyorsa veya bir dizin özyinelemeli (recursive) olarak siliniyorsa bir kez onay iste. Bu seçenek -i seçeneğine göre çok daha az rahatsız edicidir, buna rağmen hatalara karşı neredeyse aynı koruma düzeyini sağlar.-P: Bu bayrağın hiçbir etkisi yoktur. Yalnızca 4.4BSD-Lite2 ile geriye dönük uyumluluk için korunmaktadır.-R: Her dosya argümanını kök alan dosya hiyerarşisini silmeye çalış. -R seçeneği -d seçeneğini de içerir. Eğer -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 dizini kök alan dosya hiyerarşisi atlanır.-r: -R seçeneğine eşdeğerdir.-v: Dosyaları silerken ayrıntılı bilgi ver, silinen dosyaları göster.-W: Adı belirtilen dosyaların silinmesini geri almaya (undelete) çalış. Şu anda bu seçenek yalnızca bir union dosya sisteminde 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çme.
rm yardımcı aracı sembolik bağları (symbolic links) siler, bağlar tarafından başvurulan dosyaları değil.
/, . veya .. dosyalarını silmeye çalışmak bir hatadır.
Yardımcı araç unlink olarak çağrıldığında, dizin olmaması gereken yalnızca tek bir argüman sağlanabilir. Bu basit çalışma modunda hiçbir seçenek sağlanamaz; bu mod, iletilen argüman üzerinde bir unlink(2) işlemi gerçekleştirir. Bununla birlikte, olağan seçenek sonu sınırlayıcısı olan --, isteğe bağlı olarak argümandan önce gelebilir.
Çıkış Durumu
rm yardımcı aracı, adı 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 çıkar. Bir hata oluşursa, rm >0 değeriyle çıkar.
Notlar
rm komutu, argümanlarını ayrıştırmak için getopt(3) kullanır; bu da bayrak seçeneklerini işlemeyi o noktada durdurmasına neden olacak ‘--’ seçeneğini kabul etmesini sağlar. Bu, bir tire (‘-’) ile başlayan dosya adlarının silinmesine izin verecektir. Örneğin:
rm -- -dosyaadi
Aynı davranış, mutlak veya göreceli bir yol referansı kullanılarak da elde edilebilir. Örneğin:
rm /home/user/-dosyaadi rm ./-dosyaadi
Örnekler
foobar dizin hiyerarşisinde bulunan tüm dosyaları özyinelemeli olarak siler:
$ rm -rf foobar
Bu komutlardan herhangi biri -f dosyasını silecektir:
$ rm -- -f
$ rm ./-f
$ unlink -f
Uyumluluk
rm yardımcı aracı, geniş bir hata yelpazesini maskelemek yerine -f seçeneğinin yalnızca var olmayan dosyaları silme girişimlerini maskelemesi açısından geçmiş uygulamalardan farklıdır. -v seçeneği standart dışıdır ve betiklerde kullanılması önerilmez.
Ayrıca geçmiş BSD uygulamaları standart hata çıktısında değil, standart çıktıda bilgi isteminde bulunuyordu.
-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 standartlarına uygundur.
Basitleştirilmiş unlink komutu, Single UNIX Specification sürüm 2 (“SUSv2”) standartlarına uygundur.
Tarihçe
AT&T UNIX Sürüm 1'de bir rm komutu ortaya çıktı.
Hatalar
-P seçeneği, alttaki dosya sisteminin sabit bloklu (fixed-block) 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 November 10, 2018 macOS 26.4