मैं कई अलग-अलग मशीनों से निपटता हूं, इसलिए मेरे पसंदीदा में से एक प्रत्येक मशीन के लिए उपनाम है जिसे मुझे अक्सर एसएसएच करने की आवश्यकता है:
alias claudius="ssh dinomite@claudius"
मशीनों के बीच में और भी आसान बनाने के लिए एक अच्छी .ssh/config
और ssh कीज़ को सेटअप करना उपयोगी है।
मेरी पसंदीदा उपनामों में से एक निर्देशिका को आगे बढ़ाने के लिए है:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
और आम तौर पर ls
(और टाइपो) के विभिन्न रूपों के लिए :
alias ll="ls -l"
alias lo="ls -o"
alias lh="ls -lh"
alias la="ls -la"
alias sl="ls"
alias l="ls"
alias s="ls"
इतिहास बहुत उपयोगी हो सकता है, लेकिन अधिकांश वितरण पर डिफ़ॉल्ट रूप से आपका इतिहास प्रत्येक शेल से बाहर निकलने से उड़ा दिया जाता है, और इसके साथ शुरू करने के लिए बहुत कुछ नहीं है। मुझे इतिहास की 10,000 पंक्तियाँ पसंद हैं:
export HISTFILESIZE=20000
export HISTSIZE=10000
shopt -s histappend
# Combine multiline commands into one in history
shopt -s cmdhist
# Ignore duplicates, ls without options and builtin commands
HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
इस तरह, अगर मुझे पता है कि मैंने पहले कुछ किया है, लेकिन बारीकियों को याद नहीं कर सकते हैं, एक त्वरित history | grep foo
मेरी याददाश्त को कम करने में मदद करेगा।
मैंने अक्सर अपने प्रत्येक डिस्क के आकार का पता लगाने awk
के लिए आउटपुट के एक निश्चित कॉलम को प्राप्त करने के लिए अपने आप से आउटपुट प्राप्त किया df -h | awk '{print $2}'
। इसे आसान बनाने के लिए, मैंने fawk
अपने .bashrc में एक फ़ंक्शन बनाया :
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
अब मैं चला सकता हूं df -h|fawk 2
जो एक अच्छा सा टाइपिंग बचाता है।
यदि आपको एक सीमांकक निर्दिष्ट करने की आवश्यकता है ( उदाहरण के awk -F:
लिए /etc/passwd
), तो यह फ़ंक्शन स्पष्ट रूप से संभाल नहीं सकता है। इस gist में थोड़ा-अधिक ओवरहॉल किया गया संस्करण awk
फ़ील्ड संख्या से पहले मनमाने ढंग से तर्क को संभाल सकता है (लेकिन स्टड से इनपुट की आवश्यकता होती है)।