CLI là gì? Đây là lý do mà các lập trình viên nên làm quen với CLI
Thịnh Văn Hạnh 27/05/2023 1049 Lượt xem Chia sẻ bài viết
Command Line Interface, viết tắt là CLI, là một loại giao diện dòng lệnh được sử dụng trong quá trình phát triển phần mềm. Mặc dù CLI không phổ biến như giao diện đồ họa (GUI) mà hầu hết mọi người đều quen thuộc, nhưng nó lại là một công cụ không thể thiếu đối với các nhà phát triển. Cùng BKNS tìm hiểu rõ hơn CLI là gì, ưu nhược điểm của CLI; và lý do mà các developer nên làm quen với CLI ngay dưới đây nhé.
Tóm Tắt Bài Viết
GUI và CLI là gì?
GUI (Graphical User Interface) là gì?
GUI, viết tắt của Graphical User Interface, là một loại giao diện sử dụng đồ họa trong việc tương tác với người dùng. Đây là loại giao diện rất phổ biến và quen thuộc với hầu hết người dùng. Trên giao diện GUI, người dùng có thể thao tác với các nút bấm, menu, hình ảnh và các thành phần trực quan khác để thực hiện các tác vụ và điều khiển các chương trình và ứng dụng.
CLI là gì (Command Line Interface)?
CLI là gì? CLI viết tắt của Command Line Interface, là một loại giao diện sử dụng dòng lệnh. Đây là loại giao diện ít phổ biến hơn so với GUI và không phải ai cũng quen thuộc. Khác với GUI, CLI không cung cấp các thành phần trực quan như nút bấm hay menu chỉ dẫn. Thay vào đó, để tương tác với CLI, người dùng phải biết sử dụng các lệnh dòng lệnh. Điều này làm cho CLI trở nên khó sử dụng đối với những người mới bắt đầu. Ví dụ, để tạo một thư mục mới trên máy tính sử dụng GUI, bạn có thể nhấp chuột phải và chọn “New” sau đó “New folder”. Tuy nhiên, khi sử dụng CLI, bạn phải gõ lệnh “mkdir ten-thu-muc” để tạo một thư mục mới.
Nguồn gốc của CLI
CLI đã được sử dụng phổ biến từ những năm 1960. Trước đó, người dùng chỉ có bàn phím làm thiết bị đầu vào và màn hình hiển thị văn bản. Hệ điều hành như MS-DOS đã sử dụng CLI làm giao diện người dùng chính.
Sau một thời gian dùng chỉ bàn phím và vấn đề sử dụng sai lệch thường xuyên, chuột đã được phát minh. Điều này đã đánh dấu sự ra đời của phương pháp trỏ và nhấp chuột, trở thành một cách mới để tương tác với máy tính. Đồng thời, các hệ điều hành đã phát triển giao diện lập trình hấp dẫn hơn, sử dụng GUI. Ngày nay, GUI trở thành phương pháp lập trình phổ biến. Tuy nhiên, hầu hết các hệ điều hành vẫn cung cấp sự kết hợp giữa CLI và GUI trong quá trình lập trình.
Ưu và nhược điểm của CLI
Dưới đây là những ưu nhược điểm của CLI:
Ưu điểm của CLI là gì?
CLI có những ưu điểm như sau:
- • Khả năng kiểm soát chi tiết một hệ điều hành hoặc ứng dụng;
- • Quản lý nhanh hơn số lượng lớn các hệ điều hành;
- • Giúp lưu trữ các tập lệnh để tự động hóa các tác vụ thường xuyên;
- • Kiến thức cơ bản về giao diện dòng lệnh giúp khắc phục sự cố, chẳng hạn như sự cố kết nối mạng.
Nhược điểm của CLI là gì?
Bên cạnh những ưu điểm trên thì CLI có các nhược điểm sau:
- • Không thân thiện với người dùng đầu cuối.
- • Gặp khó khăn trong việc ghi nhớ các điều lệnh và cú pháp.
Tại sao cần có CLI?
Có thể thấy rằng việc sử dụng GUI dễ dàng hơn rất nhiều so với CLI. Tuy nhiên CLI vẫn rất cần thiết. Vậy lý do cần có CLI là gì?
Có 3 lý do cần phải có CLI:
- • Trước hết, không phải tất cả phần mềm đều cung cấp giao diện đồ họa (GUI): Đôi khi việc phát triển giao diện đồ họa (GUI) tốn nhiều thời gian và công sức hơn so với giao diện dòng lệnh (CLI). Vì vậy, các nhà phát triển sẽ cân nhắc sử dụng CLI hơn nếu GUI không cần thiết. Ví dụ, các phần mềm chạy ẩn trên máy tính thường không cần đầu tư thời gian vào việc tạo GUI.
- • Thứ hai, không phải hệ điều hành nào cũng hỗ trợ GUI: Các hệ điều hành phổ biến như Windows, Android, iOS, macOS đều hỗ trợ GUI. Tuy nhiên, có những hệ điều hành không hỗ trợ GUI như MS-DOS, hoặc có thể lược bỏ GUI như Linux được cài đặt trên các máy chủ ảo (VPS). Trong những trường hợp không hỗ trợ hoặc lược bỏ GUI, người dùng chỉ có thể sử dụng CLI.
- • Thứ ba, CLI đơn giản hơn GUI: Mặc dù GUI dễ hiểu, tiếp cận và sử dụng hơn CLI, nhưng GUI cũng phức tạp hơn và đòi hỏi nhiều bước thực hiện hơn. Ví dụ, để xem địa chỉ IP của máy tính, bạn có thể thực hiện các thao tác như “Control Panel > Network Settings > …”. Tuy nhiên, khi sử dụng CLI, bạn chỉ cần gõ lệnh “ifconfig” (hoặc “ipconfig” tùy thuộc vào hệ điều hành) là có thể xem được địa chỉ IP.
Tại sao nên sử dụng CLI hơn là GUI?
CLI và GUL đều có những ưu, nhược điểm khác nhau, tuy nhiên người dùng được khuyên nên sử dụng CLI thay vì GUI bởi những nguyên do sau:
- • CLI tiêu tốn ít tài nguyên hơn: CLI là một chương trình dựa trên văn bản, nên nó yêu cầu ít tài nguyên máy tính hơn. Điều này có nghĩa là bạn có thể thực hiện các tác vụ tương tự với tài nguyên tối thiểu.
- • Độ chính xác cao: Bằng cách sử dụng một lệnh cụ thể, bạn có thể dễ dàng thực hiện điều bạn muốn (miễn là bạn không gõ sai lệnh). Khi bạn đã nắm vững các khái niệm cơ bản, việc viết cú pháp không còn khó khăn như bạn nghĩ.
- • Thân thiện với các nhiệm vụ lặp đi lặp lại: Trong GUI, không phải lúc nào bạn cũng có các menu hoặc nút để thực hiện các tác vụ lặp đi lặp lại. Nếu bạn phải thực hiện các công việc như vậy, GUI có thể khiến bạn cảm thấy quá tải vì phải lặp lại các thao tác. Tuy nhiên, khi sử dụng CLI, bạn chỉ cần sử dụng một lệnh duy nhất. Ví dụ, khi bạn phải xử lý hàng trăm tệp tin trong một thư mục, CLI cho phép bạn tự động lặp lại các tác vụ một cách dễ dàng.
- • Mạnh mẽ: Hầu hết các hệ điều hành hiện nay giới hạn quyền hạn của người dùng để không làm xáo trộn quy trình cốt lõi của hệ thống. Ví dụ, Windows có “system protection” và macOS có SIP (System Integrity Protection). Bạn không thể thực hiện một số tác vụ mà hệ thống bảo vệ. Tuy nhiên, với CLI, bạn có toàn quyền kiểm soát hệ thống của mình.
Lý do các lập trình viên nên làm quen với CLI?
Tiết kiệm thời gian nếu thành thạo
Khi bạn trở nên thành thạo trong việc sử dụng CLI, bạn có thể tiết kiệm được nhiều thời gian trong quá trình thao tác. Bạn không cần phải dùng chuột và có thể thực hiện các thao tác chỉ bằng bàn phím. Điều này giúp bạn làm việc hiệu quả hơn và tiết kiệm thời gian.
Hầu hết các công cụ dành cho lập trình viên đều là CLI
Trên thực tế, phần lớn các công cụ được phát triển cho lập trình viên đều có giao diện dòng lệnh. Ví dụ, npm, yarn, composer, docker, git,… đều được ưa chuộng và sử dụng chủ yếu trên CLI. Lý do chính là vì các lập trình viên thường ưa thích tính đơn giản, tốc độ và linh hoạt. Vì vậy, CLI là lựa chọn tốt hơn GUI để đáp ứng các yêu cầu của lập trình viên.
Lập trình viên thường phải làm việc với các máy chủ Linux
Đa số các máy chủ sử dụng hệ điều hành Linux và thường không cài đặt giao diện đồ họa. Giao tiếp với các máy chủ này thường chỉ có thể thực hiện thông qua CLI. Hơn nữa, trong vai trò của một lâpj trình viên, bạn thường phải cấu hình và cài đặt các gói phần mềm, module cần thiết trên máy chủ Linux. Do đó, việc sử dụng CLI là điều không thể tránh được trong quá trình làm việc.
Tổng kết
CLI là một bước quan trọng đối với các lập trình viên. Không chỉ giúp họ làm việc hiệu quả hơn, mà CLI còn mở ra một loạt lợi ích khác nhau. Qua việc sử dụng CLI, các lập trình viên có thể nắm vững quy trình làm việc, tương tác với hệ thống và ứng dụng một cách chính xác và hiệu quả hơn, từ đó nâng cao khả năng quản lý và triển khai dự án. Điều quan trọng hơn, CLI cung cấp cho họ sự linh hoạt và kiểm soát tối đa, giúp tạo ra các giải pháp và ứng dụng đột phá.
Qua bài viết trên, BKNS đã giải thích rõ hơn cho bạn về khái niệm CLI là gì, phân biệt GUI với CLI, cũng như nêu rõ những ưu nhược điểm của CLI. Đồng thời cũng nêu ra những lý do mà các developer cần phải biết và làm quen với CLI. Mong rằng qua bài viết bạn sẽ hiểu rõ hơn về giao diện CLI này.
Đọc thêm:
Giao thức TFTP là gì? Cách sử dụng TFTP Client trong Windows