Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Các thủ thuật Bash thiết yếu: Tăng năng suất với các phím tắt terminal thông minh

Khi bạn làm việc với máy tính cả ngày, thật tuyệt vời khi tìm được các lệnh lặp lại và gắn thẻ chúng để sử dụng dễ dàng sau này. Chúng nằm im lặng trong ~/.bashrc (hoặc ~/.zshrc cho người dùng Zsh), chờ đợi để cải thiện ngày làm việc của bạn!

Trong bài viết này, tôi chia sẻ một số lệnh hỗ trợ yêu thích của mình cho những việc tôi thường quên, hy vọng chúng cũng sẽ giúp bạn tránh được nhiều rắc rối theo thời gian.

Thông báo khi hoàn thành

Khi sử dụng các lệnh chạy lâu, tôi thường làm nhiều việc cùng lúc rồi phải quay lại kiểm tra xem hành động đã hoàn thành chưa. Nhưng không còn như vậy nữa, nhờ lời gọi hữu ích này của say (trên MacOS; thay đổi cho hệ điều hành khác):

function looooooooong {
START=$(date +%s.%N)
$*
EXIT_CODE=$?
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
RES=$(python -c "diff = $DIFF; min = int(diff / 60); print('%s min' % min)")
result="$1 completed in $RES, exit code $EXIT_CODE."
echo -e "\n⏰ $result"
( say -r 250 $result 2>&1 > /dev/null & )
}

Lệnh này ghi lại thời gian bắt đầu và kết thúc của một lệnh, tính toán số phút mất đi, và đọc to lệnh được gọi, thời gian thực hiện và mã thoát. Tôi thấy điều này siêu hữu ích khi một tiếng chuông console đơn giản không đủ.

Trợ giúp cài đặt

Tôi bắt đầu sử dụng Ubuntu từ thời Lucid, và một trong những điều đầu tiên tôi cần học là cách cài đặt gói. Và một trong những alias đầu tiên tôi thêm là một trợ giúp cho việc này (đặt tên dựa trên meme thời bấy giờ):

alias canhas="sudo apt-get install -y"

Ký GNU Privacy Guard (GPG)

Trường hợp tôi phải ký email GPG mà không có tiện ích mở rộng hay ứng dụng làm giúp, tôi thả xuống dòng lệnh và sử dụng những alias "geek" này:

alias gibson="gpg --encrypt --sign --armor"
alias ungibson="gpg --decrypt"

Docker

Có nhiều lệnh Docker, nhưng lệnh docker compose còn nhiều hơn. Tôi từng quên cờ --rm, nhưng không còn nữa nhờ các alias hữu ích này:

alias dc="docker-compose"
alias dcr="docker-compose run --rm"
alias dcb="docker-compose run --rm --build"

Trợ giúp gcurl cho Google Cloud

Cái này khá mới với tôi, nhưng được tài liệu hóa kỹ. gcurl là một alias đảm bảo bạn có tất cả các cờ đúng khi sử dụng curl cục bộ với tiêu đề xác thực khi làm việc với API Google Cloud.

Git và ~/.gitignore

Tôi làm việc nhiều với Git, nên có một phần riêng cho các trợ giúp Git.

Một trong những trợ giúp hữu ích nhất tôi dùng để clone kho GitHub. Thay vì phải chạy:

git clone git@github.com:org/repo /Users/glasnt/git/org/repo

Tôi thiết lập hàm clone:

clone(){
echo Cloning $1 to ~/git/$1
cd ~/git
git clone git@github.com:$1 $1
cd $1
}

Dù tôi luôn quên và cười khi lướt file ~/.bashrc, tôi cũng có lệnh "làm mới upstream":

alias yoink="git checkout master && git fetch upstream master && git merge upstream/master"

Một trợ giúp khác cho Git-ville là file bỏ qua toàn cục. Trong git config --global --list bạn nên thấy core.excludesfile. Nếu không, hãy tạo một, và điền đầy những thứ bạn luôn đưa vào các file .gitignore riêng lẻ. Là nhà phát triển Python trên MacOS, đối với tôi là:

.DS_Store # rác macOS
venv/ # Tôi không bao giờ muốn commit virtualenv
*.egg-info/* # ... cũng không phải gói biên dịch cục bộ
__pycache__ # ... hoặc source
*.swp # ... cũng không phải file mở trong vim

Bạn có thể tìm thêm gợi ý trên Gitignore.io hoặc kho Gitignore trên GitHub.

Lượt của bạn

Các lệnh trợ giúp yêu thích của bạn là gì? Hãy chia sẻ trong bình luận.