Linux rm Komutu: Bilmeniz Gereken Her Şey

Yayınlanan: 2023-01-22
Bir bash istemi gösteren Linux dizüstü bilgisayar
fatmawati achmad zaenuri/Shutterstock.com
rm komutu, "rm dosyaadı" veya "rm -d dizini" adından geçen bir dosya veya dizini silmenizi sağlar. Bir dizin yolu da ekleyebilirsiniz. Dizinde dosyalar varsa, dosyaları ve klasörleri yinelemeli olarak silmek için -r seçeneğini "rm -r dizini" kullanın.

Linux rm komutu dosya ve dizinleri siler. Bu aracı güvenle kullanmak için, "Enter" tuşuna bastığınızda ne olacağından emin olmanız gerekir. İşte bilmeniz gerekenler.

İçindekiler

Linux'ta rm Komutu Nedir?
Rm İle Dosyaları Silme
Rm ile Joker Karakter Kullanma
rm'yi Etkileşimli Olarak Kullanma
rm Kuvvet Seçeneğini Kullanma
rm İle Dizin Silme
rm Kullanırken Hatalardan Kaçınmak
Hangi KKD?

Linux'ta rm Komutu Nedir?

Linux rm komutu öncelikle dosyaları silmek içindir. Çoğu insanın Linux kullanmaya başladıktan hemen sonra karşılaştığı bir durumdur. Sırf Linux'a yeni başlayan biri olmanız nedeniyle, hatalar yapmanız muhtemeldir. Yanlışlıkla, yanlış adla veya yanlış yere dosya oluşturacak veya kopyalayacaksınız. Hepsi komut satırının öğrenme eğrisinin bir parçası. Bu tür hatalar için temizleme işlemleri rm içerir.

Linux'ta Gerçekten Kaçınmanız Gereken 8 Yazım Hatası
İLGİLİ Linux'ta Gerçekten Kaçınmanız Gereken 8 Yazım Hatası

rm komutu dosyaları, dosya gruplarını, dizinleri veya tüm dizin ağaçlarını silebilir. Bu yüzden dikkatli kullanılmalıdır. rm kullanmak zor değildir, ancak başarısızlığın cezası yüksektir.

Bir dosya rm ile silindiğinde kaybolur. Çöp kutusuna taşınmaz. Hemen yok edilir. Bu, rm kullanmaktan kaçınmanız gerektiği anlamına gelmez. Ancak onu güvenli bir şekilde kullanmak için neler yapabileceğinin farkında olmanız ve doğru kullandığınızdan emin olmanız gerekir.

Bazı araçlar diğerlerinden daha tehlikelidir ve hataları çok daha az affeder. Bu yüzden The Texas Wrench Massacre diye bir film hiç yapılmadı. rm bir İngiliz anahtarı değil, kesinlikle bir motorlu testere.

İnsanlar her gün tüm gün motorlu testere kullanıyorlar ve sorumlu ve dikkatli bir şekilde kullandıkları sürece sorun yok. rm ile aynı anlaşma. Alet çantanızdan rm çıkardığınızda, yavaşlamalı ve komut satırınızı kontrol etmeli, ardından iki kez kontrol etmelisiniz.

rm komutu yürütülebilir bir komuttur, kabuğun bir parçası değildir. Dolayısıyla, burada Bash kullanıyor olsak da, bu standart Linux rm , özel bir Bash rm değildir.

İLİŞKİLİ: Komut Satırları: İnsanlar Neden Hala Onlarla Uğraşıyor?

Rm İle Dosyaları Silme

rm kullanmanın en basit yolu, silmek istediğiniz dosyanın adını vermektir.

 rm yapılandırma.gc 

Dosya adını rm'ye geçirerek tek bir dosyayı silme

Sessizce komut satırına geri döndünüz. rm klasik, ağzı sıkı Linux duruşunu benimser, hiçbir şeyden şikayet etmezse, istediğinizi yaptığını varsayabilirsiniz. Bunun gibi bir dosya adı sağlamak, rm dosyayı geçerli çalışma dizininde aramasına neden olur.

