उपयोगी बैश उपनाम और आपके सबसे अधिक उपयोग किए जाने वाले कमांड की एक सूची बनाना


10

मैंने पाया कि यह लेख आपके बैश इतिहास को क्रमबद्ध करने के त्वरित तरीके पर चर्चा कर रहा है और देखें कि आप किन आदेशों का सबसे अधिक उपयोग करते हैं:

cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30

यह वास्तव में आपकी आँखें खोलता है कि आपको किन कार्यों के लिए उपनाम बनाना चाहिए और किन लोगों को आपको पूरी तरह से क्रोनजॉब करना चाहिए।

मैं अनुशंसित कमांड लाइन उपनामों की एक सर्वरफॉल्ट सूची देखना पसंद करूंगा जो आपको नौकरी पर समय बचाती है । तुम्हे क्या प्राप्त हुआ?

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


रिकॉर्ड के लिए, सुपर उपयोगकर्ता पर वहाँ superuser.com/questions/7083/useful-command-line-aliases उपयोगी बैश उपनाम का भार के साथ
Jonik

जवाबों:


7

मैं बहुत सारी अलग-अलग मशीनों से निपटता हूं इसलिए मेरा एक पसंदीदा प्रत्येक मशीन के लिए उपनाम है जिसे मुझे अक्सर SSH करने की आवश्यकता है:

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"

मैं लगभग हमेशा चाहता हूँ egrep:

alias grep="egrep"

सभी अनुभागों से मैन पेज प्राप्त करें

alias man="man -a"

मैंने अक्सर अपने प्रत्येक डिस्क के आकार का पता लगाने awkके लिए आउटपुट के एक निश्चित कॉलम को प्राप्त करने के लिए खुद के माध्यम से पाइपिंग आउटपुट पाया df -h | awk '{print $2}'। इसे आसान बनाने के लिए, मैंने fawkअपने .bashrc में एक फ़ंक्शन बनाया :

function fawk {
    first="awk '{print "
    last="}'"
    cmd="${first}\$${1}${last}"
    eval $cmd
}

मैं अब चला सकता हूं df -h|fawk 2जो एक अच्छा सा टाइपिंग बचाता है।

मैं बहुत सारे पर्ल के साथ काम करता हूं और सिस्टम पर स्थापित मॉड्यूल के संस्करणों को जानने की जरूरत है:

function perlmodver {
    perl -M$1 -e 'print "Version " .
        $ARGV[0]->VERSION . " of " . $ARGV[0] .
        " is installed.\n"' $1
}

3

मैं आमतौर पर सब कुछ टाइप करना पसंद करता हूं, क्योंकि मुझे डर है कि मैं उन सभी कमांडों के बारे में भूल जाऊंगा जिन्हें मैं कुछ समय में उपयोग कर रहा हूं। मुझे पता है कि मैं गलत हो सकता हूं, लेकिन मुझे नहीं लगता कि मुझे सिस्टम के बारे में उतना ही पता होगा, अगर मैंने कमांडब्यू में हर कमांड को अपने .bashrc में पेस्ट किया था ।

ध्यान दें कि मैं यह नहीं कह रहा हूं कि मैं सबसे बड़ा हूं और मुझे पता है कि लिनक्स के बारे में जानने के लिए सब कुछ है, मैं कह रहा हूं कि मैं सिर्फ सीखना चाहता हूं, और याद रखें कि मैंने क्या सीखा है।

यह कहना नहीं है कि मैं इस बात की सराहना नहीं करता हूं कि एलियास को बचाने में कितना समय लगता है (विशेष रूप से बड़े कार्यों के लिए, लेकिन फिर आपको यह देखना होगा कि कोई स्क्रिप्ट बेहतर नहीं है), लेकिन, व्यक्तिगत रूप से, मैं उनका उपयोग नहीं करना चाहता (कम से कम हमेशा नहीं)।

यह कहा जा रहा है, कमांडलाइनफू ने उपनामों के लिए एक विशेष टैग है। यह देखने लायक है।

इसके अलावा मुझे लगता है कि यह एक अच्छा है:

   alias less='less -FSRX'

यह केवल कम उपयोग करेगा यदि आउटपुट स्क्रीन से बड़ा है।


2

हर समय मेरा पसंदीदा:

alias server_name='ssh -v -l username ip_address'

