Linux/UNIX sistemler dosya silmek için rm komutunu kullanırız. Bazen yanlışlıkla özel karakterler (?, * ^ vb.) kullanılarak dosya oluşturulur.
Dosya adında bu özel karakterler olan bir dosyayı silmek için aşağıdaki belirteceğim yöntemi kullanabilirsiniz.Bu yöntem,Solaris, FreeBSD, Linux, ve Unix sistemlerinde çalışdığını unutmayın.
Herhangi bir dosyanın Inode numarasını öğrenmek için;
1 2 3 4 5 |
stat {dosya-adi} veya ls -il {dosya-adi} |
Find komutunu kulanarak dosyayı bulup silmek için aşağıdaki kalıbı kullanabiliriz.
1 |
find . -inum [inode-no] -exec rm -i {} \; |
Özel karakter içeren dosyaları silmek için aşağıdaki örneği inceleyebilirsiniz. Dosyasının kaldırılmasını onaylamak için,onaylamanız istendiğinde, Y tuşuna basın
1 2 3 4 5 6 7 8 9 10 11 |
[root@unitednations ~]$cd /tmp/ [root@unitednations /tmp]$touch "\+Xy \+\8" [root@unitednations /tmp]$ls \+Xy \+\8 [root@unitednations /tmp]$rm \+Xy \+\8 rm: cannot remove `+Xy': No such file or directory rm: cannot remove `+8': No such file or directory [root@unitednations /tmp]$ls -il 76 -rw-r--r-- 1 root root 0 Apr 30 16:28 \+Xy \+\8 [root@unitednations /tmp]$find . -inum 76 -exec rm -i {} \; rm: remove regular empty file `./\\+Xy \\+\\8'? y |
So, what do you think ?