Bí danh bash hữu ích và tạo danh sách các lệnh được sử dụng nhiều nhất của bạn


10

Tôi tìm thấy này bài viết thảo luận một cách nhanh chóng để sắp xếp lịch sử bash và xem những lệnh bạn sử dụng nhiều nhất:

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

Nó thực sự mở rộng tầm mắt về những nhiệm vụ bạn nên tạo bí danh và nhiệm vụ nào bạn nên cronjob hoàn toàn.

Tôi rất muốn xem danh sách ServerFault của các bí danh dòng lệnh được đề xuất giúp bạn tiết kiệm thời gian trong công việc . Bạn có gì

Giữa chúng tôi, tôi cá là chúng tôi có thể lưu mọi người dùng đọc bài đăng này ít nhất 10 phút mỗi ngày. (Trừ ngày đầu tiên trong đó họ lãng phí toàn bộ thời gian để đọc ServerFault thay vì làm công việc của họ dĩ nhiên!)


Đối với bản ghi, trên Super User có superuser.com/questions/7083/usiously-command-line-aliases với vô số bí danh Bash hữu ích
Jonik

Câu trả lời:


7

Tôi giao dịch với rất nhiều máy khác nhau, vì vậy một trong những mục yêu thích của tôi là bí danh cho mỗi máy mà tôi cần thường xuyên SSH để:

alias claudius="ssh dinomite@claudius"

Nó cũng hữu ích để thiết lập một phím ssh tốt .ssh/configvà giúp việc nhảy giữa các máy trở nên dễ dàng hơn.

Một trong những bí danh yêu thích của tôi là để di chuyển lên các thư mục:

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

Và một số cho các biến thể thường được sử dụng của ls(và lỗi chính tả):

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"

Tôi hầu như luôn muốn egrep:

alias grep="egrep"

Nhận trang man từ tất cả các phần

alias man="man -a"

Tôi thường thấy mình đầu ra đường ống awkđể có được một cột nhất định của đầu ra, như df -h | awk '{print $2}'để tìm kích thước của mỗi đĩa của tôi. Để làm cho điều này dễ dàng hơn, tôi đã tạo một hàm fawktrong .bashrc:

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

Bây giờ tôi có thể chạy df -h|fawk 2mà tiết kiệm một chút gõ.

Tôi làm việc với rất nhiều Perl và cần biết các phiên bản mô-đun được cài đặt trên một hệ thống:

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

3

Tôi thường thích gõ mọi thứ, vì tôi sợ tôi sẽ quên tất cả các lệnh tôi đang sử dụng ngay lập tức. Tôi biết tôi có thể sai, nhưng tôi không nghĩ rằng tôi biết nhiều về hệ thống nếu tôi vừa dán mọi lệnh trong Commandlinefu vào .bashrc của tôi.

Lưu ý rằng tôi không nói rằng tôi là người giỏi nhất và tôi biết mọi thứ cần biết về Linux, xa hơn thế, tôi chỉ nói rằng tôi thích học và nhớ những gì tôi đã học bằng cách sử dụng.

Điều đó không có nghĩa là tôi không đánh giá cao việc tiết kiệm thời gian bí danh (đặc biệt cho các chức năng lớn hơn, nhưng sau đó bạn phải xem liệu tập lệnh có tốt hơn không), nhưng, cá nhân tôi không thích sử dụng chúng (ít nhất là không luôn luôn).

Điều đó đang được nói, Commandlinefu có một thẻ đặc biệt cho bí danh. Thật đáng để tìm kiếm.

Ngoài ra tôi nghĩ rằng đây là một trong những tốt:

   alias less='less -FSRX'

Điều này sẽ chỉ sử dụng ít hơn nếu đầu ra lớn hơn màn hình.


2

Yêu thích của tôi mọi thời đại:

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

Nó không cần giải thích, phải không? :-)


5
Mà không phải là những gì .ssh / config là cho :-P chủ SERVER_NAME Hostname 1.2.3.4 tài khoản Tên truy nhập, vv
vartec

Sử dụng bash_completion và tab, tab dường như chỉ hoạt động tốt với tôi, thay vì thiết lập một loạt các bí danh ssh
Clayton Stanley

2

alias lt='ls -lhart'

  • l = long: h = kích thước có thể đọc được của con người: a = all: r = Reverse sort: t = time sort
  • Đặt tệp mới nhất ở dưới cùng, ngay trên dấu nhắc

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

  • chỉ hiển thị các dòng không trống hoặc nhận xét
  • ví dụ: active /etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'


Đẹp, đặc biệt là sudo vim
astropanic

1

Tôi phải thừa nhận tôi có một vài như thế này ..

alias sl=ls

Để thử và chống lại lỗi chính tả của tôi :-)

tôi cũng có

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

Vì vậy, nó tốt đẹp và đơn giản để thêm những cái mới.



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

Nhập tên máy chủ để đăng nhập vào máy chủ. Lưu ý: ssx là một bí danh:

ssx='ssh -Y'

Kết hợp với các khóa được chia sẻ, nó khá đẹp.


1

Tôi thấy khó chịu khi đặt toàn bộ những thứ apt-get và apt-cache vào debian / * buntu, đặc biệt là với tiền tố sudo, vì vậy tôi có:

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

1

tạo .tar.gz

alias tarc="tar czvf"

trích xuất .tar.gz

alias tarx="tar xzvf"

danh sách .tar.gz

alias tart="tar tzvf"


0

Tôi tìm thấy trang này đang tìm cách tạo bí danh để hiển thị cho tôi cột thứ n của tệp csv (tsv thực sự) bằng awk. Hàm fawk ở trên gần như chính xác những gì tôi muốn. Tôi đã sửa đổi một chút để thêm một đối số thứ hai tùy chọn, tên tệp, vì vậy tôi có thể sử dụng nó như awk bình thường thay vì chỉ thông qua một đường ống.

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

Cảm ơn!


0

Đây không phải là bí danh, nhưng nhìn thấy những người bí danh kết nối ssh, có thể hữu ích.

Gói Openssh có một nhị phân gọi là ssh-argv0 hoạt động thông qua các liên kết tượng trưng.

Vì vậy, nếu bạn làm một cái gì đó như thế này:

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

Có / usr / local / bin trong $ PATH, bây giờ bạn có thể kết nối với tư cách là "người dùng" người dùng với ssh.server.com bằng văn bản này trong một dấu nhắc shell:

 $ user@ssh.server.com 

0

+1 cho câu trả lời của Drew Stephens. Điều duy nhất anh ấy không bao gồm mà tôi cũng sử dụng là bí danh các tệp chấm khác nhau mà tôi cần truy cập một cách thường xuyên như:

alias dotz='vi ~/.zshrc'

Thực hiện một bước xa hơn với chức năng thêm bí danh đang hoạt động:

function add-alias {
echo "alias $1=\047$2\047" >> ~/.zshrc
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.