Khi mới nhận VPS, hãy bắt đầu bằng việc xác nhận tài khoản, xem tệp và kiểm tra tài nguyên trước khi thay đổi dịch vụ. Hướng dẫn này chọn 20 lệnh theo tài liệu OpenSSH, GNU Coreutils, procps, iproute2 và systemd, sắp xếp thành một lượt thực hành từ kết nối đến đọc nhật ký.

Chuẩn bị địa chỉ IP, tên đăng nhập, cổng SSH và phương thức xác thực do nhà cung cấp bàn giao. Các ví dụ giả định VPS Linux có những tiện ích tương ứng; hai bước cuối dành cho máy dùng systemd. Đây là hướng dẫn tham khảo tài liệu, không phải kết quả thử nghiệm trên VPS cụ thể. Chỉ thực hành ghi tệp trong thư mục mẫu; không sửa SSH, tường lửa hoặc cấu hình ứng dụng đang phục vụ.

1. ssh: kết nối đúng VPS

Trên máy cá nhân có OpenSSH, nhập lệnh dưới đây sau khi thay USER, IP_VPS và PORT bằng thông tin thật. Theo tài liệu OpenSSH, -p chọn cổng kết nối. Khi được hỏi về khóa máy chủ, đối chiếu dấu vân tay với thông tin xác minh từ nhà cung cấp trước khi chấp nhận.

Lệnh: ssh -p PORT USER@IP_VPS

Sau khi xác thực, dùng bước tiếp theo để kiểm tra tài khoản từ xa. Nếu khóa máy chủ không khớp, dừng kết nối để xác minh; không bỏ qua cảnh báo bằng cách tắt kiểm tra khóa.

Minh họa 1. ssh: kết nối đúng VPS
Minh họa mục 1: 1. ssh: kết nối đúng VPS. Không phải ảnh chụp hệ thống thực tế.

2. whoami: xác nhận tài khoản thao tác

Lệnh: whoami

Lệnh in tên người dùng ứng với định danh hiệu lực hiện tại. Đối chiếu tên này với tài khoản dự định sử dụng. Nếu khác dự kiến, dừng phần tạo tệp để kiểm tra lại phiên đăng nhập, thay vì tiếp tục theo thói quen.

Minh họa 2. whoami: xác nhận tài khoản thao tác
Minh họa mục 2: 2. whoami: xác nhận tài khoản thao tác. Không phải ảnh chụp hệ thống thực tế.

3. uname: xem thông tin nhân hệ điều hành

Lệnh: uname -a

Đọc tên nhân, bản phát hành nhân và thông tin máy được trả về. Tài liệu GNU phân biệt các trường này; không dùng riêng kết quả uname để suy ra đầy đủ tên và phiên bản bản phân phối Linux.

Minh họa 3. uname: xem thông tin nhân hệ điều hành
Minh họa mục 3: 3. uname: xem thông tin nhân hệ điều hành. Không phải ảnh chụp hệ thống thực tế.

4. pwd: xác định thư mục hiện tại

Lệnh: pwd

Kết quả là đường dẫn thư mục làm việc. Ghi nhận vị trí trước khi thao tác với đường dẫn tương đối. Các bước tạo tệp bên dưới dùng đường dẫn bắt đầu bằng ~/fox9-lab để giữ bài thực hành trong một khu vực riêng.

Minh họa 4. pwd: xác định thư mục hiện tại
Minh họa mục 4: 4. pwd: xác định thư mục hiện tại. Không phải ảnh chụp hệ thống thực tế.

5. ls: xem tệp và quyền truy cập

Lệnh: ls -lah ~

Theo trang hướng dẫn GNU Coreutils do Debian cung cấp, -l hiển thị dạng dài, -a gồm tên bắt đầu bằng dấu chấm, còn -h làm kích thước dễ đọc. Kiểm tra trước xem thư mục fox9-lab đã tồn tại chưa; nếu có dữ liệu, chọn tên thực hành khác và thay nhất quán trong các bước.

Minh họa 5. ls: xem tệp và quyền truy cập
Minh họa mục 5: 5. ls: xem tệp và quyền truy cập. Không phải ảnh chụp hệ thống thực tế.

6. mkdir: tạo khu vực thực hành

Lệnh: mkdir -p ~/fox9-lab

Chỉ chạy sau khi kiểm tra tên ở bước 5. Tùy chọn -p tạo thư mục cha khi cần và không báo lỗi chỉ vì thư mục đã tồn tại. Xác minh bằng ls -ld ~/fox9-lab; nếu nhận lỗi quyền truy cập, dừng để kiểm tra tài khoản và đường dẫn.

Minh họa 6. mkdir: tạo khu vực thực hành
Minh họa mục 6: 6. mkdir: tạo khu vực thực hành. Không phải ảnh chụp hệ thống thực tế.

7. touch: tạo tệp mẫu rỗng

