Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Tệp .bashrc là gì? Công dụng và cách tùy chỉnh

Shell và BASH là gì?

BASH = Bourne Again SHell — trình vỏ (shell) phổ biến nhất trên Linux. Shell là chương trình dịch lệnh: nhận lệnh từ người dùng, thực thi chương trình, điều hướng hệ thống tệp, tương tác thiết bị.

Các shell khác: zsh, fish, dash, ksh, csh.

Nhiều distro base Debian (Ubuntu, Mint...) dùng DASH (Debian Almquist Shell) làm /bin/sh mặc định vì nhẹ, nhanh hơn Bash. Nhưng user login shell thường vẫn là Bash.

Tệp .bashrc là gì?

.bashrc là script shell tự động chạy mỗi khi bạn mở một shell tương tác (interactive) mới — ví dụ: mở terminal mới, chạy bash thủ công, hoặc reload bằng source ~/.bashrc.

Chạy lệnh sau để xem các file .bashrc trên hệ thống:

find / -name .bashrc 2>/dev/null

Kết quả điển hình (3 file):

  • /etc/skel/.bashrc — Mẫu (skeleton) copy vào home của user mới khi tạo tài khoản.
  • /home/username/.bashrc — Cấu hình cá nhân của user username.
  • /root/.bashrc — Cấu hình cho user root.

Công dụng chính của .bashrc

Nơi lý tưởng để đặt các lệnh/chạy script muốn thực thi mỗi lần mở terminal:

  • Định nghĩa alias (bí danh lệnh ngắn).
  • Thiết lập biến môi trường (PATH, EDITOR, LANG...).
  • Tùy chỉnh prompt (PS1) — hiển thị git branch, màu sắc, thời gian...
  • Chạy chương trình chào mừng: neofetch, screenfetch, fortune...
  • Định nghĩa hàm (function) tùy chỉnh.
  • Cấu hình history, completion, key binding...

Ví dụ thực hành: Thêm thông điệp chào

  1. Mở file: nano ~/.bashrc
  2. Thêm vào cuối file: echo "Hello $USER"
  3. Lưu: Ctrl+O, Enter → Thoát: Ctrl+X
  4. Reload: source ~/.bashrc
  5. Kết quả: Terminal in ra Hello tên_user.

Ví dụ: Tự động chạy neofetch khi mở terminal

  1. Cài đặt: sudo apt install neofetch (Ubuntu/Mint/Debian)
  2. Thêm dòng neofetch vào cuối ~/.bashrc
  3. source ~/.bashrc — terminal sẽ hiển thị thông tin hệ thống đẹp mắt.

Sử dụng Alias — Tạo lệnh tắt

Alias giúp gán tên ngắn cho lệnh dài, phức tạp.

Alias có sẵn trong Ubuntu/Mint mặc định

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
  • ll: Liệt kê tất cả (kể cả file ẩn), định dạng long, phân loại file.
  • la: Liệt kê tất cả trừ . và ...
  • l: Liệt kê theo cột, phân loại.

Tạo alias riêng

Cú pháp: alias tên_ngắn='lệnh_dài'

Ví dụ hữu ích:

# Di chuyển nhanh
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

# Liệt kê đẹp
alias ls='ls --color=auto -h'
alias ll='ls -alFh'
alias lt='ls -alFhtr'  # sắp xếp theo thời gian, mới nhất cuối

# An toàn
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Git ngắn gọn
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline -10'

# Cập nhật hệ thống (Ubuntu/Debian)
alias update='sudo apt update && sudo apt upgrade -y'

# Xem IP public
alias myip='curl -s ifconfig.me'

# Tìm file nhanh
alias f='find . -name'

Thêm vào ~/.bashrc → source ~/.bashrc → dùng ngay.

Lưu ý quan trọng

  • .bashrc chỉ chạy cho interactive non-login shell. Login shell (SSH, TTY, GUI login) chạy .bash_profile / .profile. Thường cấu hình: .bash_profile source .bashrc để chung cấu hình.
  • Đừng lạm dụng alias quá đà — có thể quên lệnh gốc khi làm việc trên máy khác. Nhưng man page và Google luôn sẵn sàng.
  • Sửa .bashrc sai có thể làm hỏng terminal. Hãy backup trước: cp ~/.bashrc ~/.bashrc.bak.
  • Dùng [[ ... ]] thay [ ... ] trong script/bash để an toàn hơn.

Tóm tắt

.bashrc là công cụ mạnh mẽ để cá nhân hóa trải nghiệm dòng lệnh Linux. Sử dụng tốt alias, biến môi trường, hàm, prompt — bạn sẽ tăng năng suất làm việc đáng kể.

FAQ

Mac có hỗ trợ .bashrc không?
Có. macOS dùng Zsh mặc định (từ Catalina), nhưng Bash vẫn có sẵn. File cấu hình Zsh là ~/.zshrc. Cách chỉnh sửa tương tự Linux.
Windows có .bashrc không?
Không trực tiếp. Nhưng Windows 10/11 có WSL (Windows Subsystem for Linux) chạy Linux thật bên trong Windows — ở đó có .bashrc. PowerShell dùng $PROFILE (tương tự .bashrc). CMD dùng AutoRun registry.