25/08/2026
🐧 10 CÂU LỆNH LINUX MÌNH DÙNG NHIỀU NHẤT KHI QUẢN TRỊ VPS
Làm việc với VPS lâu năm, mình nhận ra không cần thuộc hàng trăm câu lệnh Linux. Quan trọng là nắm chắc một nhóm lệnh đủ để kiểm tra server, tìm nguyên nhân và xử lý khi website gặp sự cố.
Đây là 10 lệnh mình gần như ngày nào cũng dùng.
1. `ls -lah` — Xem file và thư mục
```bash
ls -lah
```
Lệnh này hiển thị cả file ẩn, quyền truy cập, chủ sở hữu và dung lượng theo đơn vị dễ đọc.
Mình thường chạy nó ngay sau khi vào thư mục website để kiểm tra nhanh cấu trúc file và xem có gì bất thường.
2. `cd` — Di chuyển giữa các thư mục
```bash
cd /var/www/example.com
```
Một vài cách dùng tiện:
```bash
cd ..
cd ~
cd -
```
`cd -` đưa bạn quay lại thư mục vừa làm việc trước đó. Rất tiện khi phải chuyển liên tục giữa thư mục cấu hình và mã nguồn website.
3. `df -h` — Kiểm tra dung lượng ổ đĩa
```bash
df -h
```
Khi website đột nhiên không ghi được cache, không upload được ảnh hoặc database báo lỗi, mình thường kiểm tra dung lượng ổ đĩa trước.
Nếu phân vùng `/` hoặc `/var` gần 100%, server có thể phát sinh đủ loại lỗi khó hiểu.
4. `free -h` — Kiểm tra RAM và swap
```bash
free -h
```
Đừng chỉ nhìn cột `free`. Trên Linux, RAM trống thường được tận dụng làm cache. Cột nên quan tâm nhiều hơn là `available` — lượng bộ nhớ hệ thống còn có thể cấp cho ứng dụng mới.
5. `top` — Xem tiến trình đang sử dụng tài nguyên
```bash
top
```
Khi VPS chậm, `top` giúp mình kiểm tra nhanh:
- CPU có đang tăng cao không
- RAM còn bao nhiêu
- Load average hiện tại
- Tiến trình nào đang chiếm tài nguyên
Nhấn `P` để sắp xếp theo CPU, `M` để sắp xếp theo RAM và `q` để thoát.
6. `grep` — Tìm nội dung trong log và file cấu hình
```bash
grep -i "error" /var/log/nginx/error.log
```
Tìm trong toàn bộ thư mục:
```bash
grep -RIn "database" /var/www/example.com
```
`grep` đặc biệt hữu ích khi cần tìm thông báo lỗi, tên miền cũ, chuỗi cấu hình hoặc một đoạn mã nằm rải rác trong dự án.
7. `find` — Tìm file theo điều kiện
```bash
find /var/www -type f -name "wp-config.php"
```
Tìm các file log:
```bash
find /var/log -type f -name "*.log"
```
Một chi tiết nhỏ nhưng dễ quên: nên đặt mẫu có ký tự `*` trong dấu nháy để shell không tự mở rộng mẫu trước khi `find` xử lý.
8. `tail -f` — Theo dõi log theo thời gian thực
```bash
tail -f /var/log/nginx/error.log
```
Mình thường mở lệnh này ở một cửa sổ terminal, sau đó tái hiện lỗi trên website ở cửa sổ khác. Log mới xuất hiện đến đâu sẽ được hiển thị đến đó.
Nhấn `Ctrl + C` để dừng theo dõi.
9. `systemctl` — Kiểm tra và quản lý dịch vụ
Kiểm tra trạng thái Nginx:
```bash
systemctl status nginx
```
Sau khi xác nhận cấu hình hợp lệ, có thể tải lại dịch vụ:
```bash
sudo systemctl reload nginx
```
Với server production, mình ưu tiên `reload` khi phù hợp vì ít làm gián đoạn kết nối hơn `restart`.
10. `ss` — Kiểm tra cổng và kết nối mạng
```bash
sudo ss -lntp
```
Lệnh này cho biết cổng TCP nào đang lắng nghe và tiến trình nào đang sử dụng cổng đó.
Ví dụ, muốn biết dịch vụ nào đang chạy trên cổng 80 hoặc 443:
```bash
sudo ss -lntp | grep -E ':80|:443'
```
Khi website không truy cập được, đây là cách nhanh để xác nhận Nginx hoặc Apache có thực sự lắng nghe đúng cổng hay không.
Một quy trình mình thường dùng khi VPS có vấn đề:
```text
df -h
→ free -h
→ top
→ systemctl status nginx
→ tail -f error.log
→ ss -lntp
```
Không có câu lệnh nào tự giải quyết mọi sự cố. Giá trị thật sự nằm ở việc biết nên kiểm tra gì trước và đọc kết quả như thế nào.
📌 Lưu bài lại để dùng khi cần.
Bạn đang sử dụng câu lệnh Linux nào nhiều nhất?