आपको कमांड विकल्प कैसे याद हैं? [बन्द है]


13

मुझे यह जानने की उत्सुकता है कि विभिन्न कमांड के विकल्पों को याद करने के लिए आप किस ट्रिक का उपयोग करते हैं? आदमी पृष्ठों की तलाश में हर समय समय लगता है और इतना अच्छा नहीं है!


2
अन्य चीजों में: unix.stackexchange.com/questions/138720/… उन चीजों का एक कस्टमाइज्ड सारांश बनाने के लिए आसान है, जिन्हें मैं आदतन स्क्रू अप या भूल जाता हूं। BTW, जितना अधिक आप मैन पेज पढ़ते हैं, उतना ही आप उनकी सराहना करते हैं।
गोल्डीलॉक्स

मुझे कुछ समय लगता है कि मैं सब कुछ भूल रहा हूं। मैं सोच रहा था कि क्या मैं अकेला ऐसा व्यक्ति हूँ जिसके पास कठिन समय है, जो शीर्ष पर सभी उपयोगी विकल्पों को याद कर रहा है..आपका सुझाव एक अच्छे समाधान की तरह लगता है..धन्यवाद!
अतुल

3
manपृष्ठ पढ़ना बहुत अच्छा है ... :)
jasonwryan

1
प्रश्न: आप कार्नेगी हॉल में कैसे पहुँच सकते हैं ? एक अभ्यास!
evilsoup

4
मुझे लगता है कि यह कुछ XKCD का हकदार है: xkcd.com/1168
Darkhogg

जवाबों:


39

चाल सरल है: आप बस नहीं। यह समय की बर्बादी है और अभी जरूरी नहीं है। कमांड विकल्प याद रखना विशेष रूप से उपयोगी कौशल नहीं है। यह समझना अधिक महत्वपूर्ण है कि सामान सामान्य रूप से कैसे काम करता है और एक अस्पष्ट विचार है कि कौन से उपकरण पहले से मौजूद हैं और आप उनके लिए क्या उपयोग करते हैं। यहां एक बहुत ही महत्वपूर्ण कौशल यह जानना है कि जिस सामान के बारे में आप अभी तक नहीं जानते हैं, उसके बारे में कैसे पता करें।

मैन पेज समय लेने वाली हैं? ऐसा नहीं। ऐसा नहीं है कि आपको उन्हें पढ़ना है - कम से कम, हर बार नहीं - एक खोज फ़ंक्शन है। तो अगर मुझे याद नहीं है जो गुप्त विकल्प के लिए एक था hdparmकुछ WD डिस्क पर अक्षम निष्क्रिय टाइमर के लिए, मैं करता हूँ man hdparmऔर /idle3और हे, यह था -J। इस तरह के सामान की तलाश इतनी जल्दी है कि मुझे बाद में इसे करने की याद भी नहीं है।

कल्पना कीजिए कि कोई वास्तव में सभी hdparmविकल्पों को याद कर रहा है । क्या समय की बर्बादी है।

यदि आप केवल विकल्पों को याद रखना चाहते हैं तो यह ठीक है क्योंकि आप उनका अक्सर उपयोग करते हैं। इसके बारे में सोचे बिना भी यह अपने आप हो जाता है। लेकिन वास्तव में होशपूर्वक उन्हें याद करने में समय बिता रहे हैं ... क्या है जो अच्छा होना चाहिए? एक पेपर टेस्ट?


4
अपवर्तित: कौशल वह चीज़ है जो आपको चाहिए, न कि रटने की स्मृति। man hdparm | less -p idle3वांछित पद पर कूदने का एक आसान तरीका भी है ...
jasonwryan

मैं इस जवाब से पूरी तरह सहमत हूं, हालांकि मुझे लगता है कि यह इस बात पर जोर देने के लायक है कि सामान्य कार्यक्रमों को याद करने के लिए कुछ सबसे आम विकल्प होना सामान्य है, सिर्फ इसलिए कि आप उन्हें इतनी बार उपयोग करते हैं। जैसा rm -i -f -r, ln -s, df -s -h, cp -r -i, ls -l -h -a, आदि (सूची हर व्यक्ति के लिए भिन्न होता है)।
डेविड जेड

8

डिफ़ॉल्ट रूप से Zsh में रन-हेल्प फंक्शन है Alth। इस फ़ंक्शन के साथ आप कई या जटिल विकल्पों के साथ एक कमांड टाइप करना शुरू कर सकते हैं जो rsyncउदाहरण के लिए याद रखना मुश्किल है , और फिर उस कमांड का manपेज खुल गया है। इसलिए:

 rsync Alth

manपृष्ठ पढ़ें और वह कार्य करें जो आपके लिए आवश्यक स्विच करता है, हिट करता है qऔर फिर आपको अपने कमांड प्रॉम्प्ट पर लौटा दिया जाता है, ठीक उसी जगह जहां आपने छोड़ा था, आवश्यक विकल्पों के साथ कमांड को पूरा करने के लिए तैयार:

