Command-line interface (CLI) dịch ra có nghĩa là giao diện dòng lệnh. Loại giao diện này thường được tìm thấy trên các thiết bị mạng ví dụ như bộ định tuyến. Nó có nhiệm vụ quản lý và điều khiển thiết bị mạng đó.
Vậy CLI là gì? có tính năng gì? hoạt động như thế nào?… Hãy cùng BKHOST đi tìm hiểu trong bài viết dưới đây.
Command-line interface (CLI) là gì?
Command-line interface (CLI) hay còn có tên gọi khác là giao diện người dùng lệnh, giao diện người dùng ký tự. Đây là phương tiện tương tác với máy tính nơi người dùng (UI) đưa ra lệnh cho chương trình dưới dạng các dòng văn bản thông qua phương thức nhập bàn phím.
Hiện nay giao diện người dùng đồ hoạ (GUI) được đặt làm mặc định cho Windows, Linux và macOS. Đặc biệt hệ thống dựa trên hệ điều hành Unix cung cấp cả CLI và GUI.
CLI là phương tiện tương tác chính với các hệ thống máy tính và là công cụ quan trọng đối với những người làm việc trong lĩnh vực công nghệ thông tin, nhà phát triển phần mềm, nhà cung cấp dịch vụ, quản trị viên,…
Shell là gì?
Shell cũng là một dạng giao diện người dùng có nhiệm vụ xử lý tất cả các lệnh được nhập trên CLI. Nó cung cấp một giao diện với hệ thống Unix cho phép chạy các chương trình hoặc quản lý cấu hình trên cơ sở đầu vào của chính nó.
Được gọi là shell vì nó giống như lớp vỏ ngoài của hệ điều hành, là ranh giới giữa bên trong và bên ngoài của máy tính nơi người dùng tương tác đầu tiên.
Shell có hai phiên bản:
- Shell dựa trên CLI có phương thức tương tác ngắn gọn, hiệu quả mà không yêu cầu gì.
- Shell dựa trên GUI dành cho người mới bắt đầu. Quản trị viên hệ thống cũng có thể lựa chọn vì nó vẫn có CLI.
Bash là một bộ xử lý lệnh thường được sử dụng phổ biến cho các hệ điều hành dựa trên nền tảng Unix hoặc Linux. Một bộ xử lý lệnh khác dành cho Windows là PowerShell. Phần mềm đảm nhận vai trò xử lý giao diện dòng lệnh được gọi là trình thông dịch ngôn ngữ lệnh hay trình xử lý dòng lệnh.
Shell là lớp ngoài của hệ điều hành và hoạt động giống như một ứng dụng có thể được thay thế khi cần thiết. Một hệ điều hành có thể có nhiều Shell:
- Microsoft Windows có hai ứng dụng Command Prompt và Powershell có thể tương tác với máy tính. Windows Subsystem for Linux còn cung cấp CLI cho phép truy cập vào hệ thống cơ bản.
- Các hệ điều hành dựa trên nền tảng Unix hoặc Linux đặt Bash làm bộ xử lý mặc định. Một số khác như C shell hay Z shell cũng có thể được đặt làm shell hệ thống mặc định của máy tính.
Vì shell là vỏ ngoài của hệ điều hành nên nó cho phép thực hiện các thao tác không có sẵn như di chuyển tệp, xoá tệp hay thêm tệp.
Shell script được coi là nền tảng tự động hoá quản lý hệ thống cơ bản. Để sử dụng CLI Shell, tốt nhất người dùng nên tìm hiểu thêm về scripting language.
CLI hoạt động như thế nào?
Khi hệ thống máy tính hoạt động thì CLI sẽ được mở ra với dấu nhắc nhập lệnh.
Lệnh CLI bao gồm:
- Lệnh hệ thống được mã hóa như một phần của giao diện hệ điều hành trên máy tính.
- Các chương trình khi được thực hiện thành công sẽ dựa trên văn bản hoặc đồ hoạ để chạy các ứng dụng.
- Các tệp văn bản hoặc các file chạy hàng loạt hay tập lệnh shell được dùng để liệt kê một chuỗi lệnh. Sau khi được gọi thành công, chúng sẽ chạy các lệnh hệ thống và chương trình thực thi.
Tính năng của CLI:
- Scripting capability cho phép người dùng viết các phương trình có thể chạy trên hệ thống máy chủ.
- Command pipes cho phép người dùng tùy chỉnh đầu ra của chương trình này thành đầu vào của chương trình khác.
- System variables được đặt tại các dòng lệnh hoặc giá trị được hiển thị.
- Command history cho phép người dùng gọi lại các lệnh trước đó trong mục lịch sử lệnh.
Các lệnh và cú pháp giúp cho CLI hoạt động ổn định theo thời gian và cho phép các tập lệnh có khả năng tương thích ngược.
Lời nhắc và lệnh
Có hàng trăm lệnh khác nhau có sẵn trong một dòng lệnh của CLI. Tập hợp các lệnh có thể hoàn toàn khác nhau giữa hệ điều hành quản lý hoặc ứng dụng.
Ví dụ: Microsoft định nghĩa hàng trăm cmdlet là “lightweight commands” trong PowerShell. Các hàm PowerShell là danh sách các lệnh ghép ngắn có thể chạy trên CLI.
Một số lệnh tự chạy như lệnh dir:
{{EJS0}}
Đối số hay còn được gọi là tham số cung cấp các chi tiết hỗ trợ sửa đổi bổ sung cách chạy lệnh trong CLI.
Lệnh cd “change directory” cho phép thay đổi thư mục dưới dạng tham số. Tuy nhiên trong một số trường hợp, dòng lệnh cũng phải bao gồm tên của đường dẫn thư mục mong muốn.
Lệnh cd đặt lại thư mục làm việc hiện tại:
{{EJS1}}
Các tham số cho phép người dùng dòng lệnh nhận được các kết quả cụ thể, đôi khi không có sẵn thông qua giao diện đồ họa.
Các CLI cung cấp cơ chế lấy đầu ra của lệnh này thành đầu vào của lệnh khác sử dụng biểu tượng thanh dọc hoặc “|”.
“one-liner” được sử dụng để xâu chuỗi lệnh PowerShell giúp truy xuất thông tin cấu hình mạng chi tiết từ máy chủ Windows:
{{EJS2}}
Mặc dù được gõ chung một dòng nhưng thật ra trong dòng lệnh đó bao gồm nhiều dòng lệnh liên tiếp. Các lệnh liên tiếp nó bao gồm:
- Get-NetIPAddress truy xuất tất cả thông tin cấu hình IP cho máy tính mà không có bất kỳ tham số nào.
- Sort InterfaceIndex làm và sắp xếp các lệnh ghép ngắn Get-NetlPAddress theo giá trị InterfaceIndex được liên kết với địa chỉ IP.
- FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress sử dụng lệnh Format-Table để định dạng đầu ra và hiển thị các giá trị của địa chỉ IP.
Các CLI được thay thế khi chúng có khả năng tương thích ngược. Chẳng hạn như Microsoft thay thế MS-DOS bằng Windows Command Prompt.
Một số lệnh MS-DOS phổ biến:
Yêu cầu | Ví dụ | Ghi chú |
CD | C:\> CD \user\programs C:\user\programs> | Hiển thị và chuyển đổi các thư mục hiện hành. |
CHKDSK | C: \> CHKDSK a: | Lệnh chkdsk (check disk) được sử dụng để kiểm tra và sửa lỗi ổ cứng của máy chủ. |
Copy | C: \> COPY autoexec.bat autoexec.BAK | Lệnh này chỉ đơn giản là sao chép một hoặc nhiều tệp được chỉ định từ vị trí này sang vị trí khác mà không cần thay đổi tên tệp. |
DEL | C:\> DEL autoexec.BAK C:\> DEL C:\backups\*.BAK | Tương tự như lệnh erase, lệnh del được sử dụng để xóa một hoặc nhiều tệp trong các thư mục khác nhau. |
DIR | C:\> DIR C:\> DIR C:\backups\*.txt | Lệnh dir giúp hiển thị danh sách các tập tin của tệp và thư mục chứa trong thư mục chỉ định. Ngoài ra lệnh dir còn hiển thị các thông tin như số seri ổ cứng, kích thước tổng,… |
EDLIN | C: \> edlin autoexec.bat | Khởi động công cụ Edlin giúp tạo và sửa đổi các tập tin văn bản từ dòng lệnh. |
FORMAT | C:\> FORMAT a: | Định dạng disk để có thể sử dụng với MS-DOS. |
MKDIR | C: \> MKDIR c: \ NewDIR | Lệnh MKDIR giúp tạo một thư mục mới trong đường dẫn được chỉ định. |
More | C: \> more autoexec.bat | Hiển thị thông tin của một tệp văn bản bất kỳ tại một thời điểm. |
PROMPT | C:\> prompt $p $d$g C:\UTIL Fri 11-05-2021> | Lệnh PROMPT được sử dụng để ghi lại và sửa đổi lời nhắc mặc định. Trong ví dụ này, các tham số được sử dụng với lệnh để đặt hiển thị lời nhắc làm ổ đĩa và đường dẫn hiện tại, ngày tháng và ký hiệu lớn hơn. Lời nhắc kết quả được hiển thị trong ví dụ. |
RMDIR | C: \> rmdir c: \ backup | Xóa một thư mục. |
TYPE | C: \> type autoexec.bat | Hiển thị nội dung của tệp văn bản trong thư mục. |
So sánh CLI và GUI
GUI là giao diện người dùng phổ biến hiện nay với các cửa sổ, menu và biểu tượng được sử dụng để thực hiện thao tác lệnh. Người dùng GUI thường thao tác nhiều nhất bằng cách sử dụng chuột, một số ít sử dụng bàn phím.
Ứng dụng Microsoft Word hoạt động dựa trên GUI. Nó cho phép người dùng sử dụng chuột hoặc bàn phím để thay đổi các tùy chọn về bố cục hay kiểu trang.
Giao diện của GUI còn có thể hiển thị toàn bộ các chức năng có sẵn. Tuy nhiên vì phụ thuộc vào đồ hoạ mà GUI có thể không có cùng mức chức năng và khả năng kiểm soát chi tiết như CLI. Ngoài ra, GUI cũng không hỗ trợ soạn thảo hay tự động hoá mà người dùng sẽ phải lặp lại sau mỗi lần điều hướng từng hộp thoại theo cách thủ công đối với những tác vụ thông thường.
GUI không có tác dụng đối với quản trị viên khi phải quản lý hàng trăm, hàng nghìn hệ thống cùng một lúc. Thay vào đó, CLI là công cụ được ưa thích, phù hợp với nhiều nhiệm vụ quản lý hệ thống.
Ưu nhược điểm của CLI
Ưu điểm của CLI:
- Kiểm soát chi tiết thông tin của hệ điều hành hoặc ứng dụng.
- Quản lý hiệu quả các hệ thống với số lượng lớn.
- Khả năng lưu trữ các tập lệnh tốt hơn.
- Khắc phục sự cố kết nối mạng và giải quyết các tác vụ hệ thống nhanh chóng hơn.
Nhược điểm của CLI:
- CLI không được thân thiện với người dùng mới.
- Một số lệnh và các tham số khá phức tạp.
- Các dòng lệnh khác nhau được sử dụng trong các shell khác nhau.
Tổng kết về Command-line interface (CLI)
Command-line interface (CLI) là lựa chọn tốt nhất dành cho chiếc máy tính của bạn vì nó đảm bảo độ chính xác cao, công cụ mạnh mẽ và sử dụng ít tài nguyên. Với những thông tin này, bạn đã hiểu rõ hơn về CLI.
Nếu bạn còn bất cứ câu hỏi nào liên quan đến CLI, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.