Nếu từng sử dụng Linux trong một thời gian dài, chắc chắn bạn đã không ít lần nhìn thấy từ “Bash” xuất hiện ở đâu đó, có thể là trên các diễn đàn và những bài báo. Đôi khi nó có vẻ giống như một từ đồng nghĩa với thiết bị đầu cuối, nhưng Bash và trình giả lập thiết bị đầu cuối chắc chắn là hai khía cạnh khác nhau. Vậy Bash chính xác là gì trong Linux? Trong bài viết ngắn này, hãy cùng Viettelco khám phá ý nghĩa của Bash, nó có chức năng gì và bạn có thể sử dụng nó ra sao.

Định nghĩa của Bash trong Linux

Bash trong Linux trên thực tế là từ viết tắt của Bourne-Again SHell, một cách chơi chữ liên quan đến Stephen Bourne – tên gọi của người sáng tạo ra GNU này. Bản beta đầu tiên của Bash được phát hành vào năm 1989 và cho đến thời điểm viết bài, nó đã sang tới phiên bản 5.1, với bản cập nhật gần nhất vừa được ra mắt tháng 12 năm 2020.

Bash là một trong những ngôn ngữ shell phổ biến nhất, được biết đến với sự kết hợp của các khả năng mạnh mẽ và hệ thống lệnh thân thiện với người dùng.

Cụ thể hơn, trong Bash có sự tổng hòa của các tính năng nổi trội từ C Shell (csh), Korn Shell (ksh) và tuân thủ các thông số kỹ thuật shell POSTIX 2. Nó mang đến một giao diện dòng lệnh (CLI) để làm việc trên các hệ thống *nix, do đó dần trở thành một trong những shell phổ biến nhất được sử dụng trên các hệ thống Linux.

Tuy nhiên, Bash không chỉ hoạt động trên Linux, mà cũng có sẵn trên macOS và BSD. Đặc biệt, bạn có thể sử dụng nó trên Windows thông qua tiện ích Windows Subsystem for Linux.

Nhưng suy cho cùng, để thực sự định nghĩa được khái niệm Bash, chúng ta phải hiểu shell là gì.

Shell là một ứng dụng chấp nhận dữ liệu đầu vào từ người dùng và thực hiện một hành động để phản hồi, đồng thời giao tiếp với nhân (kernel) để thực thi các hành động tương ứng. Theo cách này, shell có thể được ví như một “lớp vỏ” xung quanh hạt nhân.

Trong khi shell khởi tạo nhiều ứng dụng khác nhau thông qua các lệnh, chúng cũng thường sở hữu những tính năng tương tác.

Ví dụ: khi bạn mở một thiết bị đầu cuối Linux và nhấn nút mũi tên lên để truy xuất lệnh được phát hành cuối cùng, đó là một chức năng của ứng dụng Bash. Lệnh cd để thay đổi thư mục cũng là một lệnh Bash rất phổ biến.

Lệnh cd

Ngoài vai trò là một ứng dụng tương tác, Bash còn là một ngôn ngữ kịch bản (scripting language). Hệ điều hành Linux của bạn trên thực tế sử dụng rất nhiều tập lệnh Bash trong quá trình khởi động để bắt đầu các quy trình khác nhau.

Bạn có thể sử dụng Bash như thế nào?

Trên thực tế, bạn đang dùng đến Bash bất cứ khi nào sử dụng thiết bị đầu cuối trong hầu hết mọi hệ thống Linux.

Nếu chưa rõ, bạn có thể xác nhận điều đó bằng lệnh sau đây. Lệnh này sẽ trả về tên của shell đang được sử dụng:

echo $0

Kết quả là bạn sẽ chỉ nhận được từ bash trả về. Sau đó, bạn có thể kiểm tra phiên bản Bash đang sử dụng bằng lệnh này:

bash --version

Màn hình của bạn sẽ trông như sau:

Kết quả sau khi chạy lệnh

Tuy nhiên, việc đưa ra các lệnh đơn trong thiết bị đầu cuối chỉ là bước khởi đầu cho việc sử dụng Bash.

Giống như những tập lệnh mà hệ điều hành sử dụng, bạn có thể học cách viết các tập lệnh Bash để tự động hóa các quy trình trên PC Linux mà mình thường làm theo cách thủ công. Một Bash scripter lành nghề có thể sở hữu các script tự động hóa hàng trăm nhiệm vụ mỗi ngày!

Vậy làm thế nào bạn có thể học sử dụng Bash?

Câu trả lời rất đơn giản: Bằng cách thực hành viết scripts, theo cách của riêng bạn hoặc được hướng dẫn, chẳng hạn như tham gia vào một khóa học Bash trực tuyến.

Đối với các game thủ, các bạn cũng có thể học bằng cách chơi trò chơi Bash. Chẳng hạn như Bashcrawl, một trình thu thập dữ liệu dungeon dựa trên văn bản buộc bạn phải học và nhớ lại các lệnh Bash để tiến triển trong trò chơi.