rysnc -azP file dir/

विकी नोटों के रूप में:

प्रपत्र रन-हेल्प-कमांड के सहायक कार्यों को परिभाषित करके फ़ंक्शन को और अधिक अनुकूलित किया जा सकता है। मानक वितरण में तीन ऐसे कार्य उपलब्ध हैं: रन-हेल्प-गिट, रन-हेल्प-एसवीके, और रन-हेल्प-एसवीएन।

इसी तरह bashहै bash-completeजो आदेशों का एक बहुत के लिए पैरामीटर विकल्पों में से एक बहुत की आपूर्ति करेगा।
एरिक

2
@ericx "इसी तरह" इसे थोड़ा ओवरस्टैट किया जा सकता है ... Zsh भी पूरा हो गया है, यह उसी से एक कदम है।
जसोनव्रीयन

हे ... मैं लोगों में अपनी प्रशंसा सुना है, लेकिन मैं कभी नहीं आज़मायाzsh
ericx

@ericx, भी, bashपूरा होने की सूची, या समूहीकरण प्रविष्टियों के --classify -F -- append file type indicatorsलिए विवरण जोड़ने का समर्थन नहीं करता है ( उदाहरण के लिए zsh के GNU ls पूरा होने में) तो लगभग zsh के रूप में उपयोगी नहीं है।
स्टीफन चेज़लस

** रूट @ मिलिटेंट ** ~ / tmp ** Tue Aug 05 09:24:55 # pkg info (-e -d -f -l -o -p -D) -r [रिवर्स निर्भरता प्रदर्शित करता है] (-e -d -r -f -o -p -D -d - -l [सभी फाइलें प्रदर्शित करता है] (-d -r -l -f -p -D -D) -o [-ss Origin] (-e -d -r) - l -o -f -D) -p [-पूर्व-प्रदर्शित करता है] (-d -r -l -p -p -D) -f [-f पूरी जानकारी प्रदर्शित करता है] (-d -r -l -o -p) -f) -D [[संदेश प्रदर्शित करता है] (-f -r -l -p -D -D) -d [निर्भरता प्रदर्शित करता है] -f -d -r -l -p -D -D) -e [रिटर्न 0 अगर <pkg-name> स्थापित है] (-g -X -a -F) -x [प्रक्रिया पैकेज जो रेगेक्स पैटर्न से मेल खाता है] (-g -x -X -F) -a [प्रक्रिया सभी पैकेज
ericx

4

एक बहुत लंबे कमांड इतिहास का उपयोग करना, और इसके माध्यम से खोज करना, बहुत उपयोगी है।

मैं मूल रूप से सभी शेल इतिहास फ़ाइलों को इकट्ठा करता हूं, और उनके माध्यम से grep करता हूं।

पाए गए परिणाम कई मामलों में बहुत उपयोगी हैं, क्योंकि अच्छे कीवर्ड के लिए खोज करना आसान है।
आपके द्वारा उपयोग किए गए एक विशिष्ट तर्क के लिए खोज करना, एक URL की तरह, आपको संबंधित कमांड और विकल्प भी मिलते हैं। और विशिष्ट विकल्पों की तलाश में, आपको प्रासंगिक तर्क भी मिल सकते हैं।


4

अधिकांश कमांड में त्वरित संदर्भ के लिए --help होता है, और यह आमतौर पर यह याद दिलाने के लिए पर्याप्त है कि कुछ ऐसा था जो मैं जानता था।

उस ने कहा, -एच या यहाँ तक कि लिखने की आदत है - या -। आप कभी नहीं जानते कि उपयोग आउटपुट या मैनुअल पेज देखने से पहले -h क्या है। सबसे खराब स्थिति में -h के लिए शॉर्ट हाथ हो सकता है - थैज़ोर्ड-ऑटोमैटिक-विनाश।


2
... GNU सिस्टम पर अधिकांश कमांड । यूनिक्स सिस्टम पर कमांड आमतौर पर नहीं होती है --help-?जरूरतों के साथ के हवाले से zsh, csh, tcshया fishया अगर कोई फ़ाइलें जिसका नाम कर रहे हैं -वर्तमान निर्देशिका में एक वर्ण का पालन किया। -:वहाँ बेहतर हो सकता है।
स्टीफन चेजलस

खैर .. कई गैर-जीएनयू सिस्टम में इतने आउटपुट आउटपुट हैं कि वे देखने में भी बेकार हैं। ऐसे मामले में मैन पेज देखें और हार्ड कोज द्वारा याद करने का सबसे अच्छा भाग्य और कुछ नहीं होगा।
kerolasa

