पसंदीदा यूनिक्स कमांड लाइन उपनाम? [बन्द है]


39

आपके पसंदीदा कमांड लाइन उपनाम (बैश / श / tsh) अलायस क्या हैं? यहां मेरे कुछ हैं।

उर्फ lsr = 'ls -lrt'
उर्फ गॉन = 'सीडी $ होम / नोट्स'
उर्फ देवदाब = 'mysql -h dev --user = x --password = secret dbname'
उपनाम अन्य = 'आरएम * ~'; # इमेक क्लीनअप
उर्फ एच = 'इतिहास'
alias eb = 'निष्पादन बश'; # सोलारिस कभी-कभी शेक करने के लिए चूकता है
उर्फ श्री = 'अधिक'
उर्फ मेरो = 'और'
उर्फ qd = 'प्रतिध्वनि निर्यात प्रदर्शन = $ प्रदर्शन'
उर्फ रलीस = '। $ HOME / .alias '; # एलियंस को फिर से पाला
उपनाम, = 'cd ../ ..'
उर्फ .. = 'सीडी ..'
उपनाम c = 'स्पष्ट'

18
कमांडलाइन पर अपना पासवर्ड पास करने के बजाय mysql(सर्वर पर कोई भी व्यक्ति इसे देख सकता था!), उपयोगकर्ता नाम और पासवर्ड को ~ / .my.cnf फ़ाइल में डालें, और बस निर्दिष्ट करें -up। MySQL उपकरण उन क्रेडेंशियल्स को स्वचालित रूप से उठाएंगे, अधिक जानकारी के लिए mysql (1) पढ़ें।
एलेक्स जे

+1 उर्फ के लिए .. = 'सीडी ..'
मग

'मेरो' ​​के लिए +1। मुझे अपने सामान्य
प्रक्षेपास्त्रों

जवाबों:


12
function s()
{
    screen -t "$@" /usr/bin/ssh "$@"
}

टैब शीर्षक के रूप में डिवाइस नाम के साथ एक नई स्क्रीन टैब में एक मेजबान से कनेक्ट करें।


11

मेरा पसंदीदा जो अब तक उल्लेख नहीं किया गया है:

alias l='ls'
alias u='cd ..'
alias uu='cd ../..'
alias uuu='cd ../../..'
alias uuuu='cd ../../../..'

मैं आमतौर पर उपनामों का प्रशंसक नहीं हूं जो सिर्फ चीजों को छोटा करता है, लेकिन मैं एलएस को बहुत टाइप करता हूं, और एल को केवल एक हाथ की जरूरत है।


+1 - नहीं एक बुरा विचार
रूक

1
ls (और cd) को केवल एक हाथ की आवश्यकता होती है ... यदि कीमैप Dvorak है! उस मामले के लिए 'एन्टर' के समान हाथ।
दोपहर

8

जब से मैं गारंटी नहीं दे सकता कि वे कभी भी मेरे सिस्टम में कॉन्फ़िगर नहीं किए जाएंगे (मैं खुद, रूट, या जो भी हो)।


1
ठीक ठीक! उर्फ ls = "ls --color = auto जैसी हानिकारक चीजें ठीक हैं, लेकिन rm कमांड को बदलना
user9474

7

कोई नहीं, मैं सिस्टम के बीच हर दिन इतना बदल जाता हूं कि मैंने मूल रूप से इसे छोड़ दिया।


आप विभिन्न मशीनों के बीच अपने घर निर्देशिकाओं को सिंक नहीं करते हैं? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
एंडी लेस्टर

मैं 5k मशीनों के आसपास अन्य प्रशासकों के एक समूह के साथ बनाए रखता हूं, इन मशीनों में से अधिकांश अपने पूरे जीवनकाल के दौरान कभी भी रिमोट इंटरएक्टिव उपयोगकर्ता सत्र नहीं था (सभी स्थापना और कॉन्फ़िगरेशन स्वचालित रूप से होता है), कभी-कभी एक अजीब समस्या होती है और आपको लॉग ऑन करना पड़ता है। हमने एक साझा NFS विभाजन से उपयोगकर्ता के खाते को ऑटो माउंट करने के लिए माना है, लेकिन इसके उपयोग के लिए इसके लायक नहीं है।
मार्टिन पी। हेलविग

1
... नहीं है व्यवस्थापक / रूट खातों में इसके रास्ते में nfs निर्देशिकाएं शामिल हैं - जब NFS बर्क है, तो व्यवस्थापक / रूट खाते हैं। मेरे कुछ ग्राहक इसे कठिन तरीके से सीखने पर जोर देते हैं।
डेविड मैकिन्टोश

