Orada bulunan bir dosyayı nasıl silebilirim, ancak sistem orada olmadığını söylüyor?
Orada bulunan bir dosyayı nasıl silebilirim, ancak sistem orada olmadığını söylüyor?
Yanıtlar:
Bunun eski olduğunu biliyorum, ama seninle aynı problemi yaşadım, sadece bir klasörle, bir dosyayla değil. Burada önerilen yöntemlerin hiçbiri işe yaramadı.
Sorunu, aynı konumda ve silemediğim klasörle aynı adda bir klasör oluşturarak çözmeyi başardım. Klasör doğru bir şekilde oluşturuldu ve varolmayan klasörü "değiştirdi". Sonra yeni klasörü kaldırdım ve sorun ortadan kalktı. Bu kadar basit.
Ben de aynı problemi yaşadım. Bölümün dizin girişlerinde bir sorundu. Sisteminiz çift önyükleme yapıyorsa veya Windows XP veya Windows 7'nin canlı CD'sini yerleştirdiyseniz Windows'u başlatarak çözdüm ve aşağıdaki adımları uygulayın:
cmd
sağ tıklayın -> Yönetici olarak çalıştır. chkdsk /f/x D:
(burada D, sürücü harfinizdir). % 100 çalışma
Uyarı: Bu talimatların kullanılması gerekir
debugfs
. Bunlar veri kaybına neden olabilir.Orijinal probleme uyarlanırlar ve bu sayfadaki gelecekteki ziyaretçiler için doğru olabilir veya olmayabilir. Herhangi bir veri kaybı onarılamaz hatta ağırlaştırılabilir
fsck
.
Kayıp bir inode olabilir. Lütfen ls -li
inode numaralarının bir listesini almak için çalıştırın , sonra referans verilen inode dökümü deneyebilirsiniz. Örneğin ls -li
, aşağıdaki gibi görünüyorsa:
rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg
---SNIP---
sonra inode numarası ilk sütun olarak listede gösterildiği gibi 4980758'dir.
Daha sonra inode dökümü deneyebilirsiniz. Lütfen bir şey yapmadan önce yayının tamamını okuyun .
debugfs
Kök olarak başla :
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
ve open /dev/sda1
bölümünüz için doğru blok cihazıyla komutu verin .
Ardından, numarasını daha önce aldığınız inode'yu boşaltmak için komut verin:
cat <4980758>
kullanarak <
ve >
inode numarası etrafında.
Bazı rastgele metinler okuyorsa, terminali kapatın ve tekrar açın. debugfs
Tekrar çalıştırın ve open
komutu tekrar verin .
Şimdi dosyayı silmeyi deneyebilirsiniz. Bu, ciddi dosya sistemi bozulmasına neden olabilir.
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
Dosyada hiç bir inode bulunmamış olsa bile bunun yapılabileceğini unutmayın. Komutları yukarıda gösterilen sırayla birer birer deneyin. Hata ayıklamalardan çıkın ve dosyanın var olup olmadığını kontrol edin. Değilse, tekrar başlayın ancak bir sonraki talimatı izleyin.
debugfs
yalnızca ext2, ext3 ve ext4 dosya sistemi türleri için tasarlanmıştır.
İlk önce root olarak giriş yap sudo -s
rm -v <file>
Yapmayı deneyebilir ve dosyayı kaldırmaya çalışırken neler olup bittiğini görmek için ayrıntılı çıktıya bakabilirsiniz. Aşağıdaki komut için seçeneklere göz atın.
Bu başarısız olursa, kuvvet seçeneğini herkesin söylediği gibi kullanabilirsiniz. Yinelenen bir kaldırma işlemini zorlayarak tüm dizini kaldırmayı da deneyebilirsiniz:rm -rfv **full directory address here**
Gönderen UNIX Komut Rehberi:
ÖZET
rm [OPTION]... FILE...
AÇIKLAMA
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
SEÇENEKLER
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
Ekran görüntülerinize bakıldığında grubun root olarak ayarlandığını görüyorum. Chown kullanmayı dener ve sorunu çözüp çözmediğini görürüm.
sudo chown -hR [username]:[username] /home/[username]
[Username] yerine kullanıcı adınızı yazın.
Birkaç hata alırsınız.
Dosya adlarında yazdırılmayan karakterler boşluk gibi bu tür sorunlara neden olabilir. Rm etkileşimli seçeneğini deneyin ve "silmek istediğiniz dosyaya 'Y' demek
rm-i '* pan *' karakteri herhangi biri (hatta olmayan baskı özellikleriyle) eşleşecek * lar kullanımına dikkat edin.
İnode sahip olabilir kaldırıldı, ancak dizin girişi değil .. ls -i inodes görmek için deneyin. fsck dosya sistemi bu tür bir sorunu çözmek için.
Bu şekilde deneyin:
cd dir-to-delete
find ./ -exec rm -rf {} \;
Krom altında özel web tabanlı EMR (elektronik tıbbi kayıt) tarafından oluşturulan dosyayla aynı sorun yaşadım. sudo touch /forcefsck
ardından yeniden başlatma benim için çalıştı ve aromatik olarak silinmiş dosya. Sonraki sayfalarda yardım formu alındı
Linux Mint 18.3 Varolmayan dosyam ¨filename.pdf.crdownload¨ oldu Masaüstümde bir paket olarak göründü, yani Windows'ta bir zip dosyası konuşuyor. Bunun için sıfır uygulama gösteren Properties, Open ile Özellikler'e sağ tıkladım, bu yüzden ¨Archive Manager¨ ile Aç olarak değiştirdim. Dosya hemen masaüstümden kayboldu. kb