Bash Shell trong Linux là gì?


Bash nghe có vẻ là một cái tên lạ đối với giao diện dòng lệnh chào đón người dùng đăng nhập vào bất kỳ bản phân phối Linux nào. Chính xác thì Bash là gì? Bạn có thể sử dụng nó để làm gì? Hãy cùng tìm hiểu.

Mặc dù Bash thường được liên kết với Linux nhưng bạn cũng có thể sử dụng nó trên Windows. macOS đã bao gồm Bash, mặc dù nó đã thay đổi shell mặc định thành Zsh – một phiên bản nâng cao của Bash với một số tính năng bổ sung.

Vỏ là gì?

Thuật ngữ Bash shell được sử dụng rất nhiều, nhưng dù sao thì shell là gì? Tại sao nó lại cần thiết? Và tại sao Bash dường như là lớp vỏ duy nhất ngoài kia?

Các hệ điều hành hiện đại với giao diện người dùng đồ họa trực quan khiến việc sử dụng máy tính trở nên dễ dàng. Nhưng trong thời kỳ đầu của máy tính, việc ra lệnh cho hệ thống phải làm gì không phải là điều đơn giản.

Các lập trình viên phải biết các chi tiết cấp thấp của hệ thống mà họ đang mã hóa và hướng dẫn thủ công từng phần cứng. Hệ điều hành được thiết kế để thu hẹp khoảng cách này, nhưng bạn sẽ hướng dẫn chính hệ điều hành đó như thế nào?

Nhập Shell. Lớp ngoài cùng của hệ điều hành được thiết kế để trở thành một môi trường tương tác thể hiện tất cả các chức năng của máy tính trong một giao diện đơn giản. Shell này là thứ xa nhất mà người dùng máy tính phải đào sâu vào, vì nó chứa tất cả các lệnh cần thiết để vận hành hệ thống.

Bourne Again: Bash ra đời như thế nào

Một quan niệm sai lầm phổ biến là Bash được Linus Torvalds tạo ra cho hệ điều hành Linux. Trên thực tế, Bash chỉ được chuyển sang Linux và đã được sử dụng trong Unix tiền thân của nó.

Theo nhiều cách, Unix là nơi bắt đầu của tất cả các hệ điều hành hiện đại. Nó loại bỏ phần lớn sự phức tạp phức tạp gây khó khăn cho việc triển khai hệ điều hành ban đầu, trình bày các chức năng của máy tính trong một giao diện dựa trên văn bản tương đối đơn giản.

Tất nhiên, bản thân Unix đã mượn hầu hết các ý tưởng của mình từ Multics, bao gồm cả khái niệm về shell. Nhưng chính Unix mới thực sự phổ biến kỹ thuật này, với việc Thompson Shell được tung ra với phiên bản đầu tiên.

Tuy nhiên, chức năng của nó khá hạn chế và nhiều lập trình viên cuối cùng đã sửa đổi shell để làm cho nó thân thiện hơn với tập lệnh. Bourne Shell là sự thay thế chính thức của shell Unix, bổ sung thêm hỗ trợ cho các tập lệnh shell..

The Bourne Again Shell được phát hành muộn hơn nhiều, mang lại sự cải tiến hơn nữa về khả năng tạo tập lệnh và biến nó thành một shell cấp phép GNU mã nguồn mở, miễn phí mà bất kỳ hệ điều hành nào cũng có thể sử dụng. Và nó nhanh chóng được Linux áp dụng, trở thành shell mặc định cho nhiều bản phân phối khác nhau của nó.

Nhưng Bash có thể làm được gì?

Bash về cơ bản là một môi trường tập lệnh hoàn chỉnh với quyền truy cập hoàn toàn vào hệ thống Linux. Từ quản lý tệp đến chạy ứng dụng, bạn có thể thực hiện mọi tác vụ điện toán bằng lệnh Bash.

Đối với hầu hết người dùng Linux, điều này chỉ chuyển thành các lệnh shell thủ công. Suy cho cùng, mục đích chính của Bash là phục vụ như một giao diện cho hệ điều hành.

Và có khá nhiều lệnh cài sẵn như vậy. Bạn có thể quản lý quyền sở hữu tệp bằng nhai, định cấu hình cài đặt mạng bằng ifconfig, định vị các thư mục bằng tìm thấy – danh sách vẫn tiếp tục.

Nhưng Bash sẽ không tồn tại nếu các lệnh Linux là tất cả những gì người dùng quan tâm. Không, sức mạnh thực sự của shell Linux nằm ở tập lệnh.

Tầm quan trọng của việc viết kịch bản

Ý tưởng viết lệnh rất đơn giản. Thay vì nhập thủ công tất cả các lệnh mà bạn muốn hệ thống thực hiện từng lệnh một, bạn lưu các lệnh đó vào một tệp văn bản để có thể chạy theo yêu cầu.

Điều này biến giao diện shell thành một loại ngôn ngữ lập trình, cho phép người dùng tự động hóa mọi hành động thành tập lệnh có thể sử dụng lại. Rõ ràng, nó còn đi xa hơn thế, vì bất kỳ ngôn ngữ lập trình nào cũng cần những thứ như biến và hàm bên cạnh khả năng lưu mã.

Và Bash có tất cả những tính năng đó. Đây là lý do tại sao shell – và ở một mức độ nào đó, Linux nói chung – lại rất phổ biến để quản lý máy chủ và hệ thống thương mại.

Người dùng gia đình có thể nhận được bằng cách nhấp qua nhiều nút nhưng quản trị viên hệ thống cần có khả năng thực hiện bất kỳ hành động nào trên một số lượng lớn máy tính từ xa. Tập lệnh Bash là thứ giúp cho loại hình quản lý hệ thống tự động này trở nên khả thi.

Ví dụ: hãy xem xét hướng dẫn của chúng tôi về đổi tên tệp và thư mục trên Linux. Hướng dẫn minh họa cả hai phương pháp – GUI và tập lệnh. Như bạn có thể thấy, phương pháp tạo tập lệnh có khả năng mở rộng cao hơn nhiều khi có một số lượng lớn tệp liên quan.

Bắt đầu với Bash.

Điểm hay của Bash là nó không chỉ giới hạn ở Linux. Bây giờ bạn có thể cài đặt Linux trên Windows thông qua Hệ thống con Windows dành cho Linux (WSL), hệ thống này đi kèm với Bash theo mặc định.

Điều đó có nghĩa là bạn có thể bắt đầu thử nghiệm Bash mà không cần phải chuyển hoàn toàn sang Linux. Ngay cả khi bạn là người dùng bình thường không có ý định làm việc với máy chủ Linux, các khả năng thú vị của shell Bash có thể hữu ích cho bạn.

Không phải Bash là lựa chọn duy nhất của bạn để tự động hóa các tác vụ điện toán. PowerShell là một giao diện tương tự hoạt động với Windows – tất nhiên là ngoài những gì bạn có thể quản lý bằng dấu nhắc lệnh.

bài viết liên quan:


1.02.2023