Linux Từ Cơ Bản đến Thành Thạo
Học Linux qua dòng lệnh dành cho developer và DevOps: hệ thống file, quyền, tiến trình, pipe/redirect, quản lý gói, user, mạng, systemd, shell script. Thực hành ngay trong một container Linux, kèm deep-dive cách hệ thống hoạt động.
Linux Là Gì và Vì Sao Developer Nên Học
Mở đầu series: phân biệt nhân Linux và distro, vì sao gần như mọi server và container đều chạy Linux, triết lý Unix đứng sau dòng lệnh, và cách dùng một container Linux làm môi trường thực hành ngay trên máy Mac/Windows.
Dựng Môi Trường Linux và Làm Quen Shell
Tạo một môi trường Linux để thực hành bằng container, hiểu shell và dấu nhắc lệnh, chạy những lệnh đầu tiên, và nắm các phím tắt giúp gõ lệnh nhanh hơn nhiều.
Hệ Thống File và FHS: Mọi Thứ Là File
Hiểu cây thư mục Linux theo chuẩn FHS — mỗi thư mục lõi (/etc, /var, /usr, /proc...) để làm gì — và vì sao Linux coi gần như mọi thứ, kể cả thiết bị và thông tin tiến trình, đều là file. Kèm sơ đồ và đường dẫn tuyệt đối/tương đối.
Thao Tác File và Thư Mục
Các lệnh bạn dùng hằng ngày: tạo, sao chép, di chuyển, đổi tên, xóa file và thư mục, tạo liên kết, dùng wildcard để thao tác hàng loạt, và tìm file với find.
Trình Soạn Thảo: nano và vim
Sửa file ngay trên terminal — kỹ năng bắt buộc khi làm việc trên server không có giao diện. nano cho người mới, và vim sống sót: hiểu các chế độ, mở/sửa/lưu/thoát, tìm kiếm, hoàn tác.
Đọc và Xử Lý Văn Bản: grep, sed, awk và Bạn Bè
Bộ công cụ làm nên sức mạnh dòng lệnh Linux: xem file (cat, less, head, tail), lọc (grep), cắt cột (cut), sắp xếp (sort, uniq), đếm (wc), và biến đổi (sed, awk). Mỗi công cụ làm tốt một việc.
Pipe, Redirect và Luồng Dữ Liệu
Deep-dive cơ chế đứng sau sức mạnh dòng lệnh: ba luồng stdin/stdout/stderr (file descriptor 0/1/2), cách chuyển hướng chúng vào file, gộp lỗi, vứt bỏ với /dev/null, và nối các lệnh bằng pipe.
Quyền Truy Cập: User, Group và chmod
Deep-dive cơ chế quyền của Linux: đọc chuỗi rwx, ba nhóm user/group/other, ký pháp octal, đổi quyền bằng chmod (octal và symbolic), đổi chủ bằng chown, và umask quyết định quyền mặc định.
Tiến Trình và Tín Hiệu
Deep-dive về thứ đang chạy trên hệ thống: tiến trình và quan hệ cha-con, xem bằng ps/top, chạy nền với &, và điều khiển bằng tín hiệu — vì sao kill -9 khác kill thường, và khi nào dùng cái nào.
Nén và Giải Nén: tar, gzip, zip
Gói nhiều file thành một và nén để backup hay di chuyển. Hiểu sự khác nhau giữa gói (tar) và nén (gzip), nhớ các cờ tar hay gây rối, và khi nào dùng tar.gz vs zip.
Ổ Đĩa và Dung Lượng: df, du, lsblk, mount
\"Server hết disk\" là sự cố kinh điển. Bài này dạy quy trình xử lý: df xem filesystem nào đầy, du truy ra thư mục nào ngốn chỗ, find file lớn, cùng lsblk và mount để hiểu thiết bị lưu trữ.
Quản Lý Gói Phần Mềm: apt, dnf, apk
Cài, cập nhật và gỡ phần mềm trên Linux qua trình quản lý gói. Hiểu khác biệt giữa các họ distro (apt cho Debian/Ubuntu, dnf cho Fedora, apk cho Alpine) và phân biệt update danh sách gói với upgrade phần mềm.
User, Group và sudo
Linux là hệ đa người dùng. Bài này giải thích user và group được lưu ở đâu (/etc/passwd, /etc/shadow, /etc/group), cách tạo/quản lý, và vì sao nên dùng sudo thay vì đăng nhập thẳng bằng root.
Mạng Cơ Bản trên Linux
Xem địa chỉ IP và định tuyến (ip), kiểm tra cổng đang nghe (ss), thử kết nối (ping, curl), và hiểu phân giải tên (DNS, /etc/hosts). Đủ để chẩn đoán hầu hết sự cố mạng trên server.
SSH và Truyền File: ssh, scp, rsync
Cách bạn thực sự vào một server Linux từ xa: SSH với xác thực bằng key (an toàn hơn mật khẩu), file cấu hình tiện dụng, và truyền file bằng scp và rsync. Kỹ năng nền tảng cho mọi việc trên server.
systemd và Dịch Vụ
systemd là init system điều khiển mọi dịch vụ trên Linux hiện đại. Học systemctl để bật/tắt/khởi động lại service, cho chúng tự chạy khi boot, viết unit file riêng, và xem log bằng journalctl.
Shell Scripting: Tự Động Hóa Bằng Bash
Gom các lệnh thành script để khỏi gõ lại và tự động hóa công việc. Học shebang, biến, tham số, điều kiện, vòng lặp, hàm, exit code, và các thói quen viết script an toàn như set -euo pipefail.
Cron và Tác Vụ Định Kỳ
Cho lệnh và script tự chạy theo lịch — backup hằng đêm, dọn log hằng tuần. Học cú pháp crontab, các bẫy thường gặp (PATH, môi trường), at cho việc một lần, và tổng kết cả series Linux.