← man/files
rm — man rm — 80×24
ugur@toprak:~/man/files$man rm
Bölüm 1 Dosyalar

rm

dizin girdilerini silme (kaldırma)

Ö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