"कहा कि लिखने की आदत है"। खोया हुआ शब्द?
फहीम मीठा

1

एक विकल्प मुझे पसंद है कि उपनाम बनाने के लिए समान या समान विकल्प हैं, जैसे

alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'

इस तरह आपके पास एक अच्छा शॉर्टकट है जिसे आप जल्द ही आसानी से याद कर लेंगे, लेकिन यह वास्तविक विकल्प के बारे में भी जानकारी रखेगा जो इसे दर्शाता है।

उपनाम के साथ एक और दृष्टिकोण सबसे आम विकल्प चुनना और एक सुपर शॉर्ट उर्फ ​​बनाना है जो उनका उपयोग करता है। उदाहरण के लिए lsमैं लगभग हमेशा करता हूं lऔर ऐसा इसलिए है क्योंकि मेरे पास है:

alias l='ls -alFtrG'

एक अन्य विकल्प सिर्फ उन विकल्पों में लाना है जो आप आधार कमांड को पसंद करते हैं, जैसे

alias ls='ls -F --color=always'

अंत में अभ्यास, अभ्यास, अभ्यास और धैर्य। सामान्य विकल्प टाइप करते रहें और आप अंततः उन्हें सीख जाएंगे। दिनों में सामान्य, सप्ताह में अन्य और हाँ कुछ वर्षों में आपको ज्ञात हो जाते हैं। उस यूनिक्स प्रोग्रामिंग में एक इलाज के रूप में सोचो एक लंबे समय के लिए आप का मनोरंजन करने के लिए जारी रहेगा।

एक और विकल्प जो मुझे पसंद है वह है मेरे इतिहास को आसान बनाने के लिए एक उपनाम और इसके लिए मेरे पास दो समान उपनाम हैं:

alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'

ये मुझे उदाहरण के लिए एक कमांड के उपयोग के लिए खोज करते हैं:

hg lsइतिहास से ls के किसी भी हाल के उपयोग
hga lsको दिखाएगा ls के सभी उपयोगों को मेरे पूरे इतिहास से दिखाएगा।

मैंने hg को विकसित करने के बाद पाया कि hga बहुत अधिक दिखाने के लिए प्रवृत्त है।


4
अगर ओपी याद नहीं rm -ivकरता कि क्या करता है, तो ओपी को भी याद नहीं होगा कि क्या rmivकरता है। मुझे नहीं लगता कि यह हाइफन है कि समस्या है।
4'14

मैं व्यक्तिगत रूप rm -ivसे safe_deleteयाrm_prompt
स्लीबेटमैन

आप लोगों को धन्यवाद! मुझे लगता है कि मैं अधिक सीखने से अधिक याद रखने के लिए बहुत चिंता कर रहा था..मैं यह सीखने के लिए जब हथियार का उपयोग करने के बजाय गोली आयाम और वेग क्या है! भाग्यशाली है कि यहाँ बहुत सारे अच्छे Linux लोग हैं .. चीयर्स को यूनिक्स / linux !!
अतुल

1

मैं आमतौर पर करता हूं:

man ${CMD} | grep 'what was I thinking about?'

या कुछ भिन्नता। कुछ के साथ grepआप के लिए -सी / ए / बी निर्दिष्ट कर सकते हैं s संदर्भ , के बाद , और इससे पहले कि क्रमशः। यदि नहीं, nlऔर sedबहुत अच्छी तरह से मिलान किया जा सकता है:

man hdparm |                      #hard to forget
nl -bp'idle3' -nln -w1 |          #I had to grep man to put this together
sed -n '/^[0-9]/{N;N;N;s///p}'    #no print until line begins w/ number, next,next,next

           Drive's "idle3" timeout value.  This timeout
            controls how often the drive parks its heads
            and  enters  a  low power consumption state.
            The factory default is  eight  (8)  seconds,
           zero (0) to disable the WD idle3 timer  com‐
            pletely (NOT RECOMMENDED!).

     -k     Get/set  the "keep_settings_over_reset" flag

--helpयदि आपके पास है तो वही तकनीक मेनू के साथ काम करती है, लेकिन आपको ${CMD} --help 2>&1 | ..filter..ऐसी चीजों को प्रिंट करने के लिए एक काफी मानक अभ्यास है क्योंकि आपको ऐसा करने की आवश्यकता हो सकती है stderr

वैसे भी, मुझे लगता है कि कहानी का नैतिक है, कम से कम man और याद रखना grep। शायद बाकी लोगों को पसीना नहीं आता।


1
+1। मैं अक्सर grepकिसी विशेष सुविधा की तलाश में मैन पेज बनाता हूं , यह बहुत आसान है।
जॉन डब्ल्यूएच स्मिथ

grep के -A -B -Cविकल्प भी उपयोगी हो सकते हैं, जैसेman bash | grep -A 25 PROMPTING$
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.