Fatmawati Achmad Zaenuri/Shutterstock.com
rm ve
rmdir komutları Linux, macOS ve diğer Unix benzeri işletim sistemlerinde dosya ve dizinleri siler. Windows ve DOS'ta
del ve
deltree komutlarına benziyorlar. Bu komutlar çok güçlü ve oldukça az seçenek var.
rm ve
rmdir kullanılarak silinen dosyaların ve dizinlerin Çöp Kutusu'na taşınmadığına dikkat etmek önemlidir. Bilgisayarınızdan hemen kaldırılırlar. Bu komutları kullanarak dosyaları yanlışlıkla silerseniz, onları geri yükleyebilmenizin tek yolu bir yedektir.
Rm ile dosyaları nasıl kaldırılır
En basit durum, geçerli dizindeki tek bir dosyayı silmektir.
rm komutunu, bir boşluğu ve ardından silmek istediğiniz dosyanın adını yazın.
rm file_1.txt
Dosya geçerli çalışma dizininde değilse, dosyanın konumuna bir yol girin.
rm ./path/to/the/file/file_1.txt
Sen birden fazla dosya adı geçebilir
rm . Bunu yapmak belirtilen dosyaların tümünü siler.
rm file_2.txt file_3.txt
Joker karakterler, silinecek dosya gruplarını seçmek için kullanılabilir.
* , Birden çok karakteri temsil eder ve
? tek bir karakteri temsil eder. Bu komut mevcut çalışma dizinindeki tüm png resim dosyalarını siler.
rm *.png
Bu komut, tek bir karakter uzantısına sahip tüm dosyaları siler. Örneğin bu, File.1 ve File.2'yi siler ancak File.12'yi silmez.
rm *.?
Bir dosya yazmaya karşı korumalı ise, dosya silinmeden önce size sorulur.
y veya
n ile cevap vermeli ve “Enter” tuşuna basmalısınız.
Joker karakterlerle
rm kullanma riskini azaltmak için
-i (interaktif) seçeneğini kullanın. Bu, her bir dosyanın silinmesini onaylamanızı gerektirir.
rm -i *.dat
-f (force) seçeneği etkileşimin tam tersidir. Dosyalar yazmaya karşı korumalı olsa bile onay ister.
rm -f filename
Rm ile Dizinler Nasıl Kaldırılır
Boş bir dizini kaldırmak için
-d (dizin) seçeneğini kullanın. Dosya adlarında olduğu gibi dizin adlarında joker karakterleri (
* ve
? ) Kullanabilirsiniz.
rm -d directory
Birden fazla dizin adı sağlanması belirtilen boş dizinlerin tümünü siler.
rm -d directory1 directory2 /path/to/directory3
Boş olmayan dizinleri silmek için
-r (özyinelemeli) seçeneğini kullanın. Açık olmak gerekirse, bu dizinleri ve içindeki tüm dosyaları ve alt dizinleri kaldırır.
rm -r directory1 directory2 directory3
Bir dizin veya dosya yazmaya karşı korumalı ise, silme işlemini onaylamanız istenir. Boş olmayan dizinleri silmek ve bu istemleri bastırmak için
-r (özyinelemeli) ve
-f (zorla) seçeneklerini birlikte kullanın.
rm -rf directory
Burada bakım gereklidir.
rm -rf komutuyla hata yapmak veri kaybına veya sistemin bozulmasına neden olabilir. Tehlikelidir ve dikkat en iyi politikadır. Dizin yapısını ve
rm -rf komutu ile silinecek dosyaları anlamak için
tree komutunu kullanın.
Ubuntu veya başka bir Debian tabanlı dağıtım kullanıyorsanız, bu paketi sisteminize kurmak için
apt-get kullanın. Diğer Linux dağıtımlarında bunun yerine Linux dağıtımınızın paket yönetimi aracını kullanın.
sudo apt-get install tree
tree komutunu çalıştırmak, dizin yapısının ve çalıştırıldığı dizinin altındaki dosyaların anlaşılması kolay bir diyagram oluşturur.
tree
Ayrıca,
tree komutunu, dosya sisteminde başka bir dizinden ağacı başlatmasını sağlamak için bir yol da sağlayabilirsiniz.
tree path/to/directory
rm komutu ayrıca
--one-file-system, --no-preserve-root, --preserve-root seçeneklerine de sahiptir, ancak bunlar sadece ileri düzey kullanıcılar için önerilir. Yanlış bir şey yaparsanız, tüm sistem dosyalarınızı yanlışlıkla silebilirsiniz. Daha fazla bilgi için komutun kılavuz sayfasına bakın.
Rmdir ile Dizinler Nasıl Kaldırılır
Dizinleri silmek için kullanabileceğiniz
rmdir adında başka bir komut var. Arasındaki fark
rm ve
rmdir olmasıdır
rmdir sadece boş dizinleri silebilirsiniz. Dosyaları asla silmez.
En basit durum tek bir boş dizini silmektir. Olduğu gibi
rm , sen birden dizin adları iletebilirsiniz
rmdir veya bir dizine bir yolu.
Geçerli dizindeki tek bir dizini, adını
rmdir ileterek silin:
rmdir directory
rmdir isim listesi ileterek birden fazla dizin silin:
rmdir directory1 directory2 directory3
Geçerli dizinde bulunmayan bir dizini, o dizinin tam yolunu belirleyerek silin:
rmdir /path/to/directory
Boş olmayan bir klasörü silmeye çalışırsanız,
rmdir size bir hata mesajı verecektir. Aşağıdaki örnekte,
rmdir başarıyla ve sessizce,
clients dizinini siler, ancak dosyalar içerdiğinden
projects dizinini silmeyi reddeder.
projects dizini aynen olduğu gibi bırakılır ve içindeki dosyalara dokunulmaz.
rmdir “Dizin boş değil” hatası verdiğinde, komut satırında kendisine iletilen dizinleri işlemeyi durdurur. Dört dizini silmesini istediyseniz ve birincisinin içinde dosya varsa,
rmdir size hata mesajını verir ve daha fazlasını yapmaz. Diğer dizinlerin işlenmesi için
--ignore-fail-on-non-empty seçeneğiyle bu hataları yoksaymaya zorlayabilirsiniz.
Aşağıdaki örnekte, iki klasör
rmdir geçirilmiştir, bunlar
work/reports ve
work/quotes .
--ignore-fail-on-non-empty seçeneği
--ignore-fail-on-non-empty komutta dahil edilmiştir.
work/reports klasörünün içinde dosyalar vardır, bu nedenle
rmdir silinemez.
--ignore-fail-on-non-empty seçeneği,
rmdir hatayı yok saymaya zorlar ve
work/quotes olan işlemesi gereken bir sonraki klasöre geçer. Bu boş bir klasör ve
rmdir onu siler.
Kullanılan komut buydu.
rmdir –ignore-fail-on-non-empty work/reports /work/quotes
Bir dizini silmek ve onun üst dizinlerini de silmek için
-p (parent) seçeneğini kullanabilirsiniz. Bu numara işe yarıyor, çünkü
rmdir hedef dizinle başlıyor ve sonra üst
rmdir geri adım atıyor. Bu dizinin şimdi boş olması gerekir, bu nedenle
rmdir tarafından silinebilir ve işlem
rmdir için sağlanan yolu geri adım adım tekrar eder.
Aşağıdaki örnekte
rmdir iletilen komut şudur:
rmdir -p work/invoices
Hem
invoices hem de
work rehberleri istendiği gibi silinir.
Bash veya başka bir kabuk kullanıyor olsanız da, Linux, dizinleri ve dosyaları doğrudan terminal komut satırından silmeniz için esnek ve güçlü komutlar sağlar. Bazı insanlar terminal etrafında dönen bir iş akışına sahip olmayı tercih eder. Başkalarının bu konuda bir seçeneği olmayabilir. GUI yüklü olmayan sunucular üzerinde veya Raspberry Pi gibi başsız bir sistemde uzaktaki bir oturumda çalışıyor olabilirler. Bu komutlar o insan grubu için mükemmeldir.
Ancak ne tür bir iş akışı tercih ederseniz edin, bu komutlar kabuk komut dosyalarına dahil olma konusunda kendilerini çok iyi ödünç verir. Bir komut dosyası bir
cron işi tarafından tetiklenirse, istenmeyen günlük dosyalarını temizleme gibi rutin temizlik işlerini otomatikleştirmeye yardımcı olabilir. Bu kullanım durumunu araştırırsanız, bu komutların gücünü hatırlayın, her şeyi dikkatli bir şekilde test edin ve daima yeni bir yedekleme yapın.