Các Lệnh Linux Server Cơ Bản Dành Cho Người Mới Quản Trị Hosting — Hướng Dẫn Chi Tiết Từ A-Z

Published on
Thuộc danh mục: Kiến Thức Hosting|Đăng bởi: Lê Thanh Giang|||19 min read
Facebook share iconLinkedIn share iconTwitter share iconPinterest share iconTumblr share icon
Các Lệnh Linux Server Cơ Bản Cho Người Mới Quản Trị Hosting — Cẩm Nang Từ A-Z

Giới Thiệu

Bạn vừa thuê một VPS hoặc dedicated server, đã kết nối thành công qua SSH, và giờ đây bạn đang đứng trước màn hình đen với dấu nhắc lệnh nhấp nháy — cảm giác hơi choáng ngợp? Đừng lo, đó là trải nghiệm của hầu hết mọi người khi lần đầu làm quen với Linux server.

Quản trị hosting không nhất thiết phải phức tạp. Thực tế, chỉ với khoảng 15–20 lệnh Linux cơ bản, bạn có thể làm được 90% công việc quản trị hàng ngày: kiểm tra tài nguyên server, quản lý file, cài đặt phần mềm, khởi động lại dịch vụ, và xem log lỗi.

Bài viết này được thiết kế dành riêng cho người mới bắt đầu — những người đã quen dùng cPanel hoặc các bảng điều khiển hosting trực quan và muốn chuyển sang quản trị server bằng dòng lệnh. Mỗi lệnh đều kèm giải thích ngắn gọn, ví dụ thực tế trong bối cảnh hosting, và những lưu ý an toàn quan trọng.

Nếu bạn chưa biết cách kết nối SSH vào server, hãy đọc bài PuTTY là gì? Cách tải và sử dụng SSH client. Còn nếu bạn chưa có server, tham khảo VPS là gì? So sánh VPS vs Shared HostingHosting là gì? để chọn giải pháp phù hợp.

Các lệnh Linux cơ bản cho quản trị hosting

1. Lệnh Kiểm Tra Hệ Thống — Biết Server Bạn Đang Chạy Gì

Trước khi làm bất cứ điều gì khác, bạn cần biết server của mình đang chạy hệ điều hành gì, đã hoạt động bao lâu, và tài nguyên đang ở mức nào.

Kiểm tra thông tin hệ điều hành

uname -a

Lệnh này hiển thị toàn bộ thông tin kernel — phiên bản nhân Linux, kiến trúc CPU (x86_64 hay aarch64), và thời gian build. Đây là lệnh đầu tiên bạn nên chạy khi lần đầu SSH vào server để xác nhận đúng cấu hình bạn đã thuê.

Kiểm tra thời gian hoạt động

uptime

Output sẽ hiển thị: thời gian server đã chạy (uptime), số lượng người dùng đang đăng nhập, và load average 1/5/15 phút. Load average là chỉ số quan trọng — nếu load vượt quá số CPU core, server đang bị quá tải.

Kiểm tra dung lượng ổ đĩa

df -h

Thêm -h (human-readable) giúp hiển thị dung lượng bằng GB/MB thay vì bytes. Lệnh này cho bạn biết từng phân vùng đã dùng bao nhiêu, còn bao nhiêu. Trong quản trị hosting, đây là lệnh bạn sẽ dùng hàng ngày để đảm bảo ổ đĩa không đầy.

du -sh /var/www

Lệnh du tính toán dung lượng thư mục. Cờ -s (summary) chỉ hiển thị tổng, -h cho số dễ đọc. Rất hữu ích để kiểm tra thư mục website nào đang chiếm nhiều dung lượng nhất.

Kiểm tra RAM

free -h

Hiển thị tổng RAM, RAM đã dùng, RAM còn trống, và swap. Nếu swap bị dùng nhiều, server của bạn đang thiếu RAM — cần nâng cấp hoặc tối ưu.

