मैं उस फ़ाइल को कैसे हटा सकता हूं जो वहां है लेकिन सिस्टम कहता है कि नहीं है?
मैं उस फ़ाइल को कैसे हटा सकता हूं जो वहां है लेकिन सिस्टम कहता है कि नहीं है?
जवाबों:
मुझे पता है कि यह पुराना है, लेकिन मुझे आपकी एक ही समस्या थी, केवल एक फ़ोल्डर के साथ, एक फ़ाइल के साथ नहीं। यहां सुझाई गई विधियों में से किसी ने भी काम नहीं किया।
मैं एक ही स्थिति में एक फ़ोल्डर बनाकर समस्या को हल करने में कामयाब रहा और उसी नाम के साथ जिसे मैं हटा नहीं सका। फ़ोल्डर को सही ढंग से बनाया गया था और यह गैर मौजूदा एक को "प्रतिस्थापित" कर दिया। फिर मैंने बस नया फ़ोल्डर निकाल दिया और समस्या दूर हो गई। इतना ही आसान।
मुझे भी यही समस्या थी। यह विभाजन की सूचकांक प्रविष्टियों में एक समस्या थी। यदि आपकी प्रणाली दोहरी बूट है या Windows XP या Windows 7 की लाइव सीडी डालें, और उसके बाद निम्न चरणों का पालन करके मैंने Windows को प्रारंभ कर दिया है:
cmd
राइट-क्लिक करें -> व्यवस्थापक के रूप में चलाएँ। chkdsk /f/x D:
(जहाँ D आपका ड्राइव अक्षर है)। 100% काम कर रहा है
चेतावनी: इन निर्देशों का उपयोग करने के लिए एक की आवश्यकता होगी
debugfs
। वे डेटा हानि का कारण बन सकते हैं।वे मूल समस्या के अनुरूप हैं और इस पृष्ठ पर किसी भी भविष्य के आगंतुकों के लिए सटीक हो भी सकते हैं और नहीं भी। कोई भी डेटा हानि अपूरणीय या यहां तक कि बढ़ सकती है
fsck
।
हो सकता है कि वह खो गया हो। कृपया ls -li
इनकोड संख्याओं की सूची प्राप्त करने के लिए दौड़ें , फिर आप संदर्भित इनकोड को डंप करने का प्रयास कर सकते हैं। उदाहरण के लिए, यदि आपका रूप ls -li
निम्नलिखित है:
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---
फिर पहले कॉलम के रूप में सूची में दर्शाया गया इनकोड संख्या 4980758 है।
फिर आप इनोड को डंप करने का प्रयास कर सकते हैं। कुछ भी करने से पहले पूरी पोस्ट जरूर पढ़ें ।
debugfs
रूट के रूप में शुरू करें :
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
और open /dev/sda1
अपने विभाजन के लिए सही ब्लॉक डिवाइस के साथ कमांड दें ।
फिर, इनोड को डंप करने की कमांड दें जिसका नंबर आपको पहले मिला था:
cat <4980758>
इनोड संख्या का उपयोग करना <
और >
उसके आसपास।
यदि यह कुछ यादृच्छिक पाठ पढ़ता है, तो टर्मिनल को बंद करें और इसे फिर से खोलें। debugfs
फिर से चलाएं और फिर से open
कमांड दें ।
अब, आप फ़ाइल को हटाने का प्रयास कर सकते हैं। इसके परिणामस्वरूप गंभीर फाइल सिस्टम भ्रष्टाचार हो सकता है।
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
ध्यान दें कि यह तब भी किया जा सकता है, जब यह पता चला हो कि फाइल में कभी भी कोई इनकोड नहीं था। ऊपर दिखाए गए क्रम में, एक समय में एक कमांड का प्रयास करें। डीबगफ़ेट्स से बाहर निकलें और जांचें कि क्या फ़ाइल मौजूद है। यदि नहीं, तो फिर से शुरू करें लेकिन अगले निर्देश का पालन करें।
debugfs
केवल ext2, ext3 और ext4 फाइलसिस्टम प्रकारों के लिए अभिप्रेत है।
हमें टर्मिनल दिखाओ .... एक करो ll | grep panorama
और हमें दिखाओ; इसे अपने प्रश्न में जोड़ें ...
मेरा सुझाव जड़ के रूप में करना हैrm -f panorama.jpg
।
आरएम के आदमी में मैंने यह पाया:
-f, --force
ignore nonexistent files, never prompt
पहले रूट के रूप में लॉग इन करें sudo -s
आप कोशिश कर सकते हैं rm -v <file>
और वर्बोज़ आउटपुट को देखने के लिए देख सकते हैं कि फ़ाइल को हटाने की कोशिश करते समय क्या हो रहा है। नीचे दिए गए आदेश के लिए विकल्पों की जाँच करें।
यदि वह विफल रहता है, तो आप बल विकल्प का उपयोग कर सकते हैं जैसे कि बाकी सभी ने कहा। आप एक पुनरावर्ती निष्कासन के लिए पूरी निर्देशिका को हटाने का प्रयास कर सकते हैं:rm -rfv **full directory address here**
SYNOPSIS
rm [OPTION]... FILE...
विवरण
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.
विकल्प
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.
आपके स्क्रीनशॉट्स को देखकर मुझे लगता है कि आपके पास समूह को रूट के रूप में सेट करना है। मैं chown का उपयोग करने की कोशिश करता हूं और देखता हूं कि क्या यह समस्या को ठीक करता है।
sudo chown -hR [username]:[username] /home/[username]
अपने उपयोगकर्ता नाम के साथ [उपयोगकर्ता नाम] बदलना।
आपको कुछ त्रुटियाँ मिलेंगी।
फ़ाइलनाम में गैर मुद्रण वर्ण ऐसी समस्याओं का कारण बन सकते हैं - एक स्थान की तरह। Rm के इंटरैक्टिव विकल्प की कोशिश करो, और कहते हैं 'वाई' फाइल करने के लिए आप हटाने के लिए "चाहते हैं
rm मैं" * पैन * "नोट * रों के उपयोग के किसी भी (यहां तक कि गैर printint) वर्णों का मिलान करने।
हो सकता है inode है हटा दिया गया है, लेकिन निर्देशिका प्रविष्टि नहीं। इनोड देखने के लिए ls -i का प्रयास करें। इस प्रकार की समस्या को ठीक करने के लिए फ़ाइल सिस्टम को fsck करें।
इस तरह आज़माएँ:
cd dir-to-delete
find ./ -exec rm -rf {} \;
मुझे क्रोम के तहत कस्टम वेब बेस EMR (इलेक्ट्रॉनिक मेडिकल रिकॉर्ड) द्वारा बनाई गई फ़ाइल के साथ एक ही समस्या थी। sudo touch /forcefsck
फिर से शुरू करने के बाद मेरे लिए काम किया और सुगंधित फ़ाइल को हटा दिया। निम्नलिखित पृष्ठों पर सहायता फ़ॉर्म लिया
लिनक्स टकसाल 18.3 मेरी गैर-मौजूद फ़ाइल ilfilename.pdf.crdownload¨ थी। इसने मेरे डेस्कटॉप पर एक पैकेज के रूप में दिखाया, यानी विंडोज में एक ज़िप फ़ाइल। इसके लिए मैंने राइट क्लिक, प्रॉपर्टीज, ओपन विथ, जिसमें शून्य ऐप्स दिखाए, इसलिए मैंने इसे rArchive Manager¨ के साथ ओपन में बदल दिया। तुरंत मेरे डेस्कटॉप से फ़ाइल गायब हो गई। केबी