Chương 01 — Filesystem & Navigation
Tuần đầu tiên, bạn sẽ làm chủ cách terminal nhìn vào hệ thống file: đường dẫn, di chuyển, liệt kê, đọc help. Đây là nền tảng cho mọi tuần sau.
1. Terminal & Shell — phân biệt nhanh
Terminal là cửa sổ (Terminal.app, iTerm2, VSCode integrated terminal...) — nó chỉ hiển thị text và nhận phím gõ.
Shell là chương trình chạy bên trong terminal, nhận lệnh và thực thi.
macOS hiện đại dùng zsh mặc định. Bạn có thể kiểm tra:
$ echo $SHELL
/bin/zsh
command [options] [arguments]Ví dụ
ls -la /Users → ls là command, -la là options (flags), /Users là argument.
2. Đường dẫn — Tuyệt đối vs Tương đối
Đường dẫn tuyệt đối (Absolute path)
Bắt đầu bằng / — mô tả vị trí từ gốc hệ thống. Luôn đúng dù bạn đang ở đâu.
/Users/you/Developer/IT Basic/CLI
Đường dẫn tương đối (Relative path)
Tính từ thư mục hiện tại. Không bắt đầu bằng /.
Developer/IT Basic/CLI # từ /Users/you
./CLI # . = thư mục hiện tại
../JS # .. = thư mục cha
~/Documents # ~ = home (/Users/you)
/— root (gốc của filesystem)~— home directory của user hiện tại.— thư mục hiện tại..— thư mục cha (lùi 1 cấp)-— thư mục vừa rời (dùng vớicd -)
Khi tên thư mục có khoảng trắng
Shell tách lệnh thành các phần bằng khoảng trắng. Vì vậy cd IT Basic
sẽ bị hiểu là: chạy cd với 2 đối số IT và Basic → báo lỗi
"no such file or directory". Có 3 cách xử lý:
$ cd "IT Basic" # cách 1: dấu ngoặc kép (phổ biến nhất)
$ cd 'IT Basic' # cách 2: dấu ngoặc đơn
$ cd IT\ Basic # cách 3: backslash escape — \ trước mỗi space
'...' giữ nguyên si mọi ký tự bên trong. Dấu nháy kép "..." vẫn cho phép biến shell giãn nở:
$ echo "Home: $HOME"
Home: /Users/you
$ echo 'Home: $HOME'
Home: $HOME # không giãn nở
Tab — shell sẽ tự thêm dấu \ escape cho bạn:
cd IT → Tab → cd IT\ Basic/
3. Bộ 5 lệnh navigation cốt lõi
3.1 pwd — Print Working Directory
In ra đường dẫn tuyệt đối của thư mục bạn đang đứng.
$ pwd
/Users/you/Developer/IT Basic/CLI
3.2 ls — List directory contents
Liệt kê file/folder. Các flag thường dùng:
| Flag | Ý nghĩa |
|---|---|
-l | Long format (quyền, owner, size, ngày) |
-a | Hiện cả file ẩn (bắt đầu bằng .) |
-h | Human-readable size (KB, MB...) |
-t | Sắp xếp theo thời gian sửa |
-r | Đảo ngược thứ tự |
-S | Sắp xếp theo size |
Có thể kết hợp các flag:
$ ls -lah # long + all + human-readable
$ ls -lt # long, mới nhất lên đầu
$ ls ~/Documents # list 1 thư mục cụ thể
3.3 cd — Change Directory
$ cd /Users/you/Developer # tuyệt đối
$ cd Developer # tương đối
$ cd .. # lùi 1 cấp
$ cd ../.. # lùi 2 cấp
$ cd ~ # về home
$ cd # cũng về home
$ cd - # quay lại thư mục vừa rời
3.4 clear — Xóa màn hình
Cho terminal sạch sẽ. Phím tắt: Ctrl + L (giữ nguyên scroll history) hoặc Cmd + K trên macOS Terminal (xóa hẳn).
3.5 man — Manual
Đọc tài liệu chi tiết của 1 lệnh. Cực kỳ quan trọng.
$ man ls
# Phím:
# Space / f — trang sau
# b — trang trước
# /keyword — tìm trong man
# n / N — kết quả tiếp / trước
# q — thoát
cmd --help hoặc cmd -h thường nhanh hơn man khi bạn chỉ muốn xem lướt các option.
4. Phím tắt terminal — phải nhớ
| Phím | Hành động |
|---|---|
Tab | Auto-complete tên file/lệnh — dùng liên tục! |
↑ / ↓ | Lịch sử lệnh đã gõ |
Ctrl + C | Hủy lệnh đang chạy |
Ctrl + D | EOF / thoát shell |
Ctrl + L | Clear màn hình |
Ctrl + A | Về đầu dòng |
Ctrl + E | Về cuối dòng |
Ctrl + U | Xóa từ con trỏ về đầu dòng |
Ctrl + K | Xóa từ con trỏ đến cuối dòng |
Ctrl + W | Xóa 1 từ về phía trước |
Ctrl + R | Tìm lệnh trong lịch sử (rất mạnh!) |
Ctrl + Z (suspend/dừng tạm) với Ctrl + C (hủy hẳn).
Lệnh bị suspend vẫn còn sống — gõ fg để gọi lại hoặc kill %1 để giết.
5. Thử ngay trong terminal giả lập
Gõ thử các lệnh đã học. Bắt đầu bằng pwd, ls, rồi cd Developer...
6. Bài tập tuần 1
Mở Terminal thật trên máy, làm tuần tự:
- Gõ
pwd— chép kết quả ra một file note. - Đi tới home bằng
cd ~, sau đóls -la. Bạn thấy bao nhiêu file ẩn (bắt đầu bằng.)? - Đi tới
~/Developer/IT Basic/CLI. Liệt kê dạng long, sắp xếp theo thời gian sửa, mới nhất lên đầu. - Lùi 2 cấp về
~/Developerbằng 1 lệnh duy nhất. - Dùng
cd -quay lại nơi vừa rời. - Mở
man ls, tìm flag-S(gõ/-S), đọc xong nhấnq. Flag đó làm gì? - Gõ
lsrồi nhấnTab2 lần — terminal gợi ý gì? - Gõ
Ctrl + R, gõcd— bạn thấy lịch sử các lầncdtrước. NhấnEschoặcCtrl + Gđể thoát.
7. Quiz — Kiểm tra kiến thức
8. Tổng kết
Sau tuần 1, bạn cần phản xạ tự động:
- ✅ Phân biệt path tuyệt đối / tương đối, hiểu
~,.,.. - ✅ Dùng thành thạo
pwd,ls -lah,cdvới mọi biến thể - ✅ Đọc
man, biết tìm flag bằng/ - ✅ Nhớ ít nhất 6 phím tắt: Tab, ↑↓, Ctrl+C/L/A/E/R
Tuần 2 chúng ta sẽ học cách tạo, copy, di chuyển, xóa file và quản lý quyền truy cập.