जवाबों:
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/… यह उबंटू में बैश में मेरे लिए उपनाम के लिए भी काम नहीं करता है।