Komut satırında birden çok dosya adı sağlayabilirsiniz. Silmek istediğiniz bir dosya geçerli dizinde değilse, bir dizin yolu da sağlayabilirsiniz.

 rm memlog.sh /home/dave/dev-archive/config.gc 

Dosya adını ve dizin yolunu rm'ye geçirerek iki dosyayı silme

Yine, rm belirtilen dosyaları silmeyi başarırsa hiçbir şey bildirilmez.

İLGİLİ: Bilmeniz Gereken 37 Önemli Linux Komutu

Rm ile Joker Karakter Kullanma

Joker karakterler, komut satırında tek tek dosyaları listelemek zorunda kalmadan dosya gruplarını veya koleksiyonlarını belirtmenize olanak tanır.

Yıldız işareti " * ", hiçbiri dahil herhangi bir karakter dizisini temsil eder. Soru işareti “ ? ” herhangi bir tek karakteri temsil eder.

Joker karakterlerinizin beklediğinizle eşleşip eşleşmediğini kontrol etmek için, onları rm ile kullanmadan önce ls ile kullanabilirsiniz.

Geçerli dizindeki tüm PNG dosyalarını silmek için “*.png” kullanın. Bu, ".png" tarafından takip edilen herhangi bir karakter dizisinin eşleştirileceği anlamına gelir. Dosyalar silindiğinde, gittiklerini doğrulamak için ls kullanabiliriz.

 *.png
 rm *.png
 *.png 

PNG dosya uzantısına sahip tüm dosyaları silmek için yıldız joker karakterini kullanma

Test bilgisayarımızda, geçerli dizinde "config" ile başlayan adlara sahip iki dosyamız var.

Yıldız jokerini kullanarak bunların ikisini de silebiliriz. Her iki dosyayla da eşleşir, çünkü rm "config" ile başlayan ve ardından herhangi bir karakter dizisi gelen dosya adlarını arar. Bir dosyada, bu karakter dizisi, dosya adı uzantısı olan “.sl3” şeklindedir. Diğer dosya adında "config" den sonra karakter yoktur, ancak yıldız işareti herhangi bir karakterle eşleştiğinden veya hiç karakter içermediğinden , bu dosya adıyla da eşleşir.

 yapılandırma*
 rm yapılandırması*
 yapılandırma* 

Dosya uzantısı olan ve olmayan iki dosyayı silmek için yıldız joker karakterini kullanma

Soru işaretini çift olarak kullanabilirsiniz. Bu, tam olarak iki karakterlik dosya uzantılarına sahip dosyaları siler.

 *.??
 rm *.??
 *.?? 

Tam olarak iki karakterlik dosya uzantılarına sahip dosyaları silmek için iki soru işareti joker karakteri kullanma

İLGİLİ: Bash İçin Bilmeniz Gereken 15 Özel Karakter

rm'yi Etkileşimli Olarak Kullanma

rm kullanmanın güvenli bir yolu, her dosyayı silmeden önce onu onay istemeye zorlamaktır. -i (etkileşimli) seçeneği bunu yapmanızı sağlar. Bu seçeneği komut satırınıza eklediğinizde, rm her silme işleminden önce size istemde bulunarak, istemediğiniz eylemlerin üzerinden geçme şansı verir.

Bu komutta -i (etkileşimli) seçeneğini kullanacağız. Tek karakter dosya uzantısına sahip tüm dosyaları silmeye çalışır.

 rm -i *.? 

Her silme işleminden önce soracak şekilde rm'yi etkileşimli olarak kullanma

Eşleşen her dosya sırayla sunulur. “y” veya “Y” olarak yanıtlarsanız dosya silinir. “n” yanıtı verirseniz, dosya korunur. Aslında, "y" veya "y" dışında bir yanıt verirseniz dosya korunur. Sadece "Enter" tuşuna basabilirsiniz ve dosya korunur.

