CMD là viết tắt của Command – nghĩa là “lệnh”. Mỗi khi bạn ra lệnh cho máy tính tức là bạn đang gọi 1 chương trình (program) của hệ điều hành. Mỗi chương trình có thể làm nhiều chức năng khác nhau nên cần phải truyền các tham số khác nhau. Các tham số đó được quy định bởi tác giả viết chương trình nên bạn cần đọc tài liệu hướng dẫn trước khi thực hiện.
Trong lập trình việc sử dụng command là bắt buộc, bài này hướng dẫn sử dụng cmd trên Windows cho người mới tìm hiểu.
Lợi ích của việc sử dụng cmd
Lợi ích của việc sử dụng cmd là tiết kiệm công sức lập trình giao diện (UI, GUI). Lập trình viên không cần phải thiết kế các nút bấm, listbox,… tốn thời gian. Do đó hầu hết các tool đơn giản dành cho lập trình viên sẽ được viết dưới dạng CLI (Command Line Interface).
Các chương trình hỗ trợ CLI có sẵn trong hệ điều hành Windows rất đa dạng về chủng loại. Có thể là *.exe, *.cpl, *.com, *.cmd,…
Các ngôn ngữ lập trình thông dịch (intepreter) như Python cũng sử dụng CLI. Thông qua các câu lệnh bạn có thể cài đặt các package của Python mà không cần ấn Next -> Next -> … -> Finish nữa.
Cách sử dụng
Để gọi 1 chương trình có nhiều cách, phổ biến nhất là sử dụng CMD.exe để ra lệnh hoặc dùng Bat Script. Sử dụng CMD bạn sẽ gõ từng lệnh còn dùng script thì bạn có thể viết 1 kịch bản hoạt động.
Cách sử dụng CMD nổi tiếng nhất có lẽ là kiểm tra cấu hình IP của PC: mở cửa sổ run -> gõ CMD -> Enter -> cửa sổ CMD mở lên. Ở cửa sổ CMD gõ ipconfig là xem được cấu hình IP của PC.
Trong khuôn khổ của blog thị giác máy tính thì việc training model hay test kết quả đều thông qua các chương trình mà lib cung cấp. Bạn truyền tham số vào chương trình thì chương trình sẽ parse (phân tích) tham số truyền vào, nếu tham số truyền đúng thì chương trình sẽ thực thi, còn sai thì chương trình sẽ báo lỗi để bạn nhập lại
Bạn có thể viết nhiều dòng lệnh vào 1 file text rồi lưu vào file *.bat rồi double click để thực thi. Cuối dòng nên có lệnh pause để cửa sổ cmd không đóng lại.
VD: bat script dùng để train model cascade phát hiện biển số xe máy
D:
cd D:\LIB\opencv342\build\x64\vc15\bin
opencv_createsamples -info D:\bike\location.txt -vec bike.vec -w 34 -h 26 -num 1497
pause
Các quy ước khi sử dụng
- Command sẽ hoạt động trong folder được gọi, nếu bạn gọi cmd từ cửa sổ run thì folder default là folder cá nhân của bạn.
- Bạn cần phải di chuyển đến folder chứa các file cần làm việc, ví dụ bạn để lib OpenCV trong D:\lib\opencv320 thì cần phải gọi D: trước.
- .. là thư mục cha của thư mục hiện tại (2 dấu chấm).
- . là thư mục hiện tại (1 dấu chấm), ít khi sử dụng
- Dấu \ dùng để ngăn cách các folder trong đường dẫn (path).
- Dấu / dùng để truyền tham số.
- Dấu – hoặc — cũng được dùng để truyền tham số.
- Trong tài liệu hướng dẫn nếu tham số nào đặt trong ngoặc vuông [] nghĩa là optional (có cũng được, không có cũng được). Các tham số khác là bắt buộc phải có.
- Thỉnh thoảng trong tài liệu hướng dẫn thường viết câu lệnh phía sau dấu > để phân biệt với kết quả
VD:>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Local Area Connection* 1:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::503e:4cd4:9563:60f8%8
IPv4 Address. . . . . . . . . . . : 192.168.14.120
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.14.1 - Chương trình có đuôi là exe thì không cần gõ đủ đuôi .exe vẫn hoạt động.
- Đường dẫn có ký tự ổ đĩa ở đầu là đường dẫn tuyệt đối.
- Đường dẫn không có ký tự ổ đĩa ở đầu là đường dẫn tương đối.
- Các chương trình Windows luôn có sẵn help, chỉ cần gõ /? hoặc /help phía sau câu lệnh
VD: C:\Users\vohungvi
D:
cd D:\lib\opencv320
VD: cd C:\Users\vohungvi\..
sẽ đi ra folder C:\Users\
VD: dir .
sẽ liệt kê tất cả file trong folder hiện tại
Do dir và dir . đều cho ra kết quả như nhau nên ít khi sử dụng dấu chấm
VD: C:\Users\vohungvi
VD: ipconfig /all
VD: ipconfig -all
VD: ipconfig [/all] nghĩa là /all có cũng được, không có cũng được
VD: ipconfig tương đương ipconfig.exe
VD: C:\Users\vohungvi\test.exe
VD: khi gọi test.exe thì chương trình sẽ tìm file test.exe trong folder hiện tại. Nếu không có thì tìm trong các thư mục của biến môi trường PATH, nếu vẫn không có thì báo lỗi.
ipconfig /?
Cú pháp truyền tham số
Cú pháp truyền tham số thường được mô tả trong tài liệu hướng dẫn đi kèm. Thông thường là:
<tên chương trình> [tham số 1] [tham số 2]...
Một số ví dụ làm quen với CMD
- Ping tới IP hay domain nào đó để kiểm tra đường truyền
- Liệt kê file trong folder kèm theo thông tin của file
- Liệt kê tên file trong folder không kèm theo thông tin của file
- Copy file
- Xóa file
- Shutdown máy tính 5 giây sau khi gõ lệnh
- Di chuyển đến folder cha
ping google.com
dir
dir /b
copy text1.txt text2.txt
del text1.txt
shutdown.exe -s -t 5
cd ..
Tổng kết
Bài viết này nằm trong khuôn khổ môn Lập trình cơ bản, do đó rất cần thiết với những bạn từ những ngành khác mới tìm hiểu. Không khó nhưng xuất hiện ở mọi nơi, mọi hệ điều hành, từ chương trình đơn giản đến phức tạp. Nó sẽ theo bạn suốt quãng đường lập trình.