क्यों `- अमानवीय-पठनीय` की आवश्यकता है और डिफ़ॉल्ट नहीं है?


56

कई कमांड लाइन उपकरण मानव पठनीय प्रारूप (यानी, बनाम ) में फ़ाइल आकार को मुद्रित करने के लिए -hया --human-readableविकल्प का उपयोग करते हैं ।36G37550836

  • इस विकल्प की आवश्यकता क्यों है और डिफ़ॉल्ट नहीं है?
  • क्या ये उपकरण मुख्य रूप से मनुष्यों के उत्पादन के लिए नहीं हैं?

जवाबों:


75
  1. क्योंकि वे मूल रूप से मौजूद नहीं थे, और डिफ़ॉल्ट व्यवहार पीछे की ओर संगत है। इसके अलावा, क्योंकि वे सभी यूनिक्स वेरिएंट पर मौजूद नहीं हैं, और डिफ़ॉल्ट व्यवहार अन्य यूनिक्स वेरिएंट के साथ संगत है।
  2. कई साधनों के लिए, क्योंकि वे अन्य साधनों द्वारा पारगम्य होने का इरादा रखते हैं। यह शायद ही कभी होता है ls, लेकिन duया के उत्पादन को पार्स करना dfअपेक्षाकृत आम है। (मन, के लिए df, df -Pजब आपको पार्स करना चाहिए ।)
  3. क्योंकि कुछ मनुष्य 37550836 प्रारूप को पसंद करते हैं, क्योंकि जब आप ऐसी संख्याओं का एक गुच्छा देखते हैं, तो उनका सापेक्ष आकार नेत्रहीन (अंकों की संख्या) स्पष्ट होता है।

22
विशेष रूप से 3) जब मैं आउटपुट को सीधे अंदर ले जाता sort -nहूं, क्योंकि मुझे प्रत्येक निर्देशिका के खुरदरे आकार को देखने में जल्दी दिलचस्पी होती है, और जिसमें उपनिर्देशिका बहुत अधिक स्थान ले रही है ...
Shadur

8
@ बहादुर आह लेकिन छाँट -hभी लेता है!
quodlibetor

3
मुझे लगता है कि 2 (जैसे स्क्रिप्टिंग के लिए) प्रमुख कारण है।
sml

@quodlibetor क्या ओएस / डिस्ट्रो? कुबंटु लुसिड सॉर्ट स्वीकार नहीं करता है -ह और मैं कोई समकक्ष नहीं देख सकता।
जो

7
@ user23861 sort -hको GNU कोरुटिल्स 7.5 में पेश किया गया था। ल्यूसिड में 7.4 है, इसलिए उबंटू पर आपको कम से कम मनमौजी की आवश्यकता है।
गिल्स एसओ- बुराई को रोकना '

13

ध्यान दें कि यदि आप अपने वातावरण में BLOCKSIZE = मानव-पठनीय सेट करते हैं, तो यह डिफ़ॉल्ट रूप से होगा, कम से कम GNU कोरूटिल्स से कमांड के लिए, अर्थात यदि आप bash put का उपयोग कर रहे हैं:

export BLOCKSIZE=human-readable

आपकी $ HOME / .bashrc फ़ाइल में।


2
लगता है BLOCKSIZE=hकि पर्याप्त हो सकता है। लेकिन महान टिप!
मिकेल

डॉक्स सुझाव है BLOCK_SIZE=human-readable। जब तक मैंने पढ़ा कि हजारों विभाजकों के लिए समर्थन के बारे में पता नहीं था।
मिकेल

OSX पर काम नहीं कर रहा है
जेम्स लिन

@ जैम्सलिन: यह एक जीएनयू कोरुटिल्स विशिष्ट चर हो सकता है। आप एक उपनाम बना सकते हैं ...
थोर

6

गाइल्स ने क्या कहा:

जब इन साधनों का आविष्कार किया गया था, जहां आज की तुलना में एचडीडी बहुत छोटा था। आपको 400000 जैसी संख्या पढ़ने के लिए मदद की आवश्यकता नहीं थी।

और अगर आपको यह पसंद नहीं है, तो अन्य सिस्टम का उपयोग करें। अपने घर निर्देशिका में,

edit ~/.bashrc 

और सम्मिलित करें, उदाहरण के लिए:

alias df='df -h'
alias du='du -h'

ध्यान दें कि कई अन्य भाषाओं के विपरीत, आपको असाइनमेंट ऑपरेटर (बराबर चिह्न) के पहले या पीछे एक रिक्त स्थान रखने की अनुमति नहीं है।

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