6
alias ..="cd .."
alias ...="cd ../.."

# mkdir and enter it immediately thereafter
mcd()           { mkdir $1 && cd $1; }

# when entering a directory, list the contents.
cd()            { builtin cd "$@" && ls; }

6

मेरी "उपनाम सूची" की कुल सामग्री है:



मैंने यूनिक्स मशीनों को ठीक करने में पर्याप्त समय बिताया है जो मैं "सामान्य रूप से" काम नहीं करता हूं (एक सॉफ्टवेयर हाउस के लिए इन-हाउस यूनिक्स एडमिन में से एक है, आप ग्राहक साइटों, ए लॉट) पर समाप्त होते हैं कि पहली बात मैं "अनलियास-ए" करता हूं, बस इतना है कि किसी भी सामान्य उत्पादन व्यवस्थापक को गलत वर्तनी के साथ बातचीत करने के लिए नहीं हुआ है, इसके बाद इसे अनुकूलित करने के लिए बहुत अधिक परेशानी है।

यह मेरे सामान्य उपयोग में भी ले गया है।


6
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'

मुझे पता है कि कई असहमत होंगे, लेकिन मुझे सुरक्षा जाल पसंद हैं। (और tcsh का उपयोग करने के लिए मुझे क्षमा करने का प्रयास करें।)

यह कुछ इसी तरह का होना चाहिए, हालांकि गैरकानूनी:

alias rm 'rm -i'

मैंने ऐसे लोगों को देखा है, जिन्हें उस उपनाम के साथ सिस्टम पर प्रशिक्षित किया गया था, और फिर वे rm *किसी अन्य सिस्टम पर टाइप करते हैं, यह प्रश्न करने की अपेक्षा करते हैं कि कौन सी फ़ाइलों को हटाना है, और फिर वे वहां बैठते हैं और इसे देखते हैं कि यह वास्तव में क्या करना है।

संपादित करें:

कुछ टिप्पणियों ने "-i" ध्वज के साथ चाल-टू-वास्ताबस्केट उर्फ ​​की तुलना करते हुए कहा कि वे समान हैं। लेकिन मेरे लिए, एक महत्वपूर्ण अंतर है। "-I" के साथ, आपको कमांड का उपयोग करने पर हर बार पुष्टिकरण मिलता है, और यह कुछ ऐसी चीज बन जाती है जिसकी आप उम्मीद करते हैं और जिस पर भरोसा करते हैं। दूसरी ओर, रैस्टैबसेट समाधान, मानक आरएम की तरह ही काम करता है, जब तक कि आप वास्तव में कोई गलती नहीं करते हैं और किसी फाइल को अन-रिमूव करने की आवश्यकता होती है। यह ट्रंक में प्रशिक्षण पहियों और एक अतिरिक्त टायर के बीच अंतर की तरह है।


bash समतुल्य एक फ़ंक्शन की आवश्यकता है: del () {path = readlink -f "$1"mkdir -p $ WASTE $ path mv $ path $ WASTE $ path} इसका सही नहीं है (जैसा कि यह फ़ाइल नाम के साथ एक नई dir बनाता है) लेकिन यह ठीक है। (newlines में पाठक के लिए व्यायाम के रूप में छोड़ दिया जाता है!)
gbjbaanb

+1: मैं Tcsh का उपयोग भी करता हूं :-)

+1: आप tcsh का उपयोग करने के लिए क्षमा किए जाते हैं;)
शयनकक्ष

6
अच्छी तरह से निष्पक्षता में, एक पुष्टिकरण प्रॉम्प्ट की उम्मीद करना और एक नहीं प्राप्त करना उतना ही बुरा है जितना कि एक अपशिष्ट जल में जाने की उम्मीद करना और ऐसा नहीं होना। वास्तव में कोई अंतर नहीं है।
दान उदेय

@ दान: मैंने ऐसा ही सोचा था। उपनाम को वास्तव में rm नहीं कहा जाना चाहिए, लेकिन wastebasket के लिए wb, या कुछ इसी तरह।
user9474

4

ये zsh के लिए हैं, लेकिन मुझे लगता है कि आप इन्हें आसानी से दूसरे शेल में पोर्ट कर सकते हैं:

sudo() { [[ $1 == (vi|vim) ]] && shift && sudoedit "$@" || command sudo "$@"; } # sudo vi/vim => sudoedit
wst() { TZ=Australia/Perth date } # get local time no matter what server I'm on

