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/config
và 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"
Lịch sử có thể rất hữu ích, nhưng theo mặc định trên hầu hết các bản phân phối, lịch sử của bạn bị thổi bay bởi mỗi lần thoát vỏ và nó không có nhiều thứ để bắt đầu. Tôi muốn có 10.000 dòng lịch sử:
export HISTFILESIZE=20000
export HISTSIZE=10000
shopt -s histappend
# Combine multiline commands into one in history
shopt -s cmdhist
# Ignore duplicates, ls without options and builtin commands
HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
Bằng cách đó, nếu tôi biết rằng tôi đã làm một cái gì đó trước đây nhưng không thể nhớ chi tiết cụ thể, nhanh chóng history | grep foo
sẽ giúp chạy bộ nhớ của tôi.
Tôi thường thấy mình đầu ra đường ống thông qua 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 fawk
trong .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 2
mà tiết kiệm một chút gõ.
Nếu bạn cần phải xác định một dấu phân cách ( ví dụ , awk -F:
cho /etc/passwd
), chức năng này rõ ràng là không thể xử lý đó. Phiên bản được đại tu một chút trong ý chính này có thể xử lý các awk
đối số tùy ý trước số trường (nhưng vẫn yêu cầu đầu vào từ stdin).