Cheat sheet lệnh Linux

Các lệnh Linux và bash mà lập trình viên dùng trên máy chủ và laptop: tệp, tìm kiếm, phân quyền, tiến trình, log, mạng và SSH. Nhập đường dẫn, user và host một lần rồi sao chép các dòng lệnh sẵn sàng chạy.

Cập nhật
Giá trị của bạnMọi ví dụ bên dưới sẽ cập nhật khi bạn nhập

Tệp & thư mục

9
ls -lah

Liệt kê mọi tệp, kể cả tệp ẩn, với dung lượng dễ đọc.

cd -

Quay lại thư mục trước đó.

mkdir -p /var/www/app/logs

Tạo thư mục và các thư mục cha còn thiếu.

cp -r src /var/www/app/

Sao chép thư mục và toàn bộ nội dung bên trong.

mv app.log /var/www/app/

Di chuyển hoặc đổi tên tệp.

ln -s /var/www/app/current /srv/app

Tạo liên kết tượng trưng (symbolic link).

du -sh * | sort -h

Dung lượng từng mục trong thư mục hiện tại, từ nhỏ đến lớn.

df -h

Dung lượng trống trên từng hệ thống tệp.

rm -rf /var/www/app/tmp

phá hủy Xóa thư mục và mọi thứ bên trong mà không hỏi lại. Hãy kiểm tra kỹ đường dẫn.

Đọc & xử lý văn bản

9
tail -f app.log

Theo dõi tệp log khi có dòng mới được ghi thêm.

less +F app.log

Theo dõi tệp; nhấn Ctrl+C để dừng theo dõi rồi cuộn và tìm kiếm trong tệp.

head -n 20 app.log

20 dòng đầu tiên.

wc -l app.log

Đếm số dòng.

sort app.log | uniq -c | sort -rn | head

Các dòng xuất hiện nhiều nhất lên đầu.

awk '{print $1}' access.log | sort | uniq -c | sort -rn | head

Các IP truy cập nhiều nhất trong log truy cập của máy chủ web.

cut -d, -f1,3 data.csv

Lấy cột 1 và cột 3 từ file CSV.

diff -u old.conf new.conf

So sánh hai tệp theo định dạng unified diff.

sed -i 's/old/new/g' app.log

phá hủy Thay thế văn bản trực tiếp trong tệp (trên macOS dùng sed -i '').

Quyền & người dùng

8
chmod 644 app.log

Chủ sở hữu đọc và ghi được, người khác chỉ đọc — thường dùng cho tệp.

chmod 755 deploy.sh

Chủ sở hữu toàn quyền, người khác đọc và thực thi được — thường dùng cho script và thư mục.

chmod +x deploy.sh

Cấp quyền thực thi cho script.

chown -R deploy:deploy /var/www/app

Đổi chủ sở hữu và nhóm cho toàn bộ nội dung.

sudo usermod -aG docker deploy

Thêm người dùng vào nhóm (đăng xuất rồi đăng nhập lại để có hiệu lực).

sudo -u deploy -i

Mở shell đăng nhập dưới tài khoản khác.

id deploy

Hiển thị UID, GID và các nhóm của người dùng.

sudo !!

Chạy lại lệnh trước đó với sudo.

Tiến trình

9
ps aux | grep nginx

Tìm tiến trình đang chạy theo tên.

htop

Trình xem tiến trình tương tác (cài bằng trình quản lý gói).

sudo lsof -i :8080

Tiến trình nào đang dùng cổng.

sudo ss -tulpn

Mọi cổng TCP/UDP đang lắng nghe kèm tiến trình tương ứng.

kill 1234

Yêu cầu tiến trình dừng lại (SIGTERM).

pkill -f "node server.js"

Dừng các tiến trình có dòng lệnh khớp.

nohup ./long-task.sh > task.log 2>&1 &

Chạy nền và tiếp tục chạy sau khi bạn đăng xuất.

watch -n 2 "df -h"

Chạy lại lệnh mỗi 2 giây.

kill -9 1234

phá hủy Buộc dừng tiến trình ngay lập tức; tiến trình không có cơ hội dọn dẹp.

Dịch vụ & log (systemd)