Kiểm tra tài nguyên server bằng lệnh Linux

Mẹo: Kết hợp df -hfree -h là hai lệnh đầu tiên bạn nên chạy mỗi khi nghi ngờ server có vấn đề về hiệu năng.


2. Lệnh Quản Lý File và Thư Mục — Xương Sống Của Quản Trị Server

Mỗi website trên server đều là một bộ file được đặt trong thư mục như /var/www/ hoặc /home/user/. Bạn cần thành thạo các lệnh sau để di chuyển, tạo, sao chép và xóa file.

Liệt kê file và thư mục

ls -la
  • ls: list — liệt kê nội dung thư mục hiện tại.
  • -l: long format — hiển thị chi tiết (quyền, owner, kích thước, ngày giờ).
  • -a: all — hiển thị cả file ẩn (bắt đầu bằng dấu .).

Trong hosting, bạn sẽ dùng ls -la để kiểm tra file .htaccess, wp-config.php, hoặc thư mục wp-content/.

Di chuyển giữa các thư mục

cd /var/www/example.com/public_html

cd (change directory) là lệnh bạn dùng nhiều nhất. Một số shortcut hữu ích:

  • cd ~ — về thư mục home của user hiện tại.
  • cd .. — lên thư mục cha.
  • cd - — quay lại thư mục trước đó.

Xem đường dẫn hiện tại

pwd

In ra đường dẫn tuyệt đối của thư mục bạn đang đứng. Rất hữu ích khi bạn lỡ "lạc" trong hệ thống file.

Tạo thư mục

mkdir -p /var/www/example.com/public_html

Cờ -p (parents) tự động tạo các thư mục cha nếu chưa tồn tại. Không có -p, bạn phải tạo từng cấp một.

Sao chép file và thư mục

cp -r /var/www/old-site /var/www/new-site
  • cp: copy.
  • -r: recursive — cần thiết để copy thư mục và nội dung bên trong.

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

mv /var/www/old-name /var/www/new-name

mv vừa dùng để di chuyển file sang thư mục khác, vừa dùng để đổi tên. Đây là lệnh an toàn hơn cp vì không nhân đôi dữ liệu.

Xóa file và thư mục

rm -rf /var/www/cache/

⚠️ CẢNH BÁO: rm -rf là một trong những lệnh nguy hiểm nhất. -r (recursive) xóa cả thư mục con, -f (force) không hỏi lại. Luôn kiểm tra kỹ đường dẫn trước khi chạy. Một sai lầm phổ biến là rm -rf / var/www/ (thừa dấu cách sau /) — lệnh này sẽ xóa toàn bộ hệ thống.

Tìm kiếm file

find /var/www -name "wp-config.php"

Lệnh find rất mạnh khi bạn cần xác định vị trí file trong hệ thống. Có thể kết hợp với -type d (thư mục), -size +100M (file lớn hơn 100MB), hoặc -mtime -7 (file thay đổi trong 7 ngày qua).

Xem thêm: File .htaccess là gì? Hướng dẫn cấu hình — một file cấu hình quan trọng bạn sẽ thường xuyên thao tác khi quản trị hosting.


3. Lệnh Phân Quyền — Bảo Mật Là Trên Hết

Phân quyền file là nguyên nhân số một gây ra lỗi "Permission Denied" và "500 Internal Server Error" trên website. Hiểu rõ chmodchown là kỹ năng bắt buộc.

Thay đổi owner của file

chown -R www-data:www-data /var/www/example.com
  • chown: change owner.
  • www-data: user chạy web server (Nginx/Apache).
  • www-data: group của user đó.
  • -R: recursive — áp dụng cho tất cả file và thư mục con.

Trong hosting, sau khi upload file mới, bạn cần chạy lệnh này để web server có quyền đọc/ghi.

Thay đổi quyền truy cập