FULLHOST=`hostname -f` 2>/dev/null || FULLHOST=`hostname` # reasonably portable, always gets a DHCP suffix too (if one exists)
SHORTHOST=`echo $FULLHOST | cut -d. -f1-2` # get the first two segments of hostname, which I used in my shell prompt

मेरी अज्ञानता के लिए क्षमा करें, सूदो विम और सूदित के बीच क्या अंतर है? क्या sudo edit = sudo $ EDITOR है?
ओले

sudoedit आपके संपादक को रूट के बजाय आपके खाते के अंतर्गत चलाता है। इसका मतलब है कि आप अपने खुद के ~ / .vimrc तक पहुंच सकते हैं और इसी तरह।
एलेक्स जे

1
बदलने के sudo vi <somefile>लिए +1 sudoedit <somefile! + और अगर मैं कर सकता हूँ
केविन एम

4

यहां मेरे कुछ फेवरिट दिए गये हैं। (कुछ ZSH- विशिष्ट हैं।)

alias ls='ls -F --color=auto'
alias l='ls'
alias ll='ls -ahl'
alias ..='cd ..'
alias ...='cd ../..'
alias mv='mv -i'
alias mmv='noglob zmv -W'
alias mcp='mmv -C'

mkcd() {
        if [ $1 = "" ]; then
                echo "Usage: mkcd <dir>"
        else
                mkdir -p $1
                cd $1
        fi
}

# ZSH global aliases for piping
alias -g H="| head"
alias -g T="| tail"
alias -g C="| wc -l"
alias -g L="| less"
alias -g G="| grep"
alias -g S="| sed -e"
alias -g A="| awk"

# Subversion related
alias ss='svn status'
alias sd='svn diff'
alias sc='svn commit'

# Git related
alias gs='git status'
alias gc='git commit'
alias ga='git add'
alias gd='git diff'
alias gb='git branch'
alias gl='git log'
alias gsb='git show-branch'
alias gco='git checkout'
alias gg='git grep'
alias gk='gitk --all'
alias gr='git rebase'
alias gri='git rebase --interactive'
alias gcp='git cherry-pick'
alias grm='git rm'

fortune -s  # Add to your profile to brighten your day :)


4

यहाँ बहुत सारे उपनाम हैं जो अजीब नहीं हैं:

उपनाम c = 'स्पष्ट'

बस [Ctrl] + [L] दबाने से प्रतिस्थापित किया जा सकता है

उर्फ मेरो = 'और'

और इसी तरह: zsh डिफ़ॉल्ट रूप से वर्तनी सुधार प्रदान करता है, बैश इसे एक्सटेंशन के साथ करता है

उपनाम कुछ = "इतिहास | grep $ @"

[Ctrl] + [R] दबाने पर वही काम bash / zsh में होता है

वापस = 'cd $ OLDPWD'

हर शेल में ऐसा ही किया जा सकता है

सीडी -




2
alias ls="ls --color=auto -A -h -i -s --group-directories-first -l"
alias screen="screen -U"
alias sscreen="~/Projects/bin/start_screen.sh"
alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | emacs'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'

2

p = 'ps auxww | grep -v grep | grep'


कुछ मामलों में, pgrep उपयोगी है। समान प्रभाव नहीं, लेकिन फिर भी उपयोगी है।
जुलियानो

2

किसी चीज़ के लिए पुरानी पर्ल स्क्रिप्ट की खोज करने के लिए:

alias searchperl 'find /place1 /place2 /place3 -name "*.pl" | xargs grep

अपने आप को एक फ़ाइल ईमेल करें:

alias mailthis 'mail -s mailthis email@email.com < '

1
alias l='ls --color=auto -lsah'
alias ..='cd ..'

मैं इसे अन्य प्रणालियों पर बहुत बार याद करता हूं


1
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

अपने इतिहास में शीर्ष 10 सबसे अधिक उपयोग किए जाने वाले आदेश दिखाएं।


छोटा संस्करण, awk की कोई आवश्यकता नहीं: इतिहास | cut -f 5 -d '' | सॉर्ट | uniq -c | सॉर्ट-एन | पूंछ
मार्सिन

1
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

मुझे अपने सभी पासवर्ड कैसे याद हैं ...


1

यहाँ मेरा पसंदीदा है, वर्तमान और बाल निर्देशिकाओं में पायथन कोड के सभी में कुछ खोजने के लिए, तोड़फोड़ से जुड़े लोगों को छोड़कर:

alias greppy="find . | grep -v [.]svn | grep [.]py$ | xargs grep "


1

कुछ मेरे bashrc से plucked:

