18.04 में अपग्रेड करने के बाद 'फ़ाइल नाम' के रूप में दिखाते हुए स्पेस


23

18.04 में अपग्रेड होने के बाद, 16.04 से, स्पेस के साथ सभी फ़ाइल नाम के रूप में दिखाता है 'file name'। पहले यह बस था file name। बिना स्थान के फ़ाइल नाम सामान्य रूप से दिखाई देते हैं:

$ ls
 bar  'foo bar'

हालांकि यह किसी भी तरह से कार्यक्षमता को प्रभावित नहीं करता है, मुझे यह नेत्रहीन अव्यवस्था लगता है।

मैं bashशेल के रूप में उपयोग करता हूं ।

मैं ''रिक्त स्थान के साथ फ़ाइल नामों के बारे में कैसे दिखा सकता हूं ?


4
आप उन्हें क्यों निकालना चाहते हैं, वे फ़ाइल नाम का हिस्सा नहीं हैं और आपको कमांड लाइन या स्क्रिप्ट्स में रिक्त स्थान के साथ फ़ाइलनाम का प्रबंधन करने में मदद कर सकते हैं।
सोरेन एक

2
मुझे पता है कि वे फ़ाइल नाम का हिस्सा नहीं हैं। लेकिन वे दृश्य अव्यवस्था हैं, और मुझे उनकी आवश्यकता नहीं है।
विदरालो

4
@ सोरेना यदि आप lsअपनी स्क्रिप्ट में फ़ाइलों का प्रबंधन करने के लिए उपयोग करते हैं तो आप इसे गलत कर रहे हैं। आपको आउटपुट lsक्यों नहींls
मिठाई

2
@ WinEunuuchs2Unix इसे चिपकाना आसान बनाता है, लेकिन आपके उत्तर का उल्लेख करते हुए, यह टर्मिनल में आउटपुट नहीं करने पर व्यवहार में बदलाव नहीं करता है ...
vidarlo

2
@vidarlo lsलेखक कम से कम कुछ मुद्दों को संबोधित कर रहा है। लेखक को जानना स्टैक एक्सचेंज में सक्रिय रूप से शामिल है (मेरे जवाब में लिंक) भविष्य के सुधारों के बारे में अधिक आसानी से सुझाव दे सकता है। फिर अन्य उपयोगकर्ताओं से टिप्पणी करने से लेखक को सुझावों को लागू करने के लिए प्रोत्साहित किया जाएगा।
विनयुनुच्स

जवाबों:


33

यह lsव्यवहार परिवर्तन 2016 से था , लेकिन अंततः यह उबंटू में रास्ता बना रहा है।

पुराने व्यवहार का उपयोग वापस पाने के लिए ls -N

वैकल्पिक रूप से आप एक पर्यावरण चर का उपयोग कर सकते हैं:

QUOTING_STYLE=literal ls

पुराने व्यवहार को प्राप्त करने के लिए इसे एक उपनाम बनाएं, या export QUOTING_STYLE=literalअपने में सेट करें ~/.bashrc

आप अधिक विवरण के लिए ऊपर दिए गए लिंक को पढ़ सकते हैं कि कब, कहां, क्यों और कैसे यह सब हुआ। Ls परिवर्तनों के लेखक के तहत काफी कुछ टिप्पणियां हैं जहां वह नए व्यवहार को सही ठहराता है:

बदलाव के बारे में कुछ बिंदु।

  • इसे कोरुटिल्स v8.25 में पेश किया गया था, और v8.26 में संरेखण में सुधार हुआ था
  • यह केवल तब होता है जब टर्मिनलों को आउटपुट करना इतना स्क्रिप्ट नहीं तोड़ता है
  • यह व्हाट्सएप युक्त फ़ाइलों के लिए उपयोगकर्ताओं के लिए आउटपुट को अलग करता है
  • यह आउटपुट को सैनिटाइज करता है इसलिए कॉपी और पेस्ट करना सुरक्षित है
  • आउटपुट अब हमेशा मान्य है शेल में कॉपी और पेस्ट करने के लिए है
  • उपयोगकर्ता -Nअपने lsउपनाम में जोड़कर पुराने प्रारूप में वापस आ सकते हैं

12

यह है lsकि आउटपुट को उद्धृत करना, चलाना:

ls -N

किसी भी उद्धरण के बिना उत्पादन पाने के लिए।

man ls

-एन।, - रामलाल

उद्धरण के बिना प्रवेश नाम प्रिंट करें


यदि आप चाहते हैं, तो इसे छोड़ दें:

echo "alias ls='ls -N'" >> .bashrc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.