chmod -R 755 /var/www/example.com/public_html
chmod 644 /var/www/example.com/public_html/index.php

Cơ chế permission Linux:

  • 755 = owner (7: đọc+ghi+thực thi), group (5: đọc+thực thi), other (5: đọc+thực thi) — cho thư mục.
  • 644 = owner (6: đọc+ghi), group (4: đọc), other (4: đọc) — cho file.
Giá trịQuyềnGiải thích
7rwxĐọc + Ghi + Thực thi
6rw-Đọc + Ghi
5r-xĐọc + Thực thi
4r--Chỉ đọc
0---Không quyền

Quy tắc vàng cho hosting

  • Thư mục: 755 (owner có toàn quyền, người khác chỉ đọc và vào được).
  • File: 644 (owner có thể sửa, người khác chỉ đọc).
  • File có dữ liệu nhạy cảm như wp-config.php: 600 hoặc 640.
  • Thư mục upload: Đôi khi cần 775 nếu web server cần ghi file (ví dụ WordPress upload ảnh).
find /var/www -type d -exec chmod 755 {} \;
find /var/www -type f -exec chmod 644 {} \;

Hai lệnh trên set permission hàng loạt: thư mục = 755, file = 644. Rất hữu ích sau khi giải nén mã nguồn mới.

Mẹo bảo mật: Tìm hiểu thêm các biện pháp bảo mật server cho máy chủ Linux, kết hợp với bảo mật websiteSSL là gì? để bảo vệ toàn diện.


4. Lệnh Quản Lý Tiến Trình và Service — Vận Hành Website

Khi website không truy cập được, nguyên nhân thường là web server (Nginx/Apache) hoặc PHP-FPM đã dừng. Bạn cần các lệnh sau để kiểm tra và khởi động lại.

Quản lý service với systemctl

sudo systemctl status nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl enable nginx
sudo systemctl disable nginx
  • status: kiểm tra trạng thái — đang chạy, đã dừng, hay bị lỗi.
  • restart: dừng và khởi động lại.
  • reload: nạp lại cấu hình mà không ngắt kết nối (ưu tiên dùng hơn restart).
  • enable: tự động khởi động cùng hệ thống.
  • disable: tắt tự động khởi động.

Xem thêm: Nginx là gì? Hướng dẫn cài đặtCài đặt Nginx trên VPS từ A-Z — nếu bạn đang dùng Nginx, đây là hai bài viết không thể bỏ qua.

Kiểm tra tiến trình đang chạy

ps aux

Liệt kê tất cả tiến trình đang chạy với user, PID, %CPU, %RAM, và lệnh tương ứng. Kết hợp với grep để lọc:

ps aux | grep nginx
ps aux | grep php

Output sẽ hiển thị bao nhiêu worker process Nginx hoặc PHP-FPM đang chạy — giúp bạn biết server có đủ tài nguyên không.

Giám sát tài nguyên real-time

top

Lệnh top hiển thị bảng real-time các tiến trình sử dụng nhiều CPU/RAM nhất. Nhấn q để thoát. Nếu server có htop (đẹp và trực quan hơn), hãy cài:

sudo apt install htop
htop

Dừng tiến trình

kill 1234
kill -9 1234
  • kill PID: gửi tín hiệu yêu cầu dừng (SIGTERM).
  • kill -9 PID: buộc dừng ngay lập tức (SIGKILL) — chỉ dùng khi lệnh thường không hiệu quả.

Xem log service

journalctl -u nginx --no-pager -n 50

Lệnh journalctl xem log của systemd service. Cờ -n 50 hiển thị 50 dòng gần nhất, --no-pager xuất thẳng ra terminal (không dùng less).


5. Lệnh Mạng — Kết Nối và Debug

Các lệnh mạng giúp bạn kiểm tra kết nối, tải file, và debug các vấn đề liên quan đến network.

Kiểm tra kết nối mạng

ping -c 4 google.com

