Rm'nin arkasındaki fikir varsayılan olarak yazılamayan dosyayı kaldırmıyor mu?


13

Rm'nin arkasındaki fikir varsayılan olarak yazılamayan dosyayı kaldırmıyor mu? Geçerli kullanıcı için yazılabilir olmayan bir dosyayı kaldırmak istediğinizde, ancak dizinde yazma izniniz olduğunda bu uyarıyı alın ve silme işlemini onaylamak için `y 'tuşuna basmanız gerekir:

rm: remove write-protected regular file 

Yazılabilir olmayan dosyalara neden bu kadar özel bir şekilde muamele edildiğini merak ediyorum? Aklıma gelen bir şey, bu tür dosyalar genellikle şifreli şifre gibi kullanıcı gizli verileri içeren kullanıcı yapılandırma dosyaları olmasıdır, bu yüzden rm onları silmeden önce uyarır. Şimdi, asıl sebep nedir?

Yanıtlar:


16

Çünkü UNIX'in davranışı bu durumda biraz sezgiseldir. Birçok kişi bir dosyayı salt okunur olarak işaretlediklerinde ve birisi onu silebildiğinde oldukça şaşırırlar. Bir dosyayı silmek için yalnızca içerilen dizine yazma iznine ihtiyacınız vardır. rmsize salt okunur olmanın onu korumasını umuyorsanız, size nezaket olarak soruyor.

-f(Force) kullanmak , sizi rahatsız etmeden yapmasını sağlayacaktır. Ama bunu dikkatli kullan.


"rm -rf *" yazarken dikkatli olun, düşünün.
ChuckCottrill

4
Bir arkadaşım buna "Hızlı Posta Oku" der. :)
kurtm

0

Yazmak için ayarlanmış çünkü istemi doğru olduğunu düşünüyorum. Yazılabilir olmayan dosyayı kaldırıyorsanız, aslında o dosyaya yazıyorsunuz demektir. Eğer istenmek istemiyorsanız, her zaman bir takma ad oluşturabilirsiniz, rm aslında rm -f der.


Cevabını doğru bulduğumu sanmıyorum. Neden rm ilk başta böyle bir uyarı yayınlar merak ediyorum, neden salt okunur dosyaları yazılabilir dosyalardan farklı olarak ele alınır. Bu uyarının ne zaman gösterildiğini biliyorum, nedenini merak ediyorum.
user1042840

Çünkü bir şeyi sadece okunacak şekilde ayarlarsanız değiştirilmemesi gerekir. Bu kaldırılmayı da içerir. Kök iseniz ve yine de salt okunur dosyayı kaldırmasını söylerseniz, bir hata yapmadığınızı onaylamak istersiniz. Seçiminizi yeniden düşünmenize neden olur.
Jeight

1
@Jeight Bu aslında doğru değil. Sen edilir değil silerken dosyaya yazma. İçeren dizine yazıyorsunuz.
kurtm

@kurtm Haklısın. Bu bir yazım hatasıydı, ancak temel mantık aynı.
Jeight
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.