Nếu bạn "sống" trong Linux Shell/Terminal, aliases là cứu cánh lớn. Cách tạo alias Bash riêng, có ví dụ.
Alias trong Bash/Linux Shell là gì?
Alias là shortcut cho lệnh dài. Giống phím tắt – như CTRL + C là shortcut copy trên GUI (tiết kiệm thời gian kéo chuột click menu), aliases là shortcut lệnh terminal dài (tiết kiệm gõ toàn bộ lệnh).
Bash cung cấp aliasing built-in, nhiều shell Linux khác như zsh cũng có cú pháp tương tự.
Ví dụ bài này chạy được cả Bash và Zsh.
Tạo alias
Lệnh alias tạo alias.
Cú pháp alias và unalias
Cú pháp alias:
alias TUY_CHON SHORTCUT=LENH
Cú pháp unalias:
unalias TUY_CHON SHORTCUT
Lưu ý:
- TUY_CHON là danh sách flag tùy chọn từ bảng dưới
- SHORTCUT là từ tắt gõ để chạy LENH
- chỉ alphanumeric, dash, underscore
- LENH là lệnh chạy khi gõ SHORTCUT
- Ký tự = tách SHORTCUT và LENH không có khoảng trắng hai bên
- Nếu LENH có khoảng trắng, phải bọc trong quotes
- Alias chỉ dùng được làm từ đầu tiên trong lệnh
| Tùy chọn alias | Mô tả |
|---|---|
| -p | Liệt kê alias đã định nghĩa (chỉ cho alias) |
| -a | Xóa tất cả alias (chỉ cho unalias) |
Gán Alias tạm thời trong Bash
Khi chạy alias tạo alias, nó chỉ có hiệu lực session hiện tại. Tức terminal window mở hoặc session login remote server.
Thoát terminal, logout, reboot, v.v. sẽ xóa tất cả alias, không tái tạo cho session sau.
Ví dụ – Tạo và dùng Alias
Ví dụ đơn giản định nghĩa alias:
alias say_hello='echo "Hello LinuxScrew!"'
Trên, alias say_hello định nghĩa chạy lệnh:
echo "Hello LinuxScrew!"
Bây giờ, thay vì gõ tất cả, chạy alias:
say_hello
Dù ví dụ đơn giản, tiết kiệm nhiều gõ. Với lệnh phức tạp, alias tiết kiệm gõ hoặc nhớ chuỗi lệnh dài.
Gán Alias vĩnh viễn trong Bash
Muốn alias vĩnh viễn, sống sót qua đóng cửa sổ, logout, reboot? Thêm lệnh alias vào file .bashrc để reload mỗi login:
nano ~/.bashrc
File .bashrc định nghĩa hành vi Bash shell cho tài khoản bạn. Chỉ cần thêm lệnh alias cuối file, mỗi dòng một, để tự chạy mỗi lần login.
Liệt kê Alias hiện có
Liệt kê alias bằng alias với -p:
alias -p
Xóa Alias
Xóa alias dùng unalias:
unalias say_hello
Xóa tất cả Alias
Xóa hết alias bằng alias với -a:
alias -a
Extra cho Zsh
Trên chạy được trong Zsh, Zsh còn có thêm tùy chọn alias:
https://zsh.sourceforge.net/Intro/intro_8.html
Zsh phổ biến do thành shell mặc định macOS. Nhưng Bash vẫn mặc định hầu hết Linux, nên không đi sâu extra Zsh tránh nhầm lẫn – dành cho bài khác!