alias grep='grep --color=auto'
alias egrep='grep -E --color=auto'
alias e='$EDITOR'
alias g='git'
alias csort='sort | uniq -c | sort -n' # column sort piped data
alias sl='ls' # fat fingers

आम तौर पर, मैं आमतौर पर मेरी bashrc आंकड़ा बाहर क्या पैकेज प्रबंधक प्रणाली का उपयोग करता है और फिर इसे के रूप में एलियास होता है aptऔर yum, किसी भी मशीन पर जिसका अर्थ है जो मेरे bashrc रन पर, मैं सिर्फ कर सकते हैं:

apt search foo
yum install foo
apt update

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


1

शायद मेरा पसंदीदा, क्योंकि यह नए उपनाम लिखना इतना आसान बनाता है:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'

1

मैं कहूंगा कि यह मेरा पसंदीदा उपनाम है।

उर्फ फिर से शुरू = 'स्क्रीन -D -R'

यह बहुत उपयोगी साबित होता है, जब मेरे विंडोज़ वर्कस्टेशन को हर सप्ताहांत (फर्म की पॉलिसी) स्वतः रिबूट कर दिया जाता है।


1
if [ "$(uname)"="darwin" ]; then
  EDITOR=mate
  PATH=$PATH:~/.bin
  alias sleep_hdd='sudo pmset -a hibernatemode 1'
  alias sleep_ram='sudo pmset -a hibernatemode 0'
  alias sleep_combined='sudo pmset -a hibernatemode 3'
  alias cdproj='cd ~/Projects/Web'
  alias e='mate'
  alias vboxheadless='VBoxHeadless -startvm '
  alias subash='sudo bash'
fi

if [ "$(uname)" = "SunOS" ]; then
  alias ls='ls -F'
  alias e='vim'
  alias subash='pfexec bash'
fi

vboxheadless पहले से ही आपके $ PATH में होना चाहिए: uname; जो vboxheadless डार्विन / usr / bin / vboxheadless
olle

1

यह सबसे अधिक लिनक्स डेस्कटॉप पर काम करता है:

alias go='xdg-open'

विंडोज़ पर स्टार्ट कमांड के समान, पंजीकृत एप्लिकेशन के साथ एक दस्तावेज़ या फ़ोल्डर खोलता है।


1
इसे xdg-open में बदलें और इसे किसी भी XDG- अनुरूप डेस्कटॉप वातावरण पर काम करना चाहिए।
जुलियानो

1

ढेर में जोड़ने के लिए कुछ और:

# little bit more readable PATH
alias path='echo -e ${PATH//:/\\n}'

# like others, I find these more efficient than
# typing cd ../../ etc
alias up='cd ..'
alias 2up='cd ../../'
alias 3up='cd ../../../'
alias 4up='cd ../../../../'

# found myself always mistyping this, so...
alias findy='find . -name'


alias targz='tar -xzvf'
alias hg='history | grep '
alias cls='clear'

# handy for the xclip tool
alias xclip='xclip -selection c'

# quick directory listing
alias ldir='ls -d */'

alias mys='mysql -uroot -psecret name-of-frequently-used-DB' 

alias trash='mv -t ~/.local/share/Trash/files --backup=t'
alias vb='vim ~/.bashrc'
alias +='pushd .'
alias _='popd'

इस तरह से स्क्रिप्ट में पासवर्ड स्टोर करना तब तक खतरनाक होता है, जब तक कि आपको यह 600 न ​​मिल जाए। निष्पादन के साथ ही आपका पासवर्ड इतिहास फ़ाइल में चला जाता है - संभावित रूप से खतरनाक भी।
मारकिन

1
alias dsclean='find . -name .DS_Store -exec rm \{\} \;'
alias l='ls -lh'
alias ls='ls -G'

# Depends on your specific router
alias myip='curl -sn http://192.168.1.1/wancfg.cmd?action=view | grep td | tail -1 | tr -d '\''/<>a-z '\'''

# Start/stop local mysql installation
alias myserver='sudo /usr/local/mysql/support-files/mysql.server'
alias rssh='ssh -l root'
alias sc='./script/console'
alias sr='screen -r'
alias ss='./script/server'
alias sss='screen ./script/server'
alias up='svn up'
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'

1

कमांड लाइन से त्वरित अंकगणित करें। विस्तार से बचने के लिए गुणा के लिए "x" का उपयोग करें।

function math
{       
    echo "scale=2 ; $*" | sed -e "s:x:*:g" | sed -e "s:,::g" | bc
}


$ math 12,537.2 x 4
50148.8

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.