Linux rm Komutu: Bilmeniz Gereken Her Şey
Yayınlanan: 2023-01-22 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.
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.
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
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
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
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*
Soru işaretini çift olarak kullanabilirsiniz. Bu, tam olarak iki karakterlik dosya uzantılarına sahip dosyaları siler.
*.??
rm *.??
*.??
İ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 *.?
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.
Linux Komutları | ||
Dosyalar | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · journalctl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · dizeler · tür · yeniden adlandırma · zip · unzip · mount · umount · kur · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştür · rclone · parçala · srm · scp · gzip · chattr · kes · bul · umask · wc | |
Süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu iş · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · zaman aşımı · duvar · evet · öldürmek · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · halt · kapatma · parola · lscpu · crontab · tarih · bg · fg · pidof · nohup · pmap | |
ağ oluşturma | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw · arping · güvenlik duvarı |
İ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
-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ğ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.
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
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
İ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
Çıktıda dosyaların kaldırıldığını ve boş olduklarında dizinlerin de kaldırıldığını görebiliriz.
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
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.
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
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
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'
Ayrıca ters eğik çizgi " \
" içeren boşluklardan şu şekilde kaçabilirsiniz:
rm yedekleme\den\silme
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