Lệnh Shell Builtin là gì và cách nhận biết chúng? | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Lệnh Shell Builtin là gì và cách nhận biết chúng?

Chia sẻ kiến thức 10/03/2022

Tại sao Linux có thể cung cấp trải nghiệm dòng lệnh nhanh như chớp? Dưới đây là những gì bạn cần biết về Shell Builtin.

Trên Linux, một số lệnh được tải vào bộ nhớ bất cứ khi nào người dùng khởi chạy shell. Các lệnh này là một phần của shell, còn được gọi là các lệnh Shell Builtin. 

Trong bài viết này, FUNiX sẽ thảo luận chi tiết về shell builtin, cùng với hướng dẫn về cách bạn có thể kiểm tra xem một lệnh Linux có phải là shell builtin hay không.

Shell Builtin là gì?

Các lệnh shell builtin, như tên gọi cho thấy, là các lệnh được tích hợp vào shell (builtin nghĩa là tích hợp). Điều này là do chạy các lệnh thường dùng từ RAM sẽ nhanh hơn là tìm kiếm chúng trên ổ cứng. Các nhà phát triển Shell cho rằng đây là một sự cân bằng tốt vì việc tải dữ liệu từ bộ nhớ nhanh hơn so với tải từ đĩa.

Một ví dụ phổ biến của shell builtin trong nhiều shell hiện đại là lệnh cd để thay đổi thư mục. Bởi vì bạn sẽ sử dụng lệnh này nhiều lần trong một phiên nên việc tải nó từ bộ nhớ để thực thi nhanh hơn là điều rất hợp lý.

Làm thế nào để biết một lệnh có phải là shell builtin?

Để xác định xem một lệnh là lệnh thông thường hay shell builtin, hãy sử dụng lệnh type. Cú pháp cơ bản để kiểm tra xem một lệnh Linux có phải là một shell builtin hay không là:

type -t commandname

… trong đó commandname là tên của lệnh mà bạn muốn kiểm tra.

Ví dụ: để kiểm tra xem lệnh cd có phải là nội trang của shell hay không:

type -t cd

Đầu ra:

builtin

Nếu đầu ra hiển thị bất kỳ thứ gì khác ngoài shell builtin, chẳng hạn như file hoặc alias, thì lệnh đó không phải là lệnh shell builtin.

Trong Bash, bạn cũng có thể sử dụng lệnh -v để xác định xem lệnh có phải là shell builtin không. Đầu ra sẽ hiển thị tên lệnh nếu nó là một shell builtin. Ví dụ: để kiểm tra xem lệnh cd có phải là shell builtin hay không:

command -v cd

Ngoài ra, bạn cũng có thể sử dụng  lệnh which. Lệnh này sẽ cho bạn biết tên đường dẫn tuyệt đối của một lệnh hoặc nếu nó là một shell builtin hoặc một alias. Tùy thuộc vào shell bạn sử dụng, bản thân lệnh which cũng có thể là shell builtin.

Trang hướng dẫn sử dụng của một shell cũng sẽ liệt kê các lệnh shell builtin. Zsh dành toàn bộ trang của nó cho shell builtin. 

Bởi vì các shell khác nhau có các shell builtin khác nhau, một tiện ích phổ biến có thể là một shell builtin, mà cũng có thể tồn tại dưới dạng một tệp thực thi độc lập trên một hệ thống. Nếu bạn muốn sử dụng một lệnh thông thường, chỉ cần sử dụng tên đường dẫn tuyệt đối (absolute path) của nó. 

Bây giờ bạn đã biết sự khác biệt giữa các lệnh thông thường và Shell Builtin

Với các máy tính hiện đại cấp thấp thậm chí còn mạnh hơn nhiều so với các máy tính mini của thời Unix ban đầu, các nhà phát triển shell có thể sử dụng nhiều lệnh builtin hơn để tăng tốc hệ thống. Bạn có thể tận dụng lợi thế của các lệnh shell builtin trong khi vẫn sử dụng các lệnh thông thường khi cần thiết. 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/shell-builtin-commands-in-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!