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. Bash chính xác 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 trình bao 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.
Mục lục
Vỏ là gì?
Thuật ngữ Bash shell được sử dụng rất nhiều, nhưng shell là gì? Tại sao nó cần thiết? Và tại sao Bash dường như là shell duy nhất ngoài đó?
Các hệ điều hành hiện đại với giao diện người dùng đồ họa trực quan đã làm cho việc sử dụng máy tính trở nên dễ dàng. Nhưng trong những ngày đầu của máy tính, việc ra lệnh cho một hệ thống phải làm gì không đơn giản như vậy.
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 mọi 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 hệ điều hành như thế nào?
Nhập Shell. Lớp ngoài cùng của HĐH đượ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ỉ đơn thuần được chuyển vào Linux, đã được sử dụng trong phiên bản tiền nhiệm của nó, Unix.
Theo nhiều cách, Unix là nơi tất cả bắt đầu cho các hệ điều hành hiện đại. Nó đã loại bỏ phần lớn sự phức tạp gây trở ngại 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 đã vay mượn hầu hết các ý tưởng của nó từ Multics, bao gồm cả khái niệm về trình bao. Nhưng chính Unix mới thực sự phổ biến kỹ thuật này, với 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 script. Bourne Shell là sự thay thế chính thức của Unix shell, bổ sung hỗ trợ cho các tập lệnh shell.
Bourne Again Shell được phát hành muộn hơn nhiều, mang đến sự cải tiến hơn nữa về khả năng tạo tập lệnh của nó và biến nó thành một trình bao giấy phép GNU nguồn mở, miễn phí có thể được sử dụng bởi bất kỳ HĐH nào. Và nó đã nhanh chóng được Linux chấp nhận, trở thành trình bao mặc định cho các bản phân phối khác nhau của nó.
Nhưng Bash có thể làm gì?
Bash về cơ bản là một môi trường tập lệnh chính thức với toàn quyền truy cập vào hệ thống Linux. Từ việc quản lý tệp đến các ứng dụng đang chạy, bạn có thể thực hiện mọi tác vụ điện toán bằng các 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 trình bao thủ công. Rốt cuộc, 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 tích hợp sẵn này. Bạn có thể quản lý quyền sở hữu tệp bằng chown, định cấu hình cài đặt mạng bằng ifconfig, định vị thư mục bằng find – danh sách sẽ 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 hệ điều hành Linux nằm ở tập lệnh.
Tầm quan trọng của việc viết kịch bản
Ý tưởng về các lệnh viết kịch bản 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 cái một, bạn lưu các lệnh trong 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 trình bao thành một loại ngôn ngữ lập trình, cho phép người dùng tự động hóa bất kỳ hành động nào thành một tập lệnh có thể tái sử dụng. 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ả các tính năng đó. Đây là lý do tại sao shell – và ở một mức độ nào đó, Linux nói chung – rất phổ biến để quản lý các 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. Các tập lệnh Bash là những gì làm cho loại quản lý hệ thống tự động này trở nên khả thi.
Ví dụ: hãy xem 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 viết kịch bản có khả năng mở rộng hơn rất 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. Giờ đây, bạn có thể cài đặt Linux trên Windows thông qua Hệ thống con Windows dành cho Linux (WSL), đ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 với Bash mà không cần phải chuyển hoàn toàn sang Linux. Ngay cả khi bạn là một người dùng bình thường không có ý định làm việc với các máy chủ Linux, các khả năng thú vị của trình bao 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ụ tính 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.