Giới thiệu về Bash
Bash, hay Bourne Again SHell, là trình thông dịch dòng lệnh cho phép bạn "nói chuyện" với hệ điều hành qua các lệnh. Nó là công cụ không thể thiếu trên Linux và macOS, giúp bạn quản lý tệp, thư mục, tiến trình, và thậm chí tự động hóa công việc. Nếu bạn là người mới, đừng lo! Bài viết này sẽ hướng dẫn bạn các lệnh Bash cơ bản nhất, kèm ví dụ siêu dễ hiểu để bạn tự tin "vọc" dòng lệnh.
Tại sao cần học Bash?
- Nhanh gọn lẹ: Làm việc nhanh hơn so với click chuột trên giao diện đồ họa.
- Pro hơn: Viết script để tự động hóa, tiết kiệm thời gian.
- Hiểu sâu: Nắm rõ cách hệ thống hoạt động, từ tệp đến tài nguyên.
Các lệnh điều hướng cơ bản
1. pwd - In ra thư mục hiện tại
Lệnh pwd (print working directory) cho bạn biết bạn đang "đứng" ở thư mục nào.
Ví dụ:
pwd
Kết quả:
/home/user/documents
Tùy chọn phổ biến: -L (hiển thị liên kết tượng trưng), -P (hiển thị đường dẫn vật lý).
2. cd - Thay đổi thư mục
Lệnh cd (change directory) giúp bạn di chuyển giữa các thư mục.
Ví dụ:
cd /home/user/documents
Điều này đưa bạn đến thư mục /home/user/documents.
Mẹo:
- cd ..: Lên thư mục cha.
- cd -: Quay lại thư mục trước đó.
3. ls - Liệt kê nội dung thư mục
Lệnh ls hiển thị danh sách tệp và thư mục trong thư mục hiện tại.
Ví dụ:
ls
Kết quả:
file1.txt file2.txt directory1
Tùy chọn phổ biến:
- -l: Hiển thị chi tiết (quyền, kích thước, ngày sửa).
- -a: Hiển thị cả tệp ẩn (bắt đầu bằng .).
Quản lý tệp và thư mục
4. touch - Tạo tệp mới
Lệnh touch tạo tệp trống hoặc cập nhật thời gian sửa đổi của tệp.
Ví dụ:
touch newfile.txt
Tạo tệp newfile.txt.
5. mkdir - Tạo thư mục
Lệnh mkdir (make directory) tạo thư mục mới.
Ví dụ:
mkdir newdirectory
Tạo thư mục newdirectory.
Tùy chọn: -p (tạo cả thư mục cha nếu chưa tồn tại).
6. rm - Xóa tệp/thư mục
Lệnh rm (remove) xóa tệp hoặc thư mục.
Ví dụ:
rm file.txt
Xóa file.txt.
Lưu ý: Để xóa thư mục, dùng rm -r directoryname.
7. cp - Sao chép tệp/thư mục
Lệnh cp (copy) sao chép tệp hoặc thư mục.
Ví dụ:
cp file.txt /home/user/backup/
Sao chép file.txt đến /home/user/backup/.
Tùy chọn: -r (sao chép thư mục đệ quy).
8. mv - Di chuyển/đổi tên tệp/thư mục
Lệnh mv (move) di chuyển hoặc đổi tên tệp/thư mục.
Ví dụ:
mv oldname.txt newname.txt
Đổi tên oldname.txt thành newname.txt.
mv file.txt /home/user/documents/
Di chuyển file.txt đến /home/user/documents/.
Xem và tìm kiếm tệp
9. cat - Hiển thị nội dung tệp
Lệnh cat (concatenate) in nội dung tệp ra terminal.
Ví dụ:
cat file.txt
Hiển thị nội dung file.txt.
10. less - Xem tệp từng trang
Lệnh less cho phép xem tệp lớn từng trang.
Ví dụ:
less largefile.txt
Dùng phím mũi tên để di chuyển, nhấn q để thoát.
11. head - Xem đầu tệp
Lệnh head hiển thị 10 dòng đầu tiên của tệp (có thể tùy chỉnh).
Ví dụ:
head -n 5 file.txt
Hiển thị 5 dòng đầu của file.txt.
12. tail - Xem cuối tệp
Lệnh tail hiển thị 10 dòng cuối của tệp.
Ví dụ:
tail -n 5 file.txt
Hiển thị 5 dòng cuối của file.txt.
13. grep - Tìm kiếm trong tệp
Lệnh grep tìm kiếm chuỗi văn bản trong tệp.
Ví dụ:
grep "search_term" file.txt
In các dòng chứa search_term.
Tùy chọn: -i (không phân biệt hoa thường).
Quyền và sở hữu
14. chmod - Thay đổi quyền
Lệnh chmod (change mode) thay đổi quyền truy cập tệp/thư mục.
Ví dụ:
chmod 755 script.sh
Đặt quyền rwxr-xr-x cho script.sh.
15. chown - Thay đổi sở hữu
Lệnh chown (change owner) thay đổi chủ sở hữu tệp/thư mục.
Ví dụ:
sudo chown user:group file.txt
Chuyển file.txt cho người dùng user và nhóm group.
Quản lý tiến trình
16. ps - Xem tiến trình
Lệnh ps hiển thị thông tin về tiến trình đang chạy.
Ví dụ:
ps aux
Liệt kê tất cả tiến trình với chi tiết.
17. kill - Kết thúc tiến trình
Lệnh kill gửi tín hiệu để dừng tiến trình.
Ví dụ:
kill 1234
Kết thúc tiến trình có PID 1234.
Thông tin hệ thống
18. date - Xem ngày giờ
Lệnh date hiển thị ngày và giờ hiện tại.
Ví dụ:
date
Kết quả:
Mon May 5 07:31:00 AM +07 2025
19. df - Xem dung lượng đĩa
Lệnh df (disk free) hiển thị dung lượng đĩa.
Ví dụ:
df -h
Hiển thị dung lượng ở định dạng dễ đọc.
20. du - Xem dung lượng thư mục
Lệnh du (disk usage) ước tính kích thước thư mục.
Ví dụ:
du -sh /home/user
Hiển thị kích thước tổng của /home/user.
Trợ giúp và tài liệu
21. man - Xem hướng dẫn
Lệnh man (manual) hiển thị tài liệu chi tiết của lệnh.
Ví dụ:
man ls
Hiển thị hướng dẫn cho ls.
Các lệnh khác
22. echo - In văn bản/biến
Lệnh echo in văn bản hoặc giá trị biến ra terminal.
Ví dụ:
echo "Hello, World!"
Kết quả:
Hello, World!
23. history - Xem lịch sử lệnh
Lệnh history liệt kê các lệnh đã chạy trước đó.
Ví dụ:
history
24. clear - Xóa màn hình
Lệnh clear làm sạch màn hình terminal.
Ví dụ:
clear
25. sleep - Tạm dừng
Lệnh sleep tạm dừng thực thi trong vài giây.
Ví dụ:
sleep 5
Tạm dừng 5 giây.
Chuyển hướng và piping
26. > - Chuyển hướng đầu ra
Toán tử > ghi đầu ra của lệnh vào tệp (ghi đè).
Ví dụ:
echo "Hello" > greeting.txt
Ghi Hello vào greeting.txt.
27. >> - Nối đầu ra
Toán tử >> nối đầu ra vào tệp (không ghi đè).
Ví dụ:
echo "World" >> greeting.txt
Nối World vào greeting.txt.
28. < - Chuyển hướng đầu vào
Toán tử < lấy đầu vào từ tệp cho lệnh.
Ví dụ:
sort < unsorted.txt
Sắp xếp nội dung unsorted.txt.
29. | - Pipe đầu ra
Toán tử | chuyển đầu ra của lệnh này làm đầu vào cho lệnh khác.
Ví dụ:
ls | grep "txt"
Lọc các tệp chứa txt từ danh sách ls.
Câu hỏi thường gặp (FAQ)
- Bash là gì và tại sao cần học?
Bash là trình thông dịch dòng lệnh giúp tương tác với hệ thống. Học Bash giúp bạn quản lý hệ thống hiệu quả và tự động hóa công việc. - Lệnh nào phù hợp cho người mới bắt đầu?
Bắt đầu với ls, cd, pwd, cat, và touch vì chúng đơn giản và thiết yếu. - Làm sao để xem hướng dẫn chi tiết của lệnh?
Dùng lệnh man, ví dụ: man ls để xem tài liệu chi tiết. - Toán tử > và >> khác nhau thế nào?
> ghi đè tệp, còn >> nối thêm nội dung vào tệp hiện có. - Làm sao để dừng một tiến trình đang chạy?
Dùng kill với PID của tiến trình, ví dụ: kill 1234. - Lệnh grep dùng để làm gì?
grep tìm kiếm chuỗi văn bản trong tệp, hữu ích khi phân tích log hoặc dữ liệu. - Có cách nào xem lịch sử lệnh đã chạy?
Dùng history để xem danh sách lệnh trước đó.
Bạn đã sẵn sàng để làm chủ dòng lệnh chưa? Hãy thử các lệnh trên trong terminal của bạn ngay hôm nay!. Đừng quên chia sẻ bài viết này nếu bạn thấy hữu ích!