1. Làm quen với dòng lệnh Linux
Tại sao lại dùng dòng lệnh?
Trước khi đi sâu hơn, tụi mình trả lời câu hỏi chính: tại sao phải dùng dòng lệnh khi Linux có giao diện đồ họa đẹp mắt? Dòng lệnh (Command Line Interface, CLI) là công cụ của dân chuyên nghiệp, admin hệ thống và lập trình viên. Với CLI, bạn có thể làm việc nhanh hơn, tự động hóa mấy việc lặp đi lặp lại và thậm chí làm mấy trò "ảo thuật" mà không cần rời tay khỏi bàn phím. CLI thực sự là siêu năng lực trong thế giới Linux, giúp bạn làm việc hiệu quả hơn hẳn.
Terminal, shell và CLI
Trước khi gõ lệnh đầu tiên, tụi mình cùng tìm hiểu xem phía sau "ma thuật" terminal là gì nhé.

1. Terminal
Terminal là chương trình cho phép bạn truy cập vào dòng lệnh. Nó giúp bạn tương tác với hệ điều hành bằng văn bản. Trên Linux có mấy terminal phổ biến như:
- GNOME Terminal (trên GNOME).
- Konsole (trên KDE).
- xterm (huyền thoại, nhưng hơi cũ).
- Windows Terminal cho WSL
2. Shell
Shell là phần mềm giúp diễn giải lệnh và chuyển nó cho hệ điều hành. Trên Linux, shell phổ biến nhất là Bash (Bourne Again Shell). Ngoài ra còn có:
- Zsh: shell nâng cao cho ai thích tùy biến.
- Sh: shell cổ điển của Unix (rất tối giản).
Ban đầu tụi mình sẽ làm việc với Bash vì nó là chuẩn luôn.
2. Cấu trúc lệnh
Lệnh trong CLI có format rất chặt chẽ, hiểu được nó là chìa khóa thành công đó.
Format cơ bản của lệnh
Mỗi lệnh gồm ba phần:
[Lệnh] [Tùy chọn] [Tham số]
- Lệnh: cái bạn muốn hệ thống làm. Ví dụ,
ls(hiện danh sách file). - Tùy chọn (hoặc flag): thay đổi cách lệnh hoạt động. Ví dụ,
-l(hiện danh sách chi tiết cho lệnhls). - Tham số: dữ liệu bổ sung bạn truyền vào lệnh, ví dụ đường dẫn file hoặc thư mục.
Ví dụ:
ls -l /home
Ở đây:
ls— lệnh;-l— tùy chọn để hiện danh sách chi tiết;/home— tham số (thư mục mà bạn muốn xem nội dung).
3. Di chuyển và các lệnh CLI cơ bản
Bắt đầu với mấy lệnh đơn giản nhất để làm quen với hệ thống nhé.
1. Mình là ai? Đang ở đâu?
whoami: hiện tên user hiện tại.$ whoami studentpwd(print working directory): hiện thư mục hiện tại.$ pwd /home/student
Trong hầu hết shell Unix/Linux, ký hiệu $ được dùng làm prompt trong terminal. Nó báo hiệu hệ thống đã sẵn sàng nhận lệnh. Ký hiệu $ giúp phân biệt lệnh bạn cần gõ với kết quả trả về.
2. Nhìn quanh xem có gì
ls(list): hiện nội dung thư mục hiện tại.$ ls Documents Downloads MusicTùy chọn hữu ích:
-l: thông tin chi tiết về file và thư mục.-a: hiện cả file ẩn.
Ví dụ:
ls -la
3. Di chuyển giữa các thư mục
cd(change directory): giúp bạn chuyển giữa các thư mục.$ cd /home $ pwd /home
4. Phím tắt hữu ích trong terminal
Dòng lệnh có mấy tổ hợp phím cực tiện:
Ctrl+C: dừng lệnh đang chạy.Ctrl+D: kết thúc session hiện tại.Tab: tự động hoàn thành tên file/thư mục. Cực kỳ tiện luôn, nhớ dùng nhiều vào nhé.Arrow Up/Down: chuyển qua lại giữa các lệnh vừa gõ gần đây.
Lưu ý vui: nếu muốn "giả vờ hacker", nhấn Ctrl+C rồi liếc mắt sang chỗ khác là chuẩn style luôn đó.
5. Ví dụ lệnh đơn giản: bắt đầu thực hành!
Cùng làm một bài tập nhỏ và giải nó bằng CLI nhé.
Bài tập:
- Kiểm tra user hiện tại.
- Chuyển về thư mục home.
- Xem trong đó có gì.
- Tạo thư mục
test_folder. - Kiểm tra xem thư mục đã xuất hiện chưa.
Giải thích:
# Kiểm tra user hiện tại
whoami
# Về thư mục home
cd ~
# Xem nội dung thư mục
ls
# Tạo thư mục mới
mkdir test_folder
# Kiểm tra sự tồn tại của thư mục
ls -l
Giải thích từng bước:
- Lệnh
whoamiđể kiểm tra bạn đang là user nào. - Dùng
cd ~để về thư mục home. Ký hiệu~luôn chỉ thư mục home của user hiện tại. - Lệnh
lshiện nội dung thư mục trước và sau khi tạo thư mục mới.
6. Lỗi thường gặp và cách tránh
Làm việc với dòng lệnh kiểu gì cũng gặp lỗi, nhất là lúc mới học. Đây là vài tình huống phổ biến:
Có dấu cách trong tên file/thư mục. Nếu tên có dấu cách, nhớ để trong dấu ngoặc kép nhé. Ví dụ:
mkdir "My Folder"Sai đường dẫn. Nếu bạn thấy thông báo
Không có file hoặc thư mục như vậy, nghĩa là đường dẫn bạn nhập không tồn tại.cd /unknown/pathGõ sai lệnh. Terminal không tha lỗi đâu:
lssthay vìlslà lệnh khác (hoặc có khi không tồn tại luôn).
7. Tại sao phải học mấy cái này?
CLI là công cụ cực mạnh để quản lý bất kỳ hệ thống nào. Nó dùng ở khắp nơi: từ cấu hình server đến viết script tự động hóa. Khi đi phỏng vấn, người ta hay hỏi mấy lệnh terminal, nên kiến thức này sẽ rất hữu ích cho bạn sau này.
Thêm nữa, CLI giúp bạn làm quen với hệ thống quản lý version như git, phát triển ứng dụng server và viết script tự động. Tất cả bắt đầu từ việc hiểu mấy thứ cơ bản như cấu trúc lệnh, di chuyển giữa thư mục và phím tắt.
Thực hành chút nào
Thử làm bài này nhé:
- Kiểm tra ngày hiện tại.
- Tạo thư mục
logs. - Trong đó tạo file
log.txtghi lại ngày hiện tại.
Ví dụ lời giải
# Kiểm tra ngày hiện tại
date
# Tạo thư mục logs
mkdir logs
# Ghi ngày vào file log.txt
date > logs/log.txt
# Kiểm tra nội dung file
cat logs/log.txt
Giờ thì bạn đã sẵn sàng lên level tiếp theo — làm việc với hệ thống file và nội dung của nó rồi đó!
8. Plugin CodeGym là gì và dùng để làm gì?
Bạn có thể giải bài tập trên web hoặc trong IDE JetBrains với plugin CodeGym và Shell Script (thường Shell Script đã cài sẵn rồi).
Nếu chưa có IDE, mình khuyên bạn cài IntelliJ IDEA Community Edition.
- Hướng dẫn cài IntelliJ IDEA.
- Cách tạo project đầu tiên.
Bạn có thể tải plugin CodeGym từ marketplace Jetbrains, ngay trong IDE của mình.
Vào mục "Cài đặt", Windows/Linux
File - Settings, MacOSIntelliJ IDEA - Preferences. Nếu chưa thấy mục cài đặt, hãy mở hoặc tạo project mới.Trong cửa sổ hiện ra, ở menu bên trái chọn Plugins rồi mở tab Marketplace. Ở ô tìm kiếm gõ codegym
- Chọn plugin và nhấn nút Install.
- Khởi động lại (Restart IDE) IntelliJ IDEA để bắt đầu dùng plugin.
- Bạn sẽ thấy giao diện hơi khác chút và có nút Đăng nhập tài khoản ở thanh ngang trên cùng.
Để mở bài tập mới, nhấn
Tasksở thanh dọc bên trái, rồi chọn thẻ bài tập ở panel bên trái, trong popup nhấn Mở:- Một cửa sổ với hai tab sẽ hiện ra. Một tab là đề bài, tab còn lại để nhập code. Và sẽ có thông báo từ shellcheck để kiểm tra shell script của bạn - cứ đồng ý nhé
- Giờ thì gõ lời giải và nhấn
Validateđể gửi bài kiểm tra hoặc chạy thử local.
Khi nhấn vào sẽ mở cửa sổ đăng nhập tài khoản, bạn cần nhập secret key của mình. Nhớ là secret key bạn tìm thấy ở mục “Cài đặt” → “Bảo mật và đăng nhập”.
Plugin đã cài xong! Giờ bạn có thể giải bài tập rồi.
Đồng bộ bài tập giữa web và plugin
Danh sách bài tập và trạng thái sẽ tự động cập nhật mỗi 5 phút hoặc sau khi bạn gửi bài kiểm tra (server CodeGym).
Nên nếu bạn giải bài trên web, trong plugin nó cũng sẽ hiện là đã giải. Nếu muốn cập nhật trạng thái ngay lập tức, hãy nhấn vào avatar của bạn (góc trên bên phải), trong menu xổ xuống chọn Đồng bộ bài tập:
Chế độ newbie trong plugin
Đây là phiên bản đơn giản cho ai chưa quen (hoặc ít kinh nghiệm) với IntelliJ IDEA và các IDE khác. Một số chức năng của IntelliJ IDEA sẽ bị ẩn đi. Để tắt chế độ này, nhấn vào avatar của bạn (góc trên bên phải), trong menu xổ xuống chọn mục Cài đặt:
Cách ẩn thanh điều hướng plugin ở chế độ PRO
Nhấn vào mục Cài đặt (⚙️) và bỏ tick ở mục "Hiện thanh điều hướng plugin":

GO TO FULL VERSION