Lệnh: touch ~/fox9-lab/note.txt

Nếu tên chưa tồn tại, touch tạo tệp rỗng; nếu đã tồn tại, nó cập nhật thời gian truy cập và sửa đổi. Dùng ls -l ~/fox9-lab/note.txt để kiểm tra. Không áp dụng ví dụ lên tệp thật nếu cần giữ nguyên các mốc thời gian.

Minh họa 7. touch: tạo tệp mẫu rỗng
Minh họa mục 7: 7. touch: tạo tệp mẫu rỗng. Không phải ảnh chụp hệ thống thực tế.

8. cp: tạo bản sao trước khi thay đổi

Lệnh: cp -i ~/fox9-lab/note.txt ~/fox9-lab/note.txt.bak

Tùy chọn -i hỏi trước khi ghi đè đích đã tồn tại. Kiểm tra bằng ls -l ~/fox9-lab. Khi cần phục hồi nội dung từ bản sao này, có thể đảo nguồn và đích: cp -i ~/fox9-lab/note.txt.bak ~/fox9-lab/note.txt. Chỉ xác nhận ghi đè sau khi kiểm tra đúng tệp.

Minh họa 8. cp: tạo bản sao trước khi thay đổi
Minh họa mục 8: 8. cp: tạo bản sao trước khi thay đổi. Không phải ảnh chụp hệ thống thực tế.

9. mv: đổi tên tệp có kiểm soát

Lệnh: mv -i ~/fox9-lab/note.txt ~/fox9-lab/note-renamed.txt

Dùng ls -l ~/fox9-lab để xác nhận tên mới. Hoàn tác bằng mv -i ~/fox9-lab/note-renamed.txt ~/fox9-lab/note.txt. Cả hai chiều đều cần kiểm tra đích: ghi đè nhầm có thể làm mất nội dung tệp đích.

Minh họa 9. mv: đổi tên tệp có kiểm soát
Minh họa mục 9: 9. mv: đổi tên tệp có kiểm soát. Không phải ảnh chụp hệ thống thực tế.

10. chmod: giới hạn quyền của tệp mẫu

Sau khi đã hoàn tác tên ở bước 9, ghi lại quyền ban đầu bằng ls -l ~/fox9-lab/note.txt, rồi chạy: chmod 600 ~/fox9-lab/note.txt

Chế độ 600 cấp quyền đọc, ghi cho chủ sở hữu và bỏ quyền của nhóm cùng người khác. Kiểm tra lại bằng ls -l. Muốn hoàn tác, đặt lại đúng chế độ đã ghi nhận; không mặc định mọi tệp đều cần 644 và không áp dụng đệ quy lên thư mục SSH.

Minh họa 10. chmod: giới hạn quyền của tệp mẫu
Minh họa mục 10: 10. chmod: giới hạn quyền của tệp mẫu. Không phải ảnh chụp hệ thống thực tế.

11. cat: đọc toàn bộ một tệp nhỏ

Lệnh: cat ~/fox9-lab/note.txt

cat đưa nội dung tệp ra màn hình. Với tệp rỗng vừa tạo, không có nội dung hiển thị là kết quả phù hợp. Khi chuyển sang tệp thật, chỉ chọn văn bản được phép đọc và tránh đưa mật khẩu hoặc khóa bí mật vào nội dung chia sẻ.

Minh họa 11. cat: đọc toàn bộ một tệp nhỏ
Minh họa mục 11: 11. cat: đọc toàn bộ một tệp nhỏ. Không phải ảnh chụp hệ thống thực tế.

12. head: đọc phần đầu tệp

Lệnh mẫu: head -n 20 DUONG_DAN_TEP

Thay DUONG_DAN_TEP bằng tệp văn bản có thật và có quyền đọc. -n 20 yêu cầu tối đa 20 dòng đầu; tệp ngắn hơn sẽ có ít dòng hơn. So với cat, cách này giới hạn phần nội dung cần xem khi bắt đầu khảo sát một tệp dài.

Minh họa 12. head: đọc phần đầu tệp
Minh họa mục 12: 12. head: đọc phần đầu tệp. Không phải ảnh chụp hệ thống thực tế.

13. tail: xem những dòng cuối

Lệnh mẫu: tail -n 50 DUONG_DAN_LOG

Thay đường dẫn bằng tệp nhật ký thực tế của ứng dụng. Kết quả gồm tối đa 50 dòng cuối tệp; đối chiếu dấu thời gian có trong nội dung với thời điểm sự cố. Không giả định mọi ứng dụng đều ghi nhật ký vào cùng một vị trí.

Minh họa 13. tail: xem những dòng cuối
Minh họa mục 13: 13. tail: xem những dòng cuối. Không phải ảnh chụp hệ thống thực tế.

14. df: kiểm tra chỗ trống trên hệ thống tệp

Lệnh: df -h /