7
systemctl status nginx

Dịch vụ có đang chạy không và các dòng log mới nhất.

sudo systemctl restart nginx

Khởi động lại dịch vụ.

sudo systemctl reload nginx

Tải lại cấu hình mà không ngắt kết nối (nếu dịch vụ hỗ trợ).

sudo systemctl enable --now nginx

Khởi động ngay và tự chạy mỗi khi bật máy.

journalctl -u nginx -f

Theo dõi log của dịch vụ.

journalctl -u nginx --since "1 hour ago"

Log trong 1 giờ qua.

systemctl list-units --failed

Các dịch vụ không khởi động được.

Mạng

8
curl -I https://example.com

Chỉ lấy header phản hồi.

curl -sS -X POST https://example.com/api -H "Content-Type: application/json" -d '{"ok":true}'

Gửi yêu cầu POST dạng JSON.

curl -o /dev/null -s -w "%{http_code} %{time_total}s\n" https://example.com

Mã trạng thái và tổng thời gian phản hồi.

dig +short example.com

Phân giải tên miền thành địa chỉ IP.

dig MX example.com +short

Máy chủ mail của tên miền.

nc -zv example.com 8080

Kiểm tra cổng TCP có đang mở không.

ping -c 4 example.com

Gửi 4 gói ping.

ip -brief address

Các giao diện mạng và địa chỉ IP.

SSH & truyền tệp

7
ssh deploy@example.com

Kết nối đến máy chủ.

ssh-keygen -t ed25519 -C "deploy@laptop"

Tạo cặp khóa SSH hiện đại.

ssh-copy-id deploy@example.com

Cài khóa công khai lên máy chủ để đăng nhập không cần mật khẩu.

scp app.log deploy@example.com:/var/www/app/

Sao chép tệp lên máy chủ.

rsync -avz --progress ./dist/ deploy@example.com:/var/www/app/

Đồng bộ thư mục lên máy chủ, chỉ gửi phần đã thay đổi.

ssh -L 5432:localhost:5432 deploy@example.com

Chuyển tiếp một cổng từ xa (ở đây là PostgreSQL) về máy của bạn.

rsync -avz --delete ./dist/ deploy@example.com:/var/www/app/

phá hủy Đồng bộ y hệt thư mục, xóa các tệp trên máy chủ không còn tồn tại ở máy cục bộ.

Nén & giải nén

5
tar -czvf backup.tar.gz /var/www/app

Tạo file nén gzip cho thư mục.

tar -xzvf backup.tar.gz -C /tmp

Giải nén file nén vào thư mục.

tar -tzf backup.tar.gz

Xem danh sách nội dung mà không giải nén.

zip -r site.zip /var/www/app

Tạo file ZIP.

unzip site.zip -d site

Giải nén file ZIP vào thư mục.

Hệ thống & môi trường

9
uname -a && cat /etc/os-release

Phiên bản kernel và bản phân phối Linux.

free -h

Mức sử dụng RAM và swap.

uptime

Thời gian đã chạy kể từ khi khởi động và tải trung bình.

nproc

Số nhân CPU.

env | sort

Mọi biến môi trường.

export PATH="$HOME/.local/bin:$PATH"

Thêm thư mục vào PATH cho phiên shell này (đặt vào ~/.bashrc để giữ lâu dài).

history | grep error

Tìm trong lịch sử lệnh (hoặc nhấn Ctrl+R).

crontab -e

Chỉnh sửa các tác vụ đã lên lịch.

sudo apt update && sudo apt install -y htop

Cài gói trên Debian/Ubuntu (dnf install trên Fedora/RHEL, brew install trên macOS).

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Chuyển đổi quyền file Linux giữa dạng sốCông cụ tính Chmod →

Cách dùng Cheat sheet lệnh Linux

  1. Nhập giá trị của riêng bạn (thư mục, tệp, user, host) vào các ô ở đầu trang. Mọi ví dụ trên trang sẽ cập nhật ngay lập tức.
  2. Tìm kiếm hoặc chọn nhanh một mục để tìm lệnh bạn cần.
  3. Nhấn Sao chép để lấy một dòng lệnh sẵn sàng chạy, hoặc Sao chép mục để lấy cả khối lệnh có chú thích.
  4. Các lệnh được đánh dấu phá hủy sẽ xóa hoặc ghi đè dữ liệu. Hãy đọc kỹ ghi chú trước khi chạy.

