Terminal và shell thực chất là gì
Khi bạn dùng một ứng dụng bình thường, bạn nhấp vào các nút và ứng dụng dịch cú nhấp đó thành chỉ thị cho máy tính. Dòng lệnh bỏ qua các nút bấm. Bạn gõ một chỉ thị, nhấn Enter, và máy tính thực hiện nó.
Có hai từ bạn sẽ nghe rất nhiều:
- (cửa sổ dòng lệnh) — cửa sổ mà bạn gõ vào. Nó chỉ là một ô văn bản có lưu lại lịch sử. (Trên Mac gọi là "Terminal" hoặc "iTerm"; trên Windows là "PowerShell" hoặc "Windows Terminal"; trên Linux thường chỉ gọi là "Terminal".)
- — chương trình bên trong cửa sổ đó, đọc những gì bạn gõ và chạy nó. Loại phổ biến nhất gọi là bash; máy Mac dùng loại tên là zsh. Chúng hoạt động gần như giống hệt nhau với mọi thứ trong cuốn sách này.
Đây là vòng lặp diễn ra mỗi lần bạn nhấn Enter: shell đọc những gì bạn gõ, tìm và chạy chương trình tương ứng, rồi in bất cứ thứ gì chương trình đó tạo ra trở lại vào cửa sổ.
you type ┌─────────┐ finds + runs ┌──────────┐ prints
a command ──▶│ SHELL │ ──────────────▶ │ PROGRAM │ ──────────▶ output
+ Enter │ (reads) │ │ (does it)│ in window
└─────────┘ └──────────┘
▲ │
└──────── ready for next command ◀─────┘
Tại sao các công cụ lập trình AI lại sống ở đây? Vì dòng lệnh là bảng điều khiển vạn năng cho việc phát triển phần mềm. Cài đặt công cụ, khởi động ứng dụng, chạy kiểm thử (test), triển khai lên internet — tất cả đều diễn ra qua các lệnh gõ tay. Một AI hoạt động bằng cách gõ đúng những lệnh mà bạn sẽ gõ, chỉ là nhanh hơn và không bị lỗi chính tả. Khi bạn xem nó làm việc, bạn đang xem nó dùng đúng cánh cửa mà chính bạn sẽ dùng.