Kaldırmak istediklerinizi özenle seçmek için dosyaları silerek veya atlayarak dosya listenizde hızlı bir şekilde çalışabilirsiniz. Göreceğimiz gibi i- (etkileşimli) seçeneğini diğer rm seçenekleriyle birlikte kullanabilirsiniz.

İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar

rm Kuvvet Seçeneğini Kullanma

Salt okunur olan bir dosyayı silmeye çalışırsanız, rm dosyayı silmeden önce sizden onay ister. Bu iyi bir güvenlik ağıdır, ancak silinecek çok dosyanız varsa can sıkıcı hale gelebilir.

 rm geonames.sl3 

Kullanıcıdan salt okunur bir dosyayı silmek istediğini onaylamasını isteyen rm

-f (zorla) seçeneği, rm asla sormamasını söyler. "Evet, normalde benden isteyeceğin tüm dosyaları sil" diyorsunuz. Ayrıca rm var olmayan dosyalardan şikayet etmesini de engeller.

 rm -f coğrafi adlar.sl3 

-f (zorla) seçeneğini kullanarak rm'nin silme işlemleri hakkında soru sormasını engellemek için

-f (zorla) seçeneği, iç içe geçmiş bir dosya ve dizin grubunu silerken sıklıkla kullanılır.

rm İle Dizin Silme

rm komutu isteğe bağlı olarak dizinleri içerdikleri dosyalarla birlikte kaldırabilir. Bu, rmdir komutuna benzer, ancak rmdir , içinde dosya bulunan dizinleri silemez. Yalnızca boş dizinleri siler. rm komutu, dosyaları ve diğer dizinleri içeren dizinleri kolayca silebilir.

Linux Terminalindeki Dosyaları ve Dizinleri Silme
İLGİLİ Linux Terminalinde Dosya ve Dizinlerin Silinmesi

Bir dizini silmek, bir dosyayı silmeye benzer. Komut satırında dizinin adını veriyoruz. -d (dizin) seçeneğini eklememiz gerekiyor. Dosyaları silerken yaptığımız gibi, birkaç dizinin adını verebiliriz. Mevcut çalışma dizininde olmayan bir dizine yol sağlayabiliriz.

 rm -d eski projeler 

Bir dizini silmek için -d (dizin) seçeneğini kullanma

Dizin dosyalar içeriyorsa, bu başarısız olur.

Bir dizini ve içeriğini silmek için -r (yinelemeli) bayrağını kullanın. Bu, dizini, dosyalarını ve içerdiği tüm iç içe geçmiş dizinleri siler.

 rm -d arşivi
 rm -r arşivi 

Bir dizini ve dosyalarını silmek için -r (özyinelemeli) seçeneğini kullanma

İkinci komut başarılı olur.

rm tam elektrikli testere moduna geçirmek için -r (yinelemeli) ve -f (kuvvet) seçeneklerini birleştirebiliriz. Bu, rm bir dizin ağacındaki tüm dosyaları ve dizinleri, salt okunur olsalar bile ve bize sormadan yinelemeli olarak silmesini söyler.

Test bilgisayarımızda "geçirilen kod" adlı bir dizinimiz var. Dosyaları ve “6502” adlı başka bir dizini içerir. "6502" dizini ayrıca dosyaları ve "ASM" adlı başka bir dizini içerir. O dizinde de dosyalar var. Bazı dosyalar salt okunurdur.

rm ne yaptığını bize söylemesi için -v (ayrıntılı) komutunu da ekleyeceğiz.

 rm -rfv taşınan kod 

rm'nin dosyaları ve dizinleri, hatta salt okunur dosyaları bile sormadan kaldırmasına neden olmak için -rfv işaretlerini kullanma

Çıktıda dosyaların kaldırıldığını ve boş olduklarında dizinlerin de kaldırıldığını görebiliriz.

-rfv işaretlerinin çıktısı, silinen dosyaları ve boş olduklarında silinen dizinleri gösterir.

rm Kullanırken Hatalardan Kaçınmak