Gửi 4 gói ICMP đến Google để kiểm tra xem server có internet không. Thời gian phản hồi (ms) cũng cho biết độ trễ mạng.

Tải file từ internet

curl -O https://wordpress.org/latest.tar.gz
wget https://wordpress.org/latest.tar.gz

Cả hai đều tải file về server. curl linh hoạt hơn (hỗ trợ API, header, POST), wget đơn giản hơn (tải đệ quy, tiếp tục khi gián đoạn).

curl -I https://example.com

Lệnh trên chỉ lấy header HTTP — rất hữu ích để kiểm tra nhanh response code (200, 301, 404, 500).

Kiểm tra port đang mở

ss -tlnp

Lệnh ss thay thế cho netstat (đã deprecated). Cờ -t (TCP), -l (listening), -n (số port, không resolve tên), -p (hiển thị tiến trình). Output cho biết port 80 (HTTP), 443 (HTTPS), 22 (SSH) có đang listen không và tiến trình nào đang giữ port.

ip addr

Hiển thị tất cả địa chỉ IP và trạng thái network interface. Thay thế cho lệnh ifconfig cũ.

Tìm hiểu thêm: Máy chủ web là gì?HTTP Status Code — mã trạng thái HTTP.


6. Lệnh Quản Lý Package — Cài Đặt và Cập Nhật Phần Mềm

Trên Ubuntu/Debian (distro phổ biến nhất cho hosting), bạn quản lý phần mềm qua APT (Advanced Package Tool).

Cập nhật danh sách package

sudo apt update

Lệnh này đồng bộ danh sách package từ repository về. Luôn chạy lệnh này trước khi cài bất kỳ phần mềm nào.

Nâng cấp tất cả package

sudo apt upgrade -y

Cập nhật tất cả package lên phiên bản mới nhất. Cờ -y tự động trả lời Yes. Trên server production, hãy cân nhắc chạy từng phần để tránh xung đột.

Cài đặt package mới

sudo apt install nginx -y
sudo apt install php-fpm mysql-server -y

Cài Nginx, PHP, MySQL — bộ ba nền tảng cho hosting website.

Gỡ package

sudo apt remove nginx
sudo apt purge nginx
sudo apt autoremove
  • remove: xóa package nhưng giữ file cấu hình.
  • purge: xóa sạch cả file cấu hình.
  • autoremove: dọn dẹp các package không còn cần thiết.

Tìm kiếm package

apt search php

Tìm tất cả package có liên quan đến PHP — hữu ích khi bạn không nhớ chính xác tên package.

Xem thêm: Apache là gì? Cài đặt và cấu hình — nếu bạn chọn Apache thay vì Nginx.


7. Lệnh Xem Log và Xử Lý Văn Bản — Debug Không Còn Là Ác Mộng

Log là nơi đầu tiên bạn nhìn vào khi website gặp sự cố. Các lệnh dưới đây giúp bạn đọc log nhanh chóng.

Xem nội dung file log

cat /var/log/nginx/error.log

cat in toàn bộ file ra terminal — phù hợp với file nhỏ. Với log lớn (có thể hàng trăm MB), dùng các lệnh dưới đây.

Xem những dòng cuối cùng của log (real-time)

tail -n 100 /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
  • tail -n 100: xem 100 dòng cuối.
  • tail -f: follow — hiển thị log real-time khi có request mới. Nhấn Ctrl+C để thoát.

Xem từ đầu file log

head -n 50 /var/log/nginx/error.log

head hiển thị những dòng đầu tiên. Thường dùng để kiểm tra header của file log.

Tìm kiếm trong log

grep "PHP Fatal" /var/log/php-error.log
grep -i "error" /var/log/nginx/error.log

Lệnh grep là vũ khí mạnh nhất để tìm kiếm trong file. Cờ -i (case-insensitive). Có thể kết hợp với tail -f:

tail -f /var/log/nginx/access.log | grep "500"

