Alias ​​baris perintah Unix favorit? [Tutup]

39

Apa alias baris perintah favorit Anda (bash / sh / tcsh)? Ini beberapa milik saya.

alias lsr = 'ls -lrt'
alias gon = 'cd $ HOME / Notes'
alias devdb = 'mysql -h dev --user = x --password = rahasia dbname'
alias ec = 'rm * ~'; # pembersihan emacs
alias h = 'histori'
alias eb = 'exec bash'; # Solaris terkadang default ke sh
alias mr = 'lebih banyak'
alias mroe = 'lagi'
alias qd = 'echo export DISPLAY = $ DISPLAY'
alias ralias = '. $ HOME / .alias '; # baca ulang alias
alias ,, = 'cd ../ ..'
alias .. = 'cd ..'
alias c = 'jelas'
anon
sumber
18
Daripada memasukkan kata sandi Anda pada commandline ke mysql(siapa pun di server bisa melihatnya!), Masukkan nama pengguna dan kata sandi dalam file ~ / .my.cnf, dan cukup tentukan -up. Alat MySQL akan mengambil kredensial itu secara otomatis, baca mysql (1) untuk info lebih lanjut.
Alex J
+1 Untuk alias .. = 'cd ..'
mosg
+1 untuk 'mroe'. Saya harus mengurus kesalahan ejaan umum saya ...
gWaldo

Jawaban:

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

Sambungkan ke host di tab layar baru, dengan nama perangkat sebagai judul tab.

Murali Suriar
sumber
11

Favorit saya yang belum disebutkan sejauh ini:

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

Saya biasanya bukan penggemar alias yang hanya mempersingkat, tapi saya mengetik ls sangat banyak, dan saya hanya membutuhkan satu tangan.

C Bajak Laut
sumber
+1 - bukan ide yang buruk
Rook
1
ls (dan cd) hanya perlu satu tangan ... jika keymap adalah Dvorak! Tangan yang sama dengan 'Enter', dalam hal ini.
gbarry
8

tidak ada karena saya tidak pernah bisa menjamin mereka akan dikonfigurasi pada SETIAP sistem saya akan login (seperti saya sendiri, root, atau siapa pun).

TCampbell
sumber
1
Persis! Hal-hal berbahaya seperti ls alias = "ls --color = auto-baik saja, tetapi mengubah perintah rm dll Jangan?.
user9474
7

Tidak ada, saya begitu banyak berubah antar sistem setiap hari sehingga pada dasarnya saya menyerah saja.

Martin P. Hellwig
sumber
Anda tidak menyinkronkan direktori home Anda di antara berbagai mesin? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
Andy Lester
Saya menjaga dengan sekelompok administrator lain di sekitar mesin 5k, sebagian besar mesin ini selama masa hidup mereka tidak pernah memiliki sesi pengguna interaktif jarak jauh (semua instalasi dan konfigurasi terjadi secara otomatis), kadang-kadang ada masalah aneh dan Anda harus masuk. Kami telah mempertimbangkan untuk membuat akun admin pengguna untuk dipasang secara otomatis dari partisi NFS yang dibagikan, tetapi untuk penggunaannya tidak sepadan.
Martin P. Hellwig
1
... tidak memiliki akun admin / root termasuk direktori nfs di jalurnya - ketika NFS adalah bork, begitu juga admin / akun root. Beberapa klien saya bersikeras belajar ini dengan cara yang sulit.
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; }
z8000
sumber
6

Total konten "daftar alias" saya adalah:



Saya telah menghabiskan cukup banyak waktu untuk memperbaiki mesin unix yang saya tidak "biasanya" bekerja dengan (salah satu kelemahannya adalah menjadi admin unix in-house untuk rumah perangkat lunak, Anda berakhir di situs pelanggan, A Lot) bahwa hal pertama Yang saya lakukan adalah "unalias -a", hanya saja alias admin produksi normal tidak berinteraksi dengan salah ejaan, setelah itu terlalu repot untuk menyesuaikan.

Ini telah terbawa ke dalam penggunaan normal saya juga.

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

Saya tahu banyak yang akan tidak setuju, tetapi saya suka jaring pengaman. (Dan tolong maafkan saya karena menggunakan tcsh.)

Yang agak mirip ini harus dilarang, meskipun:

alias rm 'rm -i'

Saya telah melihat orang-orang yang dilatih pada sistem dengan alias itu, dan kemudian mereka mengetik rm *pada beberapa sistem lain, berharap mendapatkan pertanyaan tentang file mana yang akan dihapus, dan kemudian mereka duduk di sana dan menontonnya melakukan persis apa yang seharusnya dilakukan.

EDIT:

Beberapa komentar membandingkan alias pindah-ke-keranjang sampah dengan bendera "-i", mengatakan bahwa mereka serupa. Tetapi bagi saya, ada perbedaan penting. Dengan "-i", Anda mendapatkan prompt konfirmasi setiap kali Anda menggunakan perintah, dan itu menjadi sesuatu yang Anda harapkan dan andalkan. Solusi keranjang sampah, di sisi lain, bekerja persis seperti rm standar, sampai Anda benar-benar membuat kesalahan dan perlu menghapus file. Ini agak seperti perbedaan antara roda pelatihan dan ban cadangan di bagasi.