यह स्पष्टीकरण की जरूरत नहीं है, यह करता है? :-)


5
ऐसा नहीं है कि .ssh / config किसके लिए है :-P होस्ट server_name होस्टनाम 1.2.3.4 उपयोगकर्ता नाम आदि
vartec

Bash_completion और tab का उपयोग करते हुए, टैब मेरे लिए ठीक काम करता है, बजाय ssh उपनाम का एक समूह सेट करने के लिए
Clayton Stanley

2

alias lt='ls -lhart'

  • l = long: h = मानव पठनीय आकार: a = all: r = रिवर्स सॉर्ट: t = टाइम सॉर्ट
  • प्रॉम्प्ट के ठीक ऊपर सबसे नीचे नवीनतम फ़ाइल डालता है

alias active='grep -v -e "^$" -e"^ *#"'

  • केवल उन पंक्तियों को दिखाता है जो रिक्त नहीं हैं या टिप्पणी नहीं की गई हैं
  • उदाहरण: सक्रिय /etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'


अच्छा, विशेष रूप से
सुडो

1

मुझे मानना ​​पड़ेगा कि मेरे पास कुछ इस तरह है ।।

alias sl=ls

कोशिश करो और मेरे टाइपोस का मुकाबला करने के लिए :-)

मेरे पास भी है

alias aliases='xterm -e vim ~/.bash_aliases;reload'
alias reload='. ~/.bash_aliases'

तो नए लोगों को जोड़ने के लिए यह अच्छा और सरल है।



1
for host in `awk '{ print $1 }' ~/.hostsILogIntoAllTheTime`; do
  alias $host='ssx '$host
done 

होस्ट को लॉगऑन करने के लिए hostname टाइप करें। नोट: ssx स्वयं एक उपनाम है:

ssx='ssh -Y'

साझा कुंजी के साथ संयुक्त, यह बहुत चालाक है।


1

मुझे गुस्सा आ रहा है, विशेष रूप से सुडो उपसर्ग के साथ, डेबियन / * बंटू में पूरी तरह से उपयुक्त और उपयुक्त-कैश चीजें डालने के लिए मुझे गुस्सा आता है, इसलिए मेरे पास है:

alias apti='sudo apt-get install'
alias aptr='sudo apt-get remove'
alias apts='apt-cache search'



0

मैंने पाया कि यह पृष्ठ मुझे एक csv (tsv वास्तव में) फ़ाइल का उपयोग करने के लिए एक उपनाम बनाने के लिए एक उपनाम की तलाश में है। ऊपर फक फंक्शन लगभग वही था जो मैं चाहता था। मैंने वैकल्पिक दूसरा तर्क, फ़ाइल नाम जोड़ने के लिए थोड़ा संशोधित किया है, इसलिए मैं इसे केवल एक पाइप के बजाय सामान्य रूप से awk की तरह उपयोग कर सकता हूं।

function fawk {
    first="awk '{print "
    last="}' $2"
    cmd="${first}\$${1}${last}"
    echo $cmd
    eval $cmd
}

धन्यवाद!


0

यह एक उपनाम नहीं है, लेकिन उन लोगों को देखकर, जो उपनाम कनेक्शन करते हैं, उपयोगी हो सकते हैं।

ओपेंश पैकेज में ssh-argv0 नामक एक बाइनरी होता है जो सीमलिंक के माध्यम से काम करता है।

तो, अगर आप ऐसा कुछ करते हैं:

sudo ln -s /usr/bin/ssh-argv0 /usr/local/bin/user@ssh.server.com

$ PATH में / usr / लोकल / बिन होने के बाद, अब आप इसे शेल प्रॉम्प्ट में लिखते हुए ssh.server.com को "यूजर" के रूप में कनेक्ट कर सकते हैं:

 $ user@ssh.server.com 

0

ड्रयू स्टीफंस उत्तर के लिए +1। केवल एक जिसे उन्होंने कवर नहीं किया था, वह यह है कि मुझे नियमित आधार पर विभिन्न डॉट फाइल्स को एक्सेस करने की आवश्यकता है जैसे:

alias dotz='vi ~/.zshrc'

ऑन-द-फ्लाई ऐड-अलियास फ़ंक्शन के साथ इसे और आगे ले जाएं:

function add-alias {
echo "alias $1=\047$2\047" >> ~/.zshrc
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.