Xem file với phân trang

less /var/log/nginx/error.log

less cho phép cuộn lên/xuống, tìm kiếm (gõ /từ_khóa), và không tải toàn bộ file vào RAM — rất tiết kiệm tài nguyên với log lớn. Nhấn q để thoát.

Soạn thảo file cấu hình

nano /etc/nginx/sites-available/example.com

Nano là editor đơn giản nhất cho người mới — dùng mũi tên di chuyển, Ctrl+X để thoát, Ctrl+O để lưu. Nếu bạn muốn editor mạnh hơn:

vim /etc/nginx/sites-available/example.com

Vim có hai chế độ: INSERT (bấm i để vào chế độ gõ) và NORMAL (bấm Esc để quay lại). Lưu với :wq (write và quit), thoát không lưu với :q!.

Tìm hiểu thêm: Cách kiểm tra tốc độ websiteTối ưu tốc độ website — sau khi đã xem log, bạn nên đo kiểm và tối ưu hiệu suất.


8. Lệnh Nén và Giải Nén — Sao Lưu và Chuyển Dữ Liệu

Trong quản trị hosting, bạn thường xuyên phải nén mã nguồn website, database, hoặc log để sao lưu hoặc di chuyển.

Tar (phổ biến nhất trên Linux)

tar -czvf backup.tar.gz /var/www/example.com
tar -xzvf backup.tar.gz
  • -c: create (tạo file nén).
  • -x: extract (giải nén).
  • -z: gzip (nén với gzip).
  • -v: verbose (hiển thị chi tiết).
  • -f: file (tên file đích).

Gzip

gzip error.log
gunzip error.log.gz

Nén một file riêng lẻ. gzip nén file log cũ để tiết kiệm dung lượng.

Zip (tương thích Windows)

zip -r backup.zip /var/www/example.com
unzip backup.zip

zip hữu ích khi bạn cần gửi file cho người dùng Windows.

Xem thêm: Sao lưu website định kỳ — hướng dẫn chi tiết để xây dựng quy trình backup tự động cho server.


9. Lệnh Quản Lý Người Dùng — Kiểm Soát Truy Cập

Trên server có nhiều người dùng, bạn cần quản lý ai có quyền làm gì.

Thực thi lệnh với quyền root

sudo apt update

sudo (superuser do) cho phép user thường chạy lệnh với quyền root. User đầu tiên trên Ubuntu (thường là user tạo khi mua VPS) có quyền sudo.

Chuyển sang user khác

su - www-data

Chuyển đổi user hiện tại. Dùng su - (có dấu gạch ngang) để load environment của user đích.

Xem ai đang đăng nhập

who
w

who liệt kê user đang đăng nhập cùng thời gian và địa chỉ IP. w cung cấp nhiều thông tin hơn (load, idle time, lệnh đang chạy).

Tạo user mới

sudo useradd -m -s /bin/bash deploy
sudo passwd deploy
sudo usermod -aG sudo deploy
  • useradd -m: tạo user và thư mục home.
  • -s /bin/bash: set shell mặc định.
  • passwd: đặt mật khẩu.
  • usermod -aG sudo: thêm user vào group sudo (để có quyền sudo).

Bảng Tổng Hợp Lệnh Nhanh

LệnhChức năngDùng khi nào
df -hKiểm tra dung lượng ổ đĩaHàng ngày — server đầy là nguyên nhân số một gây lỗi website
free -hKiểm tra RAMKhi website chậm hoặc không tải được
ls -laLiệt kê file chi tiếtKiểm tra nội dung thư mục website
chown -R www-data:www-dataSet owner cho web serverSau khi upload mã nguồn mới
chmod 755 / 644Phân quyền thư mục / fileKhi gặp lỗi Permission Denied
sudo systemctl status nginxKiểm tra web serverKhi website báo lỗi 502, 503
sudo apt update && sudo apt upgradeCập nhật hệ thốngHàng tuần — bảo mật hệ thống
tail -f /var/log/nginx/error.logXem log real-timeKhi đang debug lỗi website
ps aux | grep phpLọc tiến trình PHPKiểm tra PHP-FPM có chạy không
tar -czvf backup.tar.gzNén sao lưuTrước khi update mã nguồn
grep "error" /var/log/nginx/error.logTìm kiếm trong logKhi log quá dài, cần tìm lỗi cụ thể
ss -tlnpKiểm tra port đang mởKhi có xung đột port hoặc service không listen

