Ls कमांड के लिए पेजेशन कैसे सक्रिय करें?


34

lsDOS के रूप में पृष्ठ पर अंक लगाना सक्रिय करने के लिए समतुल्य विकल्प क्या है dir /p?

जवाबों:


54

lsअपने आप में कोई सीधा समकक्ष नहीं है, लेकिन इसकी lessउपयोगिता है, जो अलग-अलग पृष्ठों के रूप में किसी भी कमांड के आउटपुट को स्वरूपित करेगा, लाइन या पेज द्वारा स्क्रॉल करने योग्य:

ls -C | less

जहां -Cट्रिगर कॉलम प्रदर्शित होता है। का प्रयोग करें lah(तर्कों के रूप ls -lah) एक पाने के लिए एल के साथ लाइन प्रदर्शन से ऑफ़लाइन एक प्रदर्शित किया जा रहा ll फ़ाइलें, और (छुपा लोगों में शामिल हैं) पठनीय filesizes उमान।

  • रंगों को ठीक से दिखाने के लिए , आपको --color=alwaysतर्क को lsऔर -Rतर्क को कम * पर जोड़ना होगा :

    ls -C --color=always | less -R

    alt text
    यह दिखाता है 'ls -ah --color = always | कम -R '

इसके विपरीत more, lessआपको आउटपुट के माध्यम से स्क्रॉल करने देगा। यह बहुत बड़ी लिस्टिंग के लिए थोड़ा तेज़ है।

पाइप इस तरह काम करता है:

हर प्रोग्राम में इनपुट और आउटपुट होता है, एक पाइप एक प्रोग्राम (ls) के आउटपुट को दूसरे प्रोग्राम (कम) के इनपुट पर रीडायरेक्ट करता है। और कम बस इनपुट की उम्मीद करता है जो इसे तब प्रारूपित करता है।

  • एक और पुराने स्कूल के समकक्ष होगा pg:

    ls | pg
    

आप भी कर सकते हैं

  • का प्रयोग करें ls | headया ls | tailप्रदर्शित करने के लिए केवल उत्पादन के पहले या अंतिम भाग
  • watch "ls"प्रदर्शन को खुला रखने के लिए उपयोग करें , परिवर्तनों को देखने के लिए इसे हर कुछ सेकंड में अपडेट करें
  • banner $(ls)यदि आप स्क्रीन से बहुत दूर बैठे हैं तो उपयोग करें । (;

  • यदि आपको याद रखने के लिए यह सब बहुत लंबा लगता है, तो आप इसके लिए एक उपनाम सेट कर सकते हैं :

    खुला ~/.bash_aliasesएक पाठ संपादक के साथ और इसमें कुछ इस तरह जोड़ें:

    alias lsp="ls -ah --color=always | less -R"
    

    (यह एक स्क्रिप्ट है जिसे हर बार एक नया वर्चुअल टर्मिनल शुरू किया जाता है, आपको अपने सभी स्थायी उपनाम सेट करना चाहिए)

    अब आप सिर्फ टाइप कर सकते हैं lsp , या जो भी नाम आप चुनते हैं।

    यदि आप अपने उपनाम के लिए आगे तर्क पारित करने में सक्षम होना चाहते हैं , तो हमें इसके बजाय एक फ़ंक्शन को परिभाषित करने की आवश्यकता है :

    lsp(){ ls -ah --color=always "$@" | less -R; }
    

    एक समारोह, मुख्य इस तरह लग रही: name(){ commands; };तर्क, स्वीकार कर सकते हैं $1, $2, $3और इतने पर। $@साधन "हर तर्क, यदि कोई हो"

    अब आप की तरह कुछ चला सकते हैं lsp *.py, lsp -C, और इतने पर। हम उस बिंदु पर तर्क डालते हैं जहां वे ls में पास हो जाते हैं। हम कम से कम $ * भी डाल सकते थे, अगर यह महत्वपूर्ण आदेश होता। आप सभी ls के तर्कों को man ls(पढ़ने के लायक) देख सकते हैं ।


*: इसका कारण यह है, कि जब भी आप कुछ पाइप करते हैं, तो यह एक टर्मिनल का पता लगाता है (वास्तव में अन्य कार्यक्रम) रंग प्रदर्शित करने में सक्षम नहीं है। "- रंग = हमेशा" इसको अनदेखा करने के लिए ls मजबूर करता है। -R स्विच स्क्रीन को ठीक से कम करता है, रंगों को ठीक से बचता है।


बहुत अच्छा जवाब, बिल्कुल उर्फ ​​के साथ हिस्सा मेरे दिमाग में आया जब मैंने लंबी कमांडलाइन देखी। उपनाम बनाने से एकमात्र नुकसान यह है कि * .pdf जैसे वाइल्डकार्ड फिल्टर का उपयोग करना संभव नहीं है? शायद वहाँ भी इस के लिए एक समाधान मौजूद है?
NES

सब कुछ संभव है ;-) मैंने तर्कों के बारे में थोड़ा जोड़ा, मैंने किसी तरह पहले इसके बारे में नहीं सोचा था।
Stefano Palazzo

2
आपने अपेक्षा से अधिक दिया :) विस्तृत उत्तर के लिए धन्यवाद। पीएस क्या आप जानते हैं कि अगर बैश और मछली के बीच मतभेद हैं जो किसी भी तरह से इस उर्फ ​​तर्क को पारित करने की विधि को मछली में काम करने से रोकते हैं? मुझे यहाँ काम करने के लिए तर्क विकल्प के बिना उपनाम मिला।
एनईएस

1
ठीक है, यहाँ askubuntu.com/questions/19728/… नया प्रश्न शुरू होता है, आपके अब तक के उपयोगी उत्तर के लिए फिर से धन्यवाद।
NES

1
$*और $@ठीक यही काम करो। उनका विस्तार होता है $1 $2 $3 ...। उद्धरित, तथापि, "$@"के लिए विस्तारित "$1" "$2" "$3" ..., जबकि "$*"करने के लिए फैलता है "$1 $2 $3 ..."(यह है कि, एक स्ट्रिंग में सभी तर्कों, का पहला वर्ण का उपयोग कर IFSविभाजक के रूप में)। mywiki.wooledge.org/BashGuide/Parameters
geirha

3

मुझे यकीन नहीं है कि पेजिंग के लिए कुछ एलएस कमांड है। हालाँकि, आप lessइस तरह से एक पाइप का उपयोग कर सकते हैं :

ls | less

और बाहर निकलने के लिए q का उपयोग करें।


1

कोशिश करो ls | lessया ls | more। दूसरा एक डॉस संस्करण के करीब है।


1
क्या कोई और तरीका है? क्योंकि मेरे लिए नुकसान यह है कि पाइप का उपयोग करते समय शेल का रंगीकरण सक्रिय नहीं है?
एनईएस

2
कोशिश करेंls --color=always -C | less -R
फ़ूजएक्सल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.