Alias ​​bash yang berguna dan hasilkan daftar perintah yang paling sering Anda gunakan

10

Saya menemukan artikel ini membahas cara cepat untuk mengurutkan riwayat bash Anda dan melihat perintah mana yang paling sering Anda gunakan:

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

Ini benar-benar membuka mata Anda untuk tugas-tugas yang harus Anda buat alias dan tugas mana yang harus Anda cronjob sepenuhnya.

Saya ingin melihat daftar ServerFault alias baris perintah yang direkomendasikan yang menghemat waktu Anda di pekerjaan itu . Apa yang kamu punya

Di antara kami, saya berani bertaruh kami dapat menyimpan setiap pengguna yang membaca posting ini setidaknya 10 menit sehari. (Minus hari pertama dimana mereka membuang-buang waktu mereka membaca ServerFault bukannya melakukan pekerjaan mereka tentu saja!)

Jax
sumber
Sebagai catatan, di Super User ada superuser.com/questions/7083/useful-command-line-aliases dengan banyak alias Bash yang berguna
Jonik
Lihat juga: serverfault.com/questions/15365/...
Aaron Copley

Jawaban:

7

Saya berurusan dengan banyak mesin yang berbeda sehingga salah satu favorit saya adalah alias untuk setiap mesin yang saya harus sering SSH untuk:

alias claudius="ssh dinomite@claudius"

Ini juga berguna untuk mengatur kunci yang baik .ssh/configdan ssh untuk membuat hopping di antara mesin lebih mudah.

Salah satu alias favorit saya adalah memindahkan direktori:

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

Dan beberapa untuk variasi ls(dan kesalahan ketik) yang umum digunakan :

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"

Saya hampir selalu ingin egrep:

alias grep="egrep"

Dapatkan halaman manual dari semua bagian

alias man="man -a"

Saya sering menemukan diri saya mem-piping output awkuntuk mendapatkan kolom output tertentu, seperti df -h | awk '{print $2}'untuk menemukan ukuran masing-masing disk saya. Untuk mempermudah ini, saya membuat fungsi fawkdi .bashrc saya:

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

Saya sekarang dapat menjalankan df -h|fawk 2yang menghemat sedikit mengetik.

Saya bekerja dengan banyak Perl dan perlu mengetahui versi modul yang diinstal pada sistem:

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

Saya biasanya suka mengetik semuanya, karena saya khawatir saya akan melupakan semua perintah yang saya gunakan dalam waktu singkat. Saya tahu saya mungkin salah, tapi saya rasa saya tidak akan tahu banyak tentang sistem jika saya baru saja menyisipkan setiap perintah di Commandlinefu ke .bashrc saya.

Perhatikan bahwa saya tidak mengatakan bahwa saya yang terbaik dan saya tahu segala sesuatu yang perlu diketahui tentang Linux, jauh dari itu, saya hanya mengatakan saya suka belajar, dan ingat apa yang saya pelajari dengan menggunakan.

Itu bukan untuk mengatakan saya tidak menghargai bagaimana menghemat waktu alias (khusus untuk fungsi yang lebih besar, tetapi kemudian Anda harus melihat apakah skrip tidak lebih baik), tetapi, secara pribadi, saya tidak suka menggunakannya (setidaknya tidak selalu).

Yang sedang berkata, Commandlinefu memiliki tag khusus untuk alias. Layak untuk dilihat.

Saya juga pikir ini bagus:

   alias less='less -FSRX'

Ini hanya akan menggunakan lebih sedikit jika output lebih besar dari layar.

Flávio Amieiro
sumber
2

Favorit saya setiap saat:

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

Tidak perlu penjelasan, bukan? :-)


sumber
5
Bukankah itu yang .ssh / config adalah untuk :-P Host server_name Hostname 1.2.3.4 Nama pengguna dll.
vartec
Menggunakan bash_completion dan tab, tab tampaknya berfungsi dengan baik untuk saya, daripada menyiapkan banyak alias ssh
Clayton Stanley
2

alias lt='ls -lhart'

  • l = panjang: h = ukuran yang dapat dibaca manusia: a = semua: r = jenis terbalik: t = jenis waktu
  • Letakkan file terbaru di bagian bawah, tepat di atas prompt

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

  • hanya menampilkan baris yang tidak kosong atau dikomentari
  • contoh: aktif /etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'

CanyonR
sumber
Bagus, terutama sudo vim
astropanic
1

Saya harus mengakui bahwa saya memiliki beberapa seperti ini ..

alias sl=ls

Untuk mencoba dan melawan kesalahan ketik saya :-)

saya juga punya

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

Jadi bagus dan mudah untuk menambahkan yang baru.

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

Ketikkan nama host untuk masuk ke host. Catatan: ssx adalah alias itu sendiri:

ssx='ssh -Y'

Dikombinasikan dengan kunci bersama, ini cukup apik.

Swoogan
sumber
1

Saya merasa menjengkelkan untuk meletakkan semua hal apt-get dan apt-cache di debian / * buntu, terutama dengan awalan sudo, jadi saya punya:

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

buat .tar.gz

alias tarc="tar czvf"

ekstrak .tar.gz

alias tarx="tar xzvf"

daftar .tar.gz

alias tart="tar tzvf"
aeonflux
sumber
0

Saya menemukan halaman ini mencari cara untuk membuat alias untuk menunjukkan kepada saya kolom n dari file csv (tsv sebenarnya) menggunakan awk. Fungsi fawk di atas hampir persis seperti yang saya inginkan. Saya memodifikasi sedikit untuk menambahkan argumen kedua opsional, nama file, jadi saya bisa menggunakannya seperti awk secara normal daripada hanya melalui pipa.

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

Terima kasih!

marlacparker
sumber
0

Ini bukan alias, tetapi melihat orang yang alias koneksi ssh, mungkin berguna.

Paket openssh memiliki biner bernama ssh-argv0 yang berfungsi melalui symlinks.

Jadi, jika Anda melakukan sesuatu seperti ini:

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

Memiliki / usr / local / bin di $ PATH, sekarang Anda dapat terhubung sebagai pengguna "pengguna" ke ssh.server.com menulis ini dalam prompt shell:

 $ user@ssh.server.com 
sntg
sumber
0

+1 untuk jawaban Drew Stephens. Satu-satunya yang tidak ia bahas yang juga saya gunakan adalah alias berbagai file dot yang perlu saya akses secara teratur seperti:

alias dotz='vi ~/.zshrc'

Lakukan selangkah lebih maju dengan fungsi add-alias sambil jalan:

function add-alias {
echo "alias $1=\047$2\047" >> ~/.zshrc
}
Somantra
sumber