H2H2Bash là gì và vì sao nên học?
Bash (Bourne Again SHell) là trình thông dịch dòng lệnh phổ biến trên Linux và macOS. Dùng Bash giúp:
Làm việc nhanh hơn so với click chuột
Tự động hóa bằng shell script
Hiểu sâu hệ thống file, quyền, tiến trình
H2H2Nhóm lệnh điều hướng
pwd
: in thư mục hiện tại
pwd
cd
: đổi thư mục (mẹo:cd -
quay lại thư mục trước)
cd /home/user/projects
cd ..
cd -
ls
: liệt kê nội dung (thường dùngls -la
)
ls
ls -la
H2H2Quản lý tệp và thư mục
touch
: tạo tệp trống
touch notes.txt
mkdir
: tạo thư mục (có thể tạo lồng nhau)
mkdir -p src/components
rm
: xóa tệp/thư mục (cẩn thận!)
rm file.txt
rm -rf dist/
cp
: sao chép (thêm-r
để copy thư mục)
cp .env.example .env
cp -r assets/ public/assets/
mv
: di chuyển hoặc đổi tên
mv oldname.txt newname.txt
mv build/* /var/www/html/
H2H2Xem và tìm kiếm nội dung
cat
: in toàn bộ tệp ra màn hình
cat [README.md](<http://README.md>)
less
: xem tệp dài từng trang (q để thoát)
less logs/app.log
head
vàtail
: xem đầu/cuối tệp
head -n 20 access.log
tail -n 50 access.log
tail -f access.log # theo dõi realtime
grep
: tìm chuỗi trong tệp/thư mục
grep -i "error" access.log
grep -R "DATABASE_URL" .
H2H2Quyền truy cập và sở hữu
chmod
: đổi quyền (rwx)
chmod +x [deploy.sh](<http://deploy.sh>)
chmod 755 [script.sh](<http://script.sh>)
chown
: đổi chủ sở hữu (cần sudo)
sudo chown user:group /var/www/html -R
H2H2Quản lý tiến trình
ps
: xem tiến trình
ps aux | head
kill
: kết thúc tiến trình theo PID
kill 1234
kill -9 1234 # buộc dừng (chỉ dùng khi cần)
Tìm PID theo tên rồi dừng
ps aux | grep node
kill $(pgrep -f "node server.js")
H2H2Thông tin hệ thống
date
: xem ngày giờ
date
df
: dung lượng đĩa
df -h
du
: kích thước thư mục
du -sh .
H2H2Chuyển hướng và piping
Ghi đè
>
và nối thêm>>
echo "Hello" > hello.txt
echo "World" >> hello.txt
Lấy đầu vào từ tệp
<
sort < unsorted.txt
Pipe
|
để xâu chuỗi lệnh
cat access.log | grep 500 | awk '{print $1}' | sort | uniq -c | sort -nr | head
H2H2Mẹo thực hành tốt
Thêm
-i
khi xóa/ghi để Bash nhắc xác nhận:rm -i file.txt
Dùng wildcard cẩn thận:
rm *.log
chỉ khi chắc chắn đường dẫnDùng biến môi trường và trích dẫn chuỗi:
echo "$HOME"
Viết alias cho lệnh dài:
alias ll='ls -la'
Tạo script chạy được: thêm shebang
#!/usr/bin/env bash
vàchmod +x [file.sh](<http://file.sh>)
H2H2FAQ
Học lệnh nào trước?
Bắt đầu với
pwd
,ls
,cd
,cat
,grep
,mkdir
,rm
,cp
,mv
.
Khác nhau giữa
>
và>>
?>
ghi đè tệp,>>
nối thêm vào cuối tệp.
Làm sao dừng tiến trình nhanh?
Tìm PID bằng
ps
hoặcpgrep
, dừng bằngkill
. Tránh-9
nếu chưa cần.
Xem hướng dẫn chi tiết của lệnh?
Dùng
man <lệnh>
hoặc--help
. Có thể tra cứu trên web với các công cụ tham khảo bên dưới.
H2H2Tài nguyên tham khảo
GNU Bash Manual: https://www.gnu.org/software/bash/manual/
TLDR Pages (cheatsheet lệnh nhanh): https://tldr.sh/
ExplainShell (giải thích cú pháp lệnh): https://explainshell.com/
Learn Microsoft – Hướng dẫn WSL, Terminal, và công cụ dev trên Windows: Learn Microsoft
Gợi ý: Nếu bạn dùng Windows, cân nhắc WSL để chạy Bash “chuẩn Linux” ngay trong Windows. Xem tại Learn Microsoft