Pipe là siêu năng lực

Hầu hết công cụ Linux chỉ làm một việc và đọc dữ liệu từ standard input, nên bạn kết hợp chúng bằng |. grep lọc dòng, awk và cut chọn cột, sort và uniq -c đếm, head cắt bớt. Chuyển hướng đầu ra bằng > (ghi đè), >> (ghi thêm vào cuối) và 2>&1 (gồm cả lỗi).

Cẩn thận với các lệnh này

  • rm -rf xóa vĩnh viễn, không có thùng rác. Hãy dùng ls trên đúng đường dẫn trước, và đừng bao giờ chạy lệnh khi biến chưa được đặt, ví dụ rm -rf $DIR/.
  • sed -i, find -delete và rsync --delete thay đổi tệp ngay tại chỗ. Hãy chạy thử không có cờ phá hủy trước để xem trước kết quả.
  • kill -9 bỏ qua bước dọn dẹp. Hãy thử kill thông thường trước.

Tóm tắt về phân quyền

Read là 4, write là 2, execute là 1; cộng các giá trị này cho chủ sở hữu, nhóm và những người khác. Vì vậy 640 nghĩa là chủ sở hữu đọc/ghi, nhóm chỉ đọc, người khác không có quyền gì. Tính giá trị bất kỳ bằng chmod calculator, tạo lịch cron bằng cron expression generator, và kiểm tra cổng đang mở từ xa bằng port checker.

Cũng được tìm dưới tên: lệnh linux, cheat sheet linux, lệnh bash, danh sách lệnh linux, lệnh terminal, ví dụ grep find, lệnh ssh rsync, lệnh shell linux.

Các công cụ dùng kèm tốt với Cheat sheet lệnh Linux

  • Bảng lệnh Docker — Các lệnh Docker và Docker Compose bạn dùng mỗi tuần, giải thích trong một dòng.
  • Bảng lệnh Git — Mọi lệnh Git bạn dùng hằng ngày, và cả những lệnh cần khi có sự cố, được giải thích trong một dòng.
  • Tạo Cấu Hình Nginx — Chọn việc Nginx cần làm — phục vụ site tĩnh hoặc SPA, proxy tới ứng dụng Node/Python, hoặc chạy PHP — rồi đánh dấu các tùy chọn thêm.
  • Prompt AI cho lập trình viên — Prompt đã kiểm chứng cho những việc lập trình bạn làm hằng ngày — gỡ lỗi, review, viết test, refactor, SQL, commit message và tài liệu.

Câu hỏi thường gặp

Làm sao để tìm tiến trình nào đang dùng một cổng?
Chạy sudo lsof -i :8080 hoặc sudo ss -tulpn | grep 8080. Cả hai đều hiển thị tên tiến trình và PID.
chmod 644 và 755 nghĩa là gì?
Mỗi chữ số đặt quyền cho chủ sở hữu, nhóm và những người khác: 4 = đọc, 2 = ghi, 1 = thực thi. 644 nghĩa là chủ sở hữu đọc/ghi được, người khác chỉ đọc; 755 thêm quyền thực thi cho tất cả. Dùng chmod calculator để tính bất kỳ tổ hợp nào.
Làm sao để lệnh tiếp tục chạy sau khi tôi đóng SSH?
Dùng nohup command & cho tác vụ nhanh, một terminal multiplexer như tmux hoặc screen khi làm việc tương tác, hoặc một dịch vụ systemd cho những gì cần chạy lâu dài.
Các lệnh này có chạy trên macOS không?
Hầu hết là có. Khác biệt: macOS dùng phiên bản BSD của các công cụ, nên sed -i cần tham số chuỗi rỗng (sed -i ''), không có systemd hay journalctl, và gói phần mềm được cài từ Homebrew.
Tôi có thể cài Cheat sheet lệnh Linux như một ứng dụng web và dùng khi không có mạng không?
Có. Cheat sheet lệnh Linux là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan