चूँकि वर्ण संभावित अंतर्राष्ट्रीय वर्ण हैं, वे आपके en_US वर्ण सेट में नियंत्रण कोड के रूप में दिखाई दे रहे हैं, यही कारण है कि ls उन्हें प्रश्न चिह्न के रूप में दिखा रहा है।
यह आपके वितरण के वैश्विक प्रोफ़ाइल में डिफ़ॉल्ट रूप से अलियासिंग ls की पसंद के कारण हो सकता है। उदाहरण के लिए:
alias ls='ls -q'
आप देख सकते हैं कि आपके वितरण ने आपके शेल में टाइप करके क्या किया है:
alias ls
जो निम्नलिखित की तरह कुछ प्रिंट करेगा:
$ alias ls
alias ls='ls --color=auto'
नीचे दिए गए पृष्ठ से पता चलता है कि यदि आप "ls -b" करते हैं, तो आपको ऑक्टल कंट्रोल कोड दिखाई देंगे, ताकि आप कम से कम यह जान सकें कि कौन से अक्षर उपयोग में हैं।
http://www.arsc.edu/arsc/support/howtos/nonprintingchars/
यह मानते हुए कि आपके पास एक और विकल्प नहीं है, वहां भी नीचे की ओर उल्लेख किया गया है:
एक उपकरण जिससे मैं अब तक अनजान था, जिसे ऑकलडंप कहा जाता था (डेबियन पर - / usr / bin / od)
$ ls | od -b
आपको नियंत्रण कोड का अष्टाधारी रूप दिखाएगा।
$ ls | od -c
आपको किसी भी छिपे हुए अतिरिक्त व्हाट्सएप सहित वर्ण दिखाएंगे जो अंत में हो सकते हैं (उनके उदाहरण में अंत में अतिरिक्त रिक्त स्थान पर ध्यान दें)
एक बार जब आपको पता चल जाता है कि नियंत्रण वर्ण क्या हैं और क्या अतिरिक्त छिपा हुआ व्हाट्सएप है, तो आप नियंत्रण वर्णों से बचकर निर्देशिका में सीडी का रास्ता तैयार कर सकते हैं। ऐसा करने में, आपके पास निर्देशिका का नाम बदलने के लिए कुछ विकल्प हैं।
उपरोक्त पृष्ठ भी, सुविधाजनक रूप से, एमवी कमांड के माध्यम से नियंत्रण वर्णों को हटाने के लिए एक त्वरित और गंदा तरीका है, जो मुझे लगता है कि काम करेगा, इसलिए जब तक आप अंतरिक्ष से बचते हैं, लेकिन प्रश्न चिह्न से बच नहीं सकते (इस प्रकार उन्हें एकल चरित्र बनाते हैं। वाइल्डकार्ड्स), और इतने लंबे समय तक और कुछ भी उस निर्देशिका में मौजूद नहीं है जहां यह दुष्ट निर्देशिका है। इन स्पष्ट आवश्यकताओं का कारण यह है कि आप केवल वाइल्डकार्ड वर्णों और एकल स्थान का उपयोग कर रहे हैं, और इसलिए आप नहीं चाहते कि वाइल्डकार्ड अनजाने में किसी अन्य फ़ाइल या निर्देशिका से मेल खाए।
यदि उपरोक्त विधि काम नहीं करती है, तो आप अन्य प्रतिक्रियाओं द्वारा उल्लिखित खोज विधि का उपयोग लगभग अलग तरीके से कर सकते हैं। इनडोड संख्या का उपयोग करके निर्देशिका में सीडी की कोशिश करने के बजाय, जो आपने कहा है कि आपने कोशिश की है, आप इनोड संख्या का उपयोग करके इसका नाम बदल सकते हैं। बस ऊपर के पेज से उस एक कमांड के लिए 3 लाइनों के पूरे सेट को कॉपी करना सुनिश्चित करें (वास्तविक नाम के साथ "वांछित-नाम" भाग को बदलें, हालांकि आप इसे फिर से नाम देना चाहते हैं)।
एक बार जब निर्देशिका का नाम बदल दिया जाता है, तो आपको इसे एक्सेस करने में सक्षम होना चाहिए। मैं केवल यह आशा कर सकता हूं कि इसमें नामों में नियंत्रण कोड वाली फाइलें भी शामिल नहीं हैं, या आपको उस निर्देशिका में हर फ़ाइल (और / या उपनिर्देशिका) को कुल्ला और दोहराना होगा, जिस बिंदु पर आप एक लूप चाहेंगे। शायद हर फाइल को एक नंबर के रूप में नाम देना बुद्धिमानी है, 1. इंक्रीमेंट करके।
cd */
काम हो सकता है।*
डायरेक्टरी के शेल समझने योग्य विवरण का विस्तार करना चाहिए, औरcd
अतिरिक्त तर्कों को अनदेखा करना चाहिए । एक अन्य तरीका ग्राफिकल फ़ाइल मैनेजर (टर्मिनल आधारित एमसी सहित) या बिल्ट-इन-फ़ाइल फ़ाइल नेविगेटर जैसे उदाहरण विम का उपयोग करना हो सकता है। आप-exec
स्विच के साथfind, not with
cd` को भी सीधे प्रयोग कर सकते हैं (जो कि एक शेल निर्मित है) लेकिन उदाहरण के लिएls
और अन्य उपकरणों के साथ।