जवाबों:
typeनिर्मित इस लिए उपयोगी है। यह न केवल आपको उपनामों के बारे में बताएगा, बल्कि फ़ंक्शन, बिल्डिंस, कीवर्ड और बाहरी कमांड भी देगा।
$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep ()
{
ps -ef | {
read -r;
printf '%s\n' "$REPLY";
grep --color=auto "$@"
}
}
type -a cmdपूर्वता के क्रम में उस नाम से सभी कमांड दिखाएंगे, जो lsऊपर दिए गए उपनाम के लिए उपयोगी है, जहां उपनाम खुद कॉल करता है ls।
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
यह आपको बताता है कि जब आप दौड़ते हैं ls, /bin/lsतो इसका उपयोग किया जाएगा, और --color=autoइसके तर्कों की सूची में शामिल किया जाएगा, किसी भी अन्य के अलावा आप खुद को जोड़ते हैं।
typeतब तक उपयोग करते रहें जब तक कि आप एक उपनाम के अलावा कुछ नहीं
typeकिसी भी उद्धरण को पार्स / व्याख्या करेगा, इसलिए आप यह सुनिश्चित कर सकते हैं कि उद्धरण सही हैं।
ls is aliased to 'ls --color=auto', लेकिन मैं एक परत को कैसे गहरा कर सकता हूं, यह देखने के लिए कि क्या यह / बिन / एलएस या / यूएसआर / स्थानीय / बिन / एलएस या क्या उपयोग करता है?
type -a lsवरीयता के क्रम में पाए गए सभी ls कमांड दिखाएंगे। जो भी उपनाम के ठीक नीचे है, वह है जिसे उपनाम द्वारा निष्पादित किया जाएगा।
aliasशैल प्रांप्ट पर बस टाइप करें । यह सभी वर्तमान में सक्रिय उपनामों की एक सूची का उत्पादन करना चाहिए।
या, आप यह alias [command]देखने के लिए टाइप कर सकते हैं कि एक विशिष्ट उपनाम क्या है, उदाहरण के रूप में, यदि आप यह जानना चाहते हैं कि lsउपनाम क्या था, तो आप कर सकते हैं alias ls।
alias lsयह पता लगाने के लिए टाइप करें कि विशेष रूप से किसके lsलिए उपनाम दिया गया है।
typeहालाँकि, दोनों मामलों में काम करता है।
मुझे वास्तव में Ctrl+ Alt+ पसंद है Eजैसा कि मैंने इस उत्तर से सीखा है । यह वर्तमान में टाइप की गई कमांड लाइन का "विस्तार" करता है, जिसका अर्थ है कि यह अन्य प्रकार के (अन्य चीजों के बीच) विस्तार करता है।
इसका क्या मतलब है? यह किसी भी अन्य उपनाम को बदल देता है, जो वर्तमान में कमांड लाइन पर लिखा जा सकता है, जो अन्य उपनाम के लिए खड़ा है।
उदाहरण के लिए, यदि मैं टाइप करता हूं:
$ ls
और फिर Ctrl+ Alt+ दबाएँ E, यह बदल गया है
$ ls --time-style=locale --color=auto
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R इसके बजायsqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
कड़ाई से सही उत्तर बोलना BASH_ALIASES सरणी का उपयोग कर रहा है, जैसे:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
lsएलियास पर अधिक स्विच को स्टैक करना चाहता हूं जो कि वहां नहीं है। इसलिए मैं alias ls="${BASH_ALIASES[ls]} --time-style=iso"अपने मामले के लिए जा रहा हूं ।
आप whichकमांड का उपयोग कर सकते हैं ।
यदि आप के lsरूप में ls -alऔर फिर टाइप के लिए एक उपनाम सेट which ls, आप देखेंगे:
ls: aliased to ls -al।
whichआज्ञा नहीं है ।
whichउपनामों को देखने का एक बुरा तरीका है जैसा कि यहां बताया गया है: unix.stackexchange.com/questions/10525/… यह उबंटू में बैश में मेरे लिए उपनाम के लिए भी काम नहीं करता है।