Terminal üzerinden Linux'ta dosya nasıl silinir

Kerem Aydın·8 Temmuz 2026·⏱3 dk

Terminalde bir dosyayı silmek için rm kullanın: rm dosya_adi. Dizinler için — rmdir (boş olanlar) veya rm -r. Yalnızca dosyaya değil, dizine ait izinleri de dikkate alın ve zorlayıcı komutları çalıştırmadan önce güvenli seçenekleri (rm -i, trash-cli, /tmp içine mv) tercih edin.

Temel rm komutları ve örnekler

rm, dosyaları çöp kutusuna taşımadan siler. Sık kullanılan seçenekler:

  • rm dosya.txt — dosyayı sil.
  • rm -i dosya.txt — silmeden önce onay iste.
  • rm -v dosya.txt — silinen dosyaları göster.
  • rm -r dizin — dizini ve içeriğini özyinelemeli olarak sil.
  • rm -rf dizin — özyinelemeli ve zorlayıcı (soru sormadan) — tehlikeli.
  • rmdir bos_dizin — yalnızca boş dizini sil.

Örnekler:

rm document.txt
rm -i *.log            # her birinden önce onaylayın
rm -r project_folder
rm -rf old_backups     # TEHLİKELİ: yolu kontrol edin

sudo rm -rf / veya benzeri komutları ne yaptığınızı tam anlamadan asla çalıştırmayın: sistemi tamamen bozabilirsiniz.

Erişim izinleri ve silmeyi gerçekten etkileyen şeyler

Silme işlemi sırasında dosyanın kendisine değil, içinde bulunduğu dizinin izinleri önemlidir:

  • Bir dosyayı silebilmek için üst dizinde yazma (w) izniniz ve erişim için çalıştırma (x) izniniz olmalıdır.
  • Dosya izinleri (rw-) içeriğin değiştirilmesini etkiler, ancak dosyanın dizinden silinip silinemeyeceğini belirlemez. Kontrol ve düzeltme:
ls -l file.txt            # dosya izinleri ve sahibi
ls -ld .                  # geçerli dizinin izinleri
sudo chown $USER file.txt # gerekirse sahibini değiştir
chmod u+w file.txt        # sahibine yazma izni ekle (nadiren gerekir)

İzniniz yoksa sudo kullanabilirsiniz, ancak bunu dikkatli uygulayın — özellikle sistem dizinleri için.

rm için güvenli alternatifler

  • Onay almak için takma ad (alias) kullanın: ~/.bashrc dosyasına şunu ekleyin
alias rm='rm -i'
  • Silmek yerine /tmp içine taşıyın: mv dosya.txt /tmp/ — hızlıca geri alınabilir.
  • trash-cli (Debian/Ubuntu'da: sudo apt install trash-cli) dosyaları çöp kutusuna gönderir, buradan geri yüklenebilirler: trash-put dosya.txt ve trash-restore.
  • Toplu işlemler için önce dry-run yapın (örneğin ls desen veya test dizini), ardından silme işlemini gerçekleştirin.

Betiklere --preserve-root ekleyin ve kök dizinin silinme riskini azaltmak için değişkenlerde mutlak yollar kullanmaktan kaçının.

Sık yapılan hatalar

  • rm dosya*.txt beklenenden daha fazla dosyayı sildi — tırnak işaretleri veya kaçış karakterleri kullanın: rm "dosya*.txt" veya rm dosya*.txt.
  • rm .* gizli dosyaları anlamadan silmeye çalışmak — . ve .. öğelerine dokunabilir; rm .* kullanmayın.
  • Alışkanlıkla sudo kullanmak — sistem dosyalarının silinme riskini artırır.
  • İçeriği görüntülemeden doğrudan rm -rf kullanmak — önce her zaman ls, sonra rm.

SSS

  • Silinen bir dosya nasıl geri yüklenir? trash-cli kullandıysanız — trash-restore. Doğrudan silindiyse — geri yükleme yedeklere veya özel yardımcı programlara (testdisk/photorec) bağlıdır, ancak başarı garantili değildir.
  • Silme işlemi için dosyanın kendisine ait izinler gerekli mi? Hayır: dizin izinleri (w ve x) önemlidir. Dosya izinleri içeriğin değiştirilmesini etkiler, ancak dizinden silinmeyi etkilemez.
  • Tüm kullanıcı için bir "çöp kutusu" oluşturulabilir mi? Evet: trash-cli kullanın veya dosyaları ~/Trash içine taşıyan ve zamanlanmış olarak temizleyen bir betik yapılandırın.

Emin değilseniz — önce bir kopya oluşturun ve komutu ayrı bir klasörde test edin. Bu, verilerinizi ve zamanınızı kurtaracaktır.