डिफ़ॉल्ट कमांड विकल्प बदलें


15

जब मैं कमांड दर्ज करता हूं

ls

मुझे वर्तमान निर्देशिका में फ़ाइलों और निर्देशिकाओं की एक सूची दिखाई देती है, प्रदर्शित सूची काफी कष्टप्रद है।

बल्कि, मुझे -1 विकल्प के साथ ls कमांड निष्पादित करना पसंद है

ls -1

मेरा प्रश्न यह है कि ls कमांड के डिफ़ॉल्ट व्यवहार को कैसे बदला जाए जैसे कि यह हमेशा -1 विकल्प के साथ निष्पादित होगा। यानी ls कमांड के साथ एक कॉलम में फाइल और डायरेक्टरी को कैसे प्रदर्शित किया जाए।

धन्यवाद।

जवाबों:


14

आपकी ~/.bashrcफ़ाइल में उपनाम बनाने से एक तरीका होगा :

alias l1='ls -1'

फिर टाइप करके l1, ls -1निष्पादित किया जाएगा


आपको ~ / .bashrc फ़ाइल कैसे मिलती है? मुझे कंप्यूटर "बिन में" बैश "एप्लिकेशन मिला, लेकिन आपके द्वारा उल्लेखित नाम के साथ पाठ फ़ाइल नहीं।
AlainD

@AlainD .bashrc फ़ाइल आपके घर निर्देशिका में मौजूद है, / बिन में नहीं। ~ बेश में अपने घर की निर्देशिका का विस्तार करता है, इसलिए पथ कुछ ऐसा पढ़ेगा जैसे /home/user/.bashrc
जिष्णु

मैं उपनाम एलएसएल = "एलएस-एल" का उपयोग करता हूं क्योंकि मुझे इसे दर्ज करने के लिए होम रो से स्थानांतरित करने की आवश्यकता नहीं है।
dvnkiss

4

अपनी होम डायरेक्टरी में, .bashrc फ़ाइल को संपादक में खोलें और अन्य उपनाम = 'ls -1' जोड़ें

पहले टर्मिनल (प्रेस ControlAltT) gedit ./.bashrcखोलें, संपादक में अपनी .bashrc फ़ाइल खोलने के लिए दर्ज करें।

उस अनुभाग का पता लगाएं जिसमें एलएस के लिए कुछ उपनाम हैं। मेरा (स्टॉक 11.10) में ऐसा दिखता है:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

एलएस उपनाम के बाद निम्नलिखित पंक्ति जोड़ें:

alias ls='ls -1'

फ़ाइल सहेजें, gedit और टर्मिनल से बाहर निकलें और रिबूट करें। अब ls कमांड को डिफ़ॉल्ट रूप से ls -1 निष्पादित करना चाहिए।


1
यह "ls" अब इस उपयोगकर्ता के लिए डिफ़ॉल्ट रूप से "ls -1" के रूप में कार्य करता है। यदि आप नए कमांड का उपयोग करते हैं, तो @zetah उत्तर कवर करता है।
जेम्स

मेरे होम डायरेक्टरी में uBuntu 14.04 LTS पर मैं केवल फ़ोल्डर का एक गुच्छा, और कोई .bashrc फ़ाइल नहीं देखता।
AlainD

1

zetah का जवाब सबसे अच्छा है। समझाने के लिए:

उपनाम का उपयोग छोटे, सरल, अक्सर कमांड डिफ़ॉल्ट मापदंडों के संशोधनों के लिए किया जाता है। बेहतर प्रदर्शन या दोहराए जाने वाले उपयोग के लिए उन्हें मेमोरी में संग्रहीत किया जाता है (उनकी स्रोत फ़ाइल से पढ़ने के बाद)।

कार्य अधिक जटिल गतिविधि के लिए उपयुक्त होते हैं जो अक्सर उपयोग किए जाते हैं, और स्मृति में भी संग्रहीत होते हैं।

लिपियां सबसे जटिल और कम से कम अक्सर इस्तेमाल किए जाने वाले आदेशों के लिए उपयुक्त हैं।

यूनिक्स स्टैकएक्सचेंज पर इस सवाल और जवाब को देखें - उपनाम, फ़ंक्शंस और स्क्रिप्ट के बीच सबसे अच्छे उपयोग में अंतर बताते हैं।


1

बस @RobDavenport उत्तर के लिए कुछ स्पष्ट करने के लिए। आप एक कमांड का उपयोग करने के लिए एक फ़ंक्शन का उपयोग नहीं कर सकते हैं जिसका समान नाम है।

lsआप जो कर सकते हैं, उसके लिए एक डिफॉल्ट परम जोड़ें

alias ls='ls -1 $@'

यह एक नया उपनाम जोड़ देगा, lsइसलिए इसे मूल कमांड के बजाय कहा जाएगा। यह -1विकल्प को जोड़ेगा और हर कमांड $@को मूल lsकमांड में फॉरवर्ड करेगा ।

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

function ls_column () {
  ls -1 $@
}

इसका प्रभाव समान होगा लेकिन आपको अपने कार्य के लिए एक अलग नाम का उपयोग करना होगा। अन्यथा यह बार-बार खुद को बुलाएगा।

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