Favori Unix komut satırı diğer adları? [kapalı]


39

Favori komut satırı takma adları (bash / sh / tcsh) takma adları nelerdir? İşte benimkilerden bir kaç tanesi.

takma ad lsr = 'ls -lrt'
alias gon = 'cd $ HOME / Notlar'
takma ad devdb = 'mysql -h dev --user = x --password = gizli dbname'
takma ad ec = 'rm * ~'; # emacs temizleme
takma ad h = 'tarihçe'
takma ad eb = 'exec bash'; # Solaris bazen varsayılan olarak
takma ad mr = 'daha fazla'
alias mroe = 'daha fazla'
alias qd = 'echo ihracat DISPLAY = $ DISPLAY'
alias ralias = '. $ HOME / .alias'; # reread takma adları
takma ad ,, = 'cd ../ ..'
alias .. = 'cd ..'
takma ad c = 'temizle'

18
Parolanızı komut mysqlsatırına (sunucudaki herkes görebilir!) Girmek yerine, kullanıcı adınızı ve parolanızı bir ~ / .my.cnf dosyasına yerleştirin ve belirtin -up. MySQL araçları bu kimlik bilgilerini otomatik olarak alır, daha fazla bilgi için mysql (1) dosyasını okur.
Alex J

+1 Diğer
adlar

'Mroe' için +1. Yaygın yazım hatalarımla ilgilenmem gerekiyor ...
gWaldo

Yanıtlar:


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

Yeni bir ekran sekmesindeki bir ana bilgisayara, aygıt adı sekme başlığı olarak bağlanın.


11

Şimdiye kadar bahsedilmeyen favorilerim:

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

Normalde bazı şeyleri kısaltan bir takma ad hayranı değilim, ama çok fazla yazıyorum ve sadece bir elime ihtiyacım var.


+1 - fena fikir değil
Rook

1
ls (ve cd) sadece bir ele ihtiyaç duyar ... eğer anahtar harita Dvoraksa! Bu konuda 'Enter' ile aynı el.
gbarry

8

hiçbiri, hiçbir zaman oturum açacağım HER sistemde (kendim, root veya kim olarak) yapılandırılacağını garanti edemem.


1
Kesinlikle! Takma adlar gibi zararsız şeyler ls = "ls --color = auto iyidir, ama rm komutunu vs. değiştirir.? Asla.
user9474

7

Hiçbiri, sistemler arasında her gün o kadar fazla değişiklik yapıyorum ki temelde ondan vazgeçtim.


Ev dizinlerinizi çeşitli makineler arasında senkronize etmiyor musunuz? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
Andy Lester

5k makinelerin etrafındaki diğer bir grup yöneticiyle sürdürdüm, bu makinelerin çoğu ömrü boyunca hiçbir zaman uzaktan etkileşimli bir kullanıcı oturumuna sahip olmadı (tüm kurulum ve yapılandırma otomatik olarak gerçekleşiyor), bazen garip bir sorun var ve oturum açmanız gerekiyor. Kullanıcı yöneticilerinin hesabını, paylaşılan bir NFS bölümünden otomatik olarak bağlamaları gerektiğini düşündük, ancak kullanımı için buna değmez.
Martin P. Hellwig

1
... yönetici / kök hesapları yok nfs dizinlerini kendi yolunda içerir - NFS bork olduğunda, yönetici / kök hesapları da öyle. Müşterilerimden bazıları bunu zor yoldan öğrenmekte ısrar ediyor.
David Mackintosh

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

"Takma ad listem" in toplam içeriği:



"Normalde" çalışmadığım unix makinelerini tamir etmek için yeterince zaman harcadım (bir yazılım evi için şirket içi unix yöneticisi olmanın dezavantajlarından biri, müşteri sitelerinde bitirdiniz, A Lot). "Unalias -a" yapmak, normal üretim yöneticisinin herhangi bir takma adı yanlış hecelemeyle etkileşime girmemesi, bundan sonra kişiselleştirmek için çok fazla güçlük çekmem.

Bu benim de normal kullanımıma geçti.


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

Birçoğunun aynı fikirde olmadığını biliyorum ama güvenlik ağlarını seviyorum . (Lütfen tcsh kullandığım için beni affetmeye çalışın.)

Bu biraz benzer olan olsa da, yasa dışı bırakılmalıdır:

alias rm 'rm -i'

Bu takma adı olan sistemlerde eğitim görmüş insanları gördüm ve sonra rm *hangi dosyaları silmeleri gerektiğiyle ilgili sorular almayı bekleyen başka bir sisteme yazdılar ve sonra orada oturduğunu ve tam olarak ne yapması gerektiğini izlediklerini gördüler.

DÜZENLE:

Yorumların bir kısmı çöp kutusuna taşıma takma adını "-i" bayrağıyla karşılaştırarak benzer olduklarını söyledi. Ama benim için önemli bir fark var. "-İ" ile komutu her kullanışınızda onay istemi alırsınız ve bu beklediğiniz ve güvendiğiniz bir şey olur. Öte yandan çöp sepeti çözümü, bir hata yapıp bir dosyayı çıkarmanız gerekene kadar standart rm gibi çalışır. Eğitim tekerlekleri ile bagajdaki yedek lastik arasındaki fark gibi.


bash eşdeğeri bir işlev gerektirir: del () {yol = readlink -f "$1"mkdir -p $ WASTE $ yol mv $ yol $ WASTE $ yol} Mükemmel değil (dosya adıyla yeni bir dizin oluşturur) ancak düzgün çalışır. (
newlines

+1: Ben de Tcsh kullanıyorum :-)

+1: tcsh kullandığın için affedilir;)
bedwyr

6
Adil olmak gerekirse, bir onay istemi bekliyor ve birini almamak bir çöp sepetine girmesini beklemek kadar kötü bir şey oluyor. Gerçekten fark yok.
Dan Udey,

@Dan: Ben de aynı şeyi düşündüm. Takma adı gerçekten rm olarak adlandırılmamalı, çöp sepeti için wb veya benzeri bir şey olmalıdır.
user9474,

4

Bunlar zsh içindir, ancak onları kolayca başka bir kabuğa taşıyabileceğinizi hayal ediyorum:

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

Cehaletim için üzgünüm, sudo vim ve sudoedit arasındaki fark nedir? Sudo edit = sudo $ EDITOR mı?
olle,

sudoedit, editörünüzü root olarak değil, hesabınızın altında çalıştırır. Bu, kendi ~ / .vimrc'nize vb. Erişebileceğiniz anlamına gelir.
Alex J

1
Değiştirmek için 1 sudo vi <somefile>için sudoedit <somefile! + eğer yapabilirsem
Kevin M

4

İşte favorilerimden bazıları. (Birkaçı ZSH'ye özgüdür.)

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

gerekli olmayan birçok takma ad var:

takma ad c = 'temizle'

sadece [Ctrl] + [L] tuşlarına basarak değiştirilebilir

alias mroe = 'daha fazla'

ve benzerleri: zsh varsayılan olarak yazım düzeltmesi sağlar, bash uzantıları ile yapar

alias bir şey = "history | grep $ @"

[Ctrl] + [R] tuşlarına bash / zsh ile aynı şeyi yapar

geri = 'cd $ OLDPWD'

Aynı şey her kabuğun içinde yapılabilir.

cd -

3
jldugger @ jldugger: ~ $ alias 
takma ad ls = 'ls --color = auto'
takma ad youtube-dl = 'youtube-dl -t

Ls için +1 = 'ls --color = auto'
Matt Simmons



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'


Bazı durumlarda, pgrep yararlıdır. Aynı etki değil, ama yine de faydalı.
Juliano

2

Bir şey için eski perl komut dosyalarını aramak için:

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

Kendime bir dosya gönder.

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

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

Diğer sistemlerde çok sık özlüyorum


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

Tarihinizde en çok kullanılan 10 komutu gösterin.


kısa versiyonu, awk gerek yok: tarih | kesilmiş -f 5 -d '' | sıralama | uniq -c | sıralama -n | kuyruk
Marcin

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

Tüm şifrelerimi nasıl hatırlıyorum ...


1

İşte en sevdiğim, mevcut ve alt dizinlerdeki tüm Python kodunda, alt sürüm ile ilişkili olanlar hariç, bir şeyler bulmak:

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


1

Bashrc’mden birkaçı koptu:

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

Genellikle, genellikle sistem kullanır ve o kadar başka ad ne paket yöneticisi üzerinden benim bashrc rakam var aptve yumhangi benim bashrc'de çalıştığı, sadece yapabileceğim herhangi bir makinede, yani:

apt search foo
yum install foo
apt update

Mükemmel değil ama ortak eylemlerin çoğu yum ve yetenek arasında aynıdır, daha karmaşık bir şey yapmaya çalıştığınız zaman ne işletim sistemini kullandığınızı hatırlayabilirsiniz.


1

Muhtemelen benim favorim, çünkü yeni takma adları yazmayı çok kolaylaştırıyor:

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

1

Bunun en sevdiğim takma ad olduğunu söyleyebilirim.

takma ad devam = 'screen -D -R'

Windows iş istasyonum her hafta sonu otomatik olarak yeniden başlatıldıktan sonra (Firma'nın politikası) çok kullanışlı olduğunu kanıtladı.


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 zaten $ PATH'nizde olmalı: uname; Hangi vboxheadless Darwin / usr / bin / vboxheadless
olle 16

1

Bu, çoğu linux masaüstünde çalışır:

alias go='xdg-open'

Windows'daki start komutuna benzer şekilde kayıtlı uygulamayla bir belge veya klasör açar.


1
Xdg-open olarak değiştirin ve herhangi bir XDG uyumlu masaüstü ortamında çalışmalıdır.
Juliano

1

Yığına eklemek için birkaç tane daha:

# 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'

Parolaları böyle komut dosyalarında saklamak, eğer 600'e sahip olmadığınız sürece, potansiyel olarak tehlikelidir.
Marcin,

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

Komut satırından hızlı aritmetik yapın. Genişlemeyi önlemek için çarpma için "x" kullanın.

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


$ math 12,537.2 x 4
50148.8

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.