Đọc dung lượng đã dùng, còn trống và tỷ lệ sử dụng của hệ thống tệp chứa đường dẫn /. Nếu dữ liệu ứng dụng ở một điểm gắn khác, thay / bằng đường dẫn đó. Không suy rộng kết quả của một hệ thống tệp thành dung lượng của mọi ổ trên VPS.

Minh họa 14. df: kiểm tra chỗ trống trên hệ thống tệp
Minh họa mục 14: 14. df: kiểm tra chỗ trống trên hệ thống tệp. Không phải ảnh chụp hệ thống thực tế.

15. du: xem dung lượng thư mục cụ thể

Lệnh: du -sh ~/fox9-lab

-s yêu cầu tổng hợp, -h hiển thị đơn vị dễ đọc. GNU Coreutils phân biệt du, công cụ ước tính dung lượng tệp và thư mục, với df, công cụ báo dung lượng hệ thống tệp. Dùng kết quả để chọn nơi khảo sát tiếp, chưa xóa dữ liệu chỉ vì thấy một thư mục lớn.

Minh họa 15. du: xem dung lượng thư mục cụ thể
Minh họa mục 15: 15. du: xem dung lượng thư mục cụ thể. Không phải ảnh chụp hệ thống thực tế.

16. free: đọc bộ nhớ khả dụng

Lệnh: free -h

Theo tài liệu procps, available là ước tính bộ nhớ có thể dùng để khởi chạy ứng dụng mới mà không cần hoán đổi. Đọc trường này cùng total, free và buff/cache; không kết luận hết RAM chỉ vì cột free nhỏ.

Minh họa 16. free: đọc bộ nhớ khả dụng
Minh họa mục 16: 16. free: đọc bộ nhớ khả dụng. Không phải ảnh chụp hệ thống thực tế.

17. ps: chụp danh sách tiến trình

Lệnh: ps aux

Xem các cột người dùng, PID, CPU, bộ nhớ và câu lệnh để nhận diện tiến trình cần tìm hiểu. Tài liệu procps mô tả ps là ảnh chụp trạng thái tiến trình; kết quả không phải biểu đồ giám sát liên tục. Chưa dừng tiến trình khi chưa xác định vai trò của nó.

Minh họa 17. ps: chụp danh sách tiến trình
Minh họa mục 17: 17. ps: chụp danh sách tiến trình. Không phải ảnh chụp hệ thống thực tế.

18. ss: xem cổng TCP đang lắng nghe

Lệnh: ss -ltn

Trong tài liệu iproute2, -l chọn socket lắng nghe, -t chọn TCP và -n giữ địa chỉ, cổng ở dạng số. Đối chiếu địa chỉ cục bộ và cổng với dịch vụ dự kiến. Bước này quan sát socket, không thay đổi cổng SSH hoặc quy tắc mạng.

Minh họa 18. ss: xem cổng TCP đang lắng nghe
Minh họa mục 18: 18. ss: xem cổng TCP đang lắng nghe. Không phải ảnh chụp hệ thống thực tế.

19. systemctl: kiểm tra trạng thái dịch vụ

Trên VPS dùng systemd, thay TEN_DICH_VU bằng tên unit thực tế rồi chạy: systemctl status TEN_DICH_VU --no-pager

Đọc Loaded, Active và thông tin tiến trình mà lệnh trả về. Theo tài liệu systemd, status trình bày trạng thái lúc chạy cùng phần nhật ký gần đây. Nếu báo không tìm thấy unit, kiểm tra lại tên; không tự suy ra ứng dụng đã hỏng. Bài thực hành chỉ xem trạng thái, không restart dịch vụ.

Minh họa 19. systemctl: kiểm tra trạng thái dịch vụ
Minh họa mục 19: 19. systemctl: kiểm tra trạng thái dịch vụ. Không phải ảnh chụp hệ thống thực tế.

20. journalctl: đối chiếu nhật ký của dịch vụ

Lệnh mẫu: journalctl -u TEN_DICH_VU -n 50 --no-pager

Dùng đúng tên unit ở bước 19. Tài liệu systemd xác nhận -u lọc theo unit, còn -n giới hạn số bản ghi cuối. Đọc thông báo cùng dấu thời gian và trạng thái dịch vụ trước khi đề xuất sửa lỗi. Nếu quyền xem nhật ký bị giới hạn, nhờ quản trị viên cấp quyền phù hợp; không đổi quyền hàng loạt để vượt qua hạn chế.

Minh họa 20. journalctl: đối chiếu nhật ký của dịch vụ
Minh họa mục 20: 20. journalctl: đối chiếu nhật ký của dịch vụ. Không phải ảnh chụp hệ thống thực tế.

Nguồn tham khảo

man7.org (6 tài liệu)
man.openbsd.org (1 tài liệu)
raw.githubusercontent.com (1 tài liệu)
manpages.debian.org (17 tài liệu)
freedesktop.org (2 tài liệu)