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.
Son Yorumlar