Dosya adlarındaki boşluklar ve diğer garip karakterler sorunlara yol açabilir. Örneğin kısa çizgi “ - ” ile başlayan dosya adları, komut satırı seçenekleriyle karıştırılabilir. “-contributors.txt” adlı bir dosyamız varsa, rm , adı bir dizi komut satırı seçeneği olarak işlemeye çalışır.

rm " -c " adında bir seçenek bulunmadığından, komut satırı çözümleme başarısız olur ve dosya silinmez. Dosyayı silmek için, dosyanın yolunu sağlamak üzere önüne “./” koymanız gerekir.

 rm -katkıda bulunanlar.txt
 rm ./-katkıda bulunanlar.txt 

İlk karakteri tire olan bir dosyayı silme sorununu çözmek için "./" kullanma

Dosya adlarındaki boşluklar da sorunludur. Ya dosya adının tamamını alıntılayın ya da sekme tamamlamayı kullanarak dosyanın adını sizin için komut satırına ekleyin ve bunu yaparken boşluklardan kaçının. Bu seçeneklerden herhangi birini kullanmazsanız, rm dosya adının her bir bölümünü ayrı bir dosya olarak ele alacaktır.

Linux'ta Dosya Adlarındaki Boşluklarla Nasıl Başa Çıkılır?
İLGİLİ Linux'ta Dosya Adlarındaki Boşluklarla Nasıl Başa Çıkılır?

Burada, biri “yedekleme” ve diğeri “silinecek yedekleme” olmak üzere iki dosyamız var. ls kullanarak bu dosya adlarındaki sorunu gösterebiliriz. “Silmek için yedekleme” dosyasında ls kullanmaya çalışırsak ve dosya adından kaçmaz veya alıntı yapmazsak, komut başarısız olur.

 silinecek ls -hl yedeği 

Adında boşluk bulunan bir dosyada dizeyi alıntılamadan veya boşluklardan kaçmadan ls kullanmaya çalışmak

ls , "to" veya "delete" adlı dosyaları bulamadığından şikayet ediyor, ancak "yedekleme" adlı bir dosya buluyor. rm de yapacağı şey bu. İki eksik dosyadan şikayet edecek ve daha sonra istediğimiz gibi olmayan "yedekleme" adlı dosyayı silecek.

 silmek için rm yedekleme 

Adında boşluk bulunan bir dosyada, dizeyi alıntılamadan veya boşluklardan kaçmadan rm kullanmaya çalışmak

rm , "yedekleme", "to" ve "delete" olmak üzere üç dosyayla çalıştığını düşünüyor. "Yapılacak" ve "sil"i bulamadığından şikayet eder, ancak "yedeklemeyi" bulur ve sessizce siler.

Dosya adından alıntı yapmak, rm doğru dosyayı silmesini sağlar.

 rm 'silmek için yedekle' 

Dosya adındaki boşluk sorununun üstesinden gelmek için alıntılanmış bir dosya adıyla rm kullanmak

Ayrıca ters eğik çizgi " \ " içeren boşluklardan şu şekilde kaçabilirsiniz:

 rm yedekleme\den\silme 

Dosya adındaki boşluk sorununun üstesinden gelmek için rm'yi bir dosya adında kaçış boşlukları ile kullanmak

Dosya adlarınızı girmek için sekme tamamlamayı kullanırsanız, gerekirse bunlar otomatik olarak çıkarılacaktır.

Hangi KKD?

Gerçek dünyadaki motorlu testerelerin aksine, rm ile kullanabileceğiniz hiçbir kişisel koruyucu ekipman yoktur.

Yapabileceğiniz şey, rm ile denemeden önce sözdiziminizi ls ile kontrol etmek ve neyin silineceğine karar vermek için etkileşimli modu kullanmaktır.

Bunun dışında kendinizi rahat ve güvende hissedene kadar pratik yapın. Bunu yapmanın en güvenli yolu, bir dizi kurban dosyasını bir dizine kopyalamak ve bunlar üzerinde pratik yapmaktır.

İLGİLİ: Linux'ta x Günden Eski Dosyaları Silin