Câu Hỏi Thường Gặp

Tôi có cần biết hết tất cả các lệnh này không?

Không. Bắt đầu với 10 lệnh: df -h, free -h, ls -la, cd, chmod, chown, systemctl, apt, tail -f, grep. Khi gặp tình huống mới, bạn tra cứu thêm.

Làm sao để nhớ được các lệnh?

Thực hành là cách tốt nhất. Tạo một máy ảo Linux với VirtualBox hoặc thuê VPS giá rẻ để tập. Mỗi ngày học 2–3 lệnh và dùng chúng trong công việc thực tế.

Tôi gõ sai lệnh, có cách nào undo không?

Không có lệnh undo trong Linux. Đây là lý do bạn luôn kiểm tra kỹ trước khi gõ rm -rf, chmod, hoặc dd. Luôn có bản sao lưu trước khi thao tác nguy hiểm. Xem thêm Sao lưu dữ liệu WordPress nếu bạn dùng WordPress.

Tôi nên dùng Ubuntu hay CentOS cho hosting?

Ubuntu (bản LTS) là lựa chọn phổ biến nhất hiện nay cho web hosting nhờ cộng đồng lớn, tài liệu phong phú, và APT dễ sử dụng. CentOS từng phổ biến nhưng đã chuyển sang CentOS Stream — nhiều người chuyển sang Ubuntu hoặc Rocky Linux.

Làm sao để biết server của tôi đang bị tấn công?

Dùng top hoặc htop để xem tiến trình nào đang dùng nhiều CPU. Dùng ss -tlnp để kiểm tra kết nối lạ. Dùng tail -f /var/log/auth.log để theo dõi các lần SSH thất bại. Xem thêm DDoS là gì?Bảo mật website.

Bạn muốn hiểu sâu hơn về cách tối ưu nội dung cho đúng đối tượng? Tham khảo bài viết Search Intent là gì? Cách tối ưu theo intent — kiến thức nền tảng để xác định chính xác nhu cầu người dùng trước khi triển khai nội dung.


Tổng Kết

Bạn đã được trang bị những lệnh Linux server cơ bản nhất để bắt đầu hành trình quản trị hosting:

  • Kiểm tra hệ thống: df -h, free -h, uname -a, uptime
  • Quản lý file: ls, cd, cp, mv, rm, find
  • Phân quyền: chmod, chown — an toàn là trên hết
  • Service: systemctl, journalctl
  • Mạng: ping, curl, wget, ss
  • Package: apt, dpkg
  • Log: tail -f, grep, cat, less
  • Nén: tar, gzip, zip

Học các lệnh này không phải để trở thành system administrator chuyên nghiệp — mà để bạn chủ động trong việc vận hành website, không phải lúc nào cũng chờ đợi support. Khi bạn thành thạo, hãy khám phá thêm Docker là gì? Hướng dẫn cơ bản, Kubernetes là gì?, và các chủ đề nâng cao khác trong mục Kiến thức Hosting.

Nếu bạn cần hỗ trợ thiết kế website chuyên nghiệp hoặc tối ưu hosting, hãy liên hệ RiverLee để được tư vấn chi tiết.

Bình luận

0 bình luận

Đang tải...

Bài viết mới nhất

Bài viết liên quan

Newsletter border

Đăng ký để nhận tin từ RiverLee