Linux rm komutu: rm -rf seçenekleri ve onay almadan silme

rm komutuyla silinen dosyalar çöp kutusuna gitmeden hemen silinir. rm, remove sözcüğünün kısaltmasıdır ve dosya ile dizinleri siler; bu yazıda temel kullanımı, seçenekleri ve [rm -rf /] çalıştırılsa bile kök dizinin neden kaldığını derledik.
AlmaLinux 9.8'de root hesabında varsayılan olarak [alias rm='rm -i'] bulunur, bu yüzden silmeden önce onay sorulur. Bu ayarın olmadığı Linux sistemleri için takma adı kendiniz ekleme yöntemini de ele aldık.
✅ Temel kullanım
Temel söz dizimi şöyledir.
rm -seçenekler hedef: Dosya veya dizin
Dosya yalnızca adı yazılınca silinir; dizin ise ancak -r seçeneği eklenince silinir.
# dosya silme
rm file1
# birden fazla dosya silme
rm file1 file2
# dizini ve içeriğini silme
rm -r dir1/
# boş dizini silme
rm -d dir1/~]# rm dir1/
rm: cannot remove 'dir1/': Is a directorySeçeneksiz bir dizin belirtirseniz yukarıdaki gibi silinmez.
Sembolik bağlantıyı silerseniz yalnızca bağlantı silinir, gösterdiği dosya yerinde kalır. Silmeden önce ve sonra kontrol için ls komutunu da birlikte kullanın.
✅ rm -rf: Onay almadan silme
rm komutu çalıştırılınca [remove regular file] sorulur, çünkü root hesabında rm [rm -i] takma adıyla çalışır.
~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'Dizini -r seçeneğiyle silince her dizine girerken ve her dosya için onay sorulur; dosya sayısı arttıkça zahmetli olur.
~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? yBu durumda -f seçeneğini ekleyin; onay almadan siler ve dosya olmasa bile hata vermez.
rm -rf logs/Komutun önüne ters eğik çizgi [\] koyarak takma adı atlamak ya da her soruya y girilmesi için önüne [yes |] koymak da aynı sonucu verir.
\rm -r logs/
yes | rm -r logs/✅ rm komutu seçenekleri & simülatör
| Seçenek | Açıklama | |
|---|---|---|
| -f | --forceOnay almadan siler, olmayan dosyalar için hata vermez | |
| -i | Her silmeden önce kullanıcıdan onay isteralias rm='rm -i' | |
| -I(büyük i) | Dört veya daha fazla dosyada ya da -r ile birlikte yalnızca bir kez sorar | |
| -r, -R | --recursiveDizini alt dizinleri ve dosyalarıyla birlikte siler | |
| -d | --dirBoş dizini siler | |
| -v | --verboseSilinen her dosya ve dizini ayrı satırda yazdırır | |
| --preserve-root | Kök dizini (/) silmez (varsayılan) | |
| --no-preserve-root | Kök dizin (/) korumasını kapatır |
✅ rm -rf /: Kök dizini koruma
Hosting işlerinde bazen silinmemesi gereken dosyalar silinir. Çoğu yedekten geri yüklenebilir, ama kök dizin silinince anlık görüntü olsa bile kurtarmak zahmetlidir. Yanlış çalıştırılan rm -rf komutunun geri alınamadığı vakaları birkaç kez duydum.
rm komutunda [--preserve-root] seçeneği varsayılan olarak uygulandığından [rm -rf /] çalıştırılsa bile kök dizin silinmez.
~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafeAncak [rm -rf /*] engellenmez. Kabuk [/*] ifadesini /bin, /etc, /home gibi dizin adlarına çevirip aktardığından rm komutu [/] yerine bu dizinlerin her birini siler.
AlmaLinux 9.8 kurulunca [/root/.bashrc] içinde rm, cp ve mv komutlarının -i takma adları aşağıdaki gibi bulunur. Normal kullanıcı hesaplarında bu takma adlar yoktur.
~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'Takma adın olmadığı bir hesapta ya da Linux sisteminde [~/.bashrc] dosyasının en altına bir satır ekleyip yeniden yükleyin.
# ~/.bashrc dosyasının en altına ekle
alias rm='rm -i'
# yeniden yükle
source ~/.bashrc
ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.