Thomas Padron-McCarthy
sumber
ekuivalen bash memerlukan fungsi: del () {path = readlink -f "$1"mkdir -p $ WASTE $ path mv $ path $ WASTE $ path} Tidak sempurna (karena ia membuat direktori baru dengan nama file) tetapi berfungsi ok. (menempatkan di baris yang tersisa sebagai latihan bagi pembaca!)
gbjbaanb
+1: Saya juga menggunakan Tcsh :-)
+1: Anda dimaafkan karena menggunakan tcsh;)
bedwyr
6
Baik dalam keadilan, mengharapkan konfirmasi prompt dan tidak mendapatkannya sama buruknya dengan mengharapkan untuk masuk ke keranjang sampah dan itu tidak terjadi. Tidak ada perbedaan, sungguh.
Dan Udey
@ Dan: Saya juga berpikiran sama. Alias ​​sebenarnya tidak boleh disebut rm, tetapi wb untuk keranjang sampah, atau yang serupa.
user9474
4

Ini untuk zsh, tapi saya kira Anda bisa memindahkannya ke shell lain dengan mudah:

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
Alex J
sumber
Maaf atas ketidaktahuan saya, apa perbedaan antara sudo vim dan sudoedit? Apakah sudo edit = sudo $ EDITOR?
olle
sudoedit menjalankan editor Anda di bawah akun Anda, bukan sebagai root. Itu berarti Anda mendapatkan akses ke ~ / .vimrc Anda sendiri dan seterusnya.
Alex J
1
+1 untuk diubah sudo vi <somefile>menjadi sudoedit <somefile! + lebih banyak jika saya bisa
Kevin M
4

Inilah beberapa favorit saya. (Beberapa spesifik untuk 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 :)
Tom
sumber
4

Untuk kolega yang bermasalah:

alias ls=rm
Mark Harrison
sumber
2
Saya lebih suka yang lebih halus "alias vi = vi -R"
David Mackintosh
4

ada banyak alias di sini yang tidak perlu:

alias c = 'jelas'

dapat diganti hanya dengan menekan [Ctrl] + [L]

alias mroe = 'lagi'

dan yang serupa: zsh menyediakan koreksi ejaan secara default, bash melakukannya dengan ekstensi

alias something = "history | grep $ @"

menekan [Ctrl] + [R] melakukan hal yang sama di bash / zsh

kembali = 'cd $ OLDPWD'

hal yang sama dapat dilakukan di setiap shell dengan

cd -
Skaarj
sumber
3
jldugger @ jldugger: ~ $ alias 
alias ls = 'ls --color = auto'
alias youtube-dl = 'youtube-dl -t
jldugger
sumber
+1 untuk ls = 'ls --color = auto'
Matt Simmons
3
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
Andrei Serdeliuc
sumber
1
Untuk yang pertama coba "ack". itu adalah programmer grep;) betterthangrep.com
hayalci
3
alias cdd='cd /wherever/my/current/project/is'
kekacauan
sumber
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'
GNUix
sumber
2

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

disserman
sumber
Dalam beberapa kasus, pgrep bermanfaat. Bukan efek yang sama, tetapi tetap bermanfaat.
Juliano
2

Untuk mencari skrip perl lama untuk sesuatu:

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

Kirim email kepada saya sendiri file:

alias mailthis 'mail -s mailthis [email protected] < '
mmarchin
sumber
1
alias l='ls --color=auto -lsah'
alias ..='cd ..'

Saya sangat merindukannya di sistem lain

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

Tampilkan 10 perintah teratas yang paling sering digunakan dalam riwayat Anda.

pete
sumber
versi lebih pendek, tidak perlu awk: history | cut -f 5 -d '' | sortir | uniq -c | sort -n | tail
Marcin
1
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

Bagaimana saya mengingat semua kata sandi saya ...

aultl
sumber
1

Ini adalah favorit saya, untuk menemukan sesuatu di semua kode Python di direktori saat ini dan anak, tidak termasuk yang terkait dengan subversi:

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

Joel
sumber
1

Beberapa memetik dari bashrc saya:

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

Secara umum, saya biasanya meminta bashrc saya mencari tahu apa yang digunakan oleh manajer paket sistem dan kemudian menggunakannya sebagai aptdan yum, artinya pada mesin apa pun di mana bashrc saya berjalan, saya hanya dapat melakukan:

apt search foo
yum install foo
apt update

Itu tidak sempurna tetapi sebagian besar tindakan umum adalah sama antara yum dan bakat, pada saat Anda mencoba untuk melakukan sesuatu yang lebih rumit, Anda hanya dapat mengingat apa OS Anda.

James Hannah
sumber
1

Mungkin favorit saya, karena membuat alias baru jadi mudah:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
Telemakus
sumber
1

Saya akan mengatakan ini adalah alias favorit saya.

alias resume = 'layar -D -R'

Itu terbukti sangat berguna setelah windows workstation saya secara otomatis reboot setiap akhir pekan (kebijakan perusahaan).

fletchnj
sumber
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
daeltar
sumber
vboxheadless seharusnya sudah dalam $ PATH Anda: uname; yang vboxheadless Darwin / usr / bin / vboxheadless
olle
1

Yang ini berfungsi di sebagian besar desktop linux:

alias go='xdg-open'

Buka dokumen atau folder dengan aplikasi terdaftar, mirip dengan perintah mulai di windows.

amarillion
sumber
1
Ubah ke xdg-open dan itu akan berfungsi pada lingkungan desktop yang sesuai dengan XDG.
Juliano
1

Beberapa lagi untuk ditambahkan ke tumpukan:

# 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'
yalestar
sumber
Menyimpan kata sandi dalam skrip seperti ini berpotensi berbahaya, kecuali jika Anda mendapatkannya 600. Juga saat eksekusi kata sandi Anda masuk ke file histori - juga berpotensi berbahaya.
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()"'
Jorge Bernal
sumber
1

Lakukan aritmatika cepat dari baris perintah. Gunakan "x" untuk perkalian untuk menghindari ekspansi.

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


$ math 12,537.2 x 4
50148.8
Gerald Combs
sumber