Unix / Linux Shell 101

Tác Giả: Eugene Taylor
Ngày Sáng TạO: 11 Tháng Tám 2021
CậP NhậT Ngày Tháng: 22 Tháng Sáu 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Băng Hình: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

NộI Dung



Nguồn: Tomasz Bidermann / Dreamstime.com

Lấy đi:

Các shell Unix và Linux rất mạnh mẽ và cực kỳ tùy biến.

Dòng lệnh trên các hệ thống Unix và Linux đã rất mạnh mẽ, nhưng shell là một công cụ thậm chí còn mạnh hơn cả mắt. Bạn có thể tùy chỉnh chúng và chuyển chúng ra nội dung trái tim của bạn, miễn là bạn biết cách.

Vỏ là gì?

Gần như mọi hướng dẫn sử dụng Unix và Linux đều có sơ đồ chuẩn của một lớp vỏ bao quanh hệ điều hành, giống như một loại thanh kẹo. Shell thực sự không có gì ngoài giao diện giữa hệ điều hành, bao gồm kernel, hệ thống tệp và các cuộc gọi hệ thống khác nhau và người dùng. Trong nhiều năm, nó là giao diện người dùng tương tác duy nhất trước khi giao diện người dùng đồ họa trở nên phổ biến vào những năm 1980. Giao diện người dùng đồ họa cũng có thể được coi là một loại vỏ, vì chúng phục vụ nhiều chức năng tương tự: khởi chạy chương trình, định cấu hình hệ thống và quản lý tệp.

Các giao diện dựa trên khiêm tốn này có một sức mạnh đáng ngạc nhiên. Đối với một điều, họ ngôn ngữ lập trình đầy đủ. Trước khi xuất hiện các ngôn ngữ kịch bản mạnh mẽ hơn như Python, các kịch bản shell là lý tưởng để viết các chương trình mà không nhất thiết phải có sức mạnh của C. Chúng vẫn còn hữu ích để tự động hóa các tác vụ hệ thống và tạo mẫu nhanh.

Họ cũng có một số tính năng giúp làm việc và tìm tệp dễ dàng hơn. Một trong những cách được sử dụng rộng rãi nhất là "ký tự đại diện" hoặc "toàn cầu hóa". Hầu như tất cả người dùng Unix và Linux đều quen thuộc với ký tự đại diện "*" để khớp với bất kỳ ký tự nào. Đây thực sự là công việc shell shell. Vỏ khác nhau thậm chí còn có nhiều lựa chọn mạnh mẽ hơn.

Một trong những tính năng đặc biệt của Unix Unix là khả năng chuyển hướng đầu vào và đầu ra của chương trình. Shell thực hiện chức năng này.

Shell chỉ là một chương trình khác, vì vậy nó có thể cho bất kỳ lập trình viên nào có kỹ năng phù hợp để tạo một chương trình. Đã có một số vỏ lớn xuất hiện trong những năm qua.

Lịch sử và một loạt đạn

Mặc dù có một số shell Unix trong những ngày đầu của hệ điều hành, nhưng cái đầu tiên nhận được sự công nhận lớn bên ngoài Bell Labs là Bourne Shell, được đặt theo tên của Stephen R. Bourne. Cải tiến chính của shell là nó hỗ trợ các tính năng cho lập trình có cấu trúc, lần đầu tiên có thể sử dụng shell như một ngôn ngữ lập trình thực sự. Nó không thể thiếu rằng tất cả các phiên bản Unix và Linux hiện đại vẫn sử dụng nó, mặc dù vậy, nó thường là một trong những hệ vỏ mới hơn mô phỏng hệ vỏ Bourne.

Vỏ chính tiếp theo là C Shell, thường được viết tắt là "csh." Lớp vỏ này được phát triển tại UC Berkeley, trở thành một thành phần chính của hương vị BSD của Unix. Như tên cho thấy, cú pháp của nó được thiết kế giống với ngôn ngữ lập trình C, nhưng nó thực sự được thiết kế để sử dụng tương tác.

Nó bao gồm một cơ chế lịch sử cho phép người dùng quay lại và lặp lại bất kỳ lệnh nào họ đã ban hành trước đó mà không phải nhập lại toàn bộ dòng và cải thiện kiểm soát công việc, giúp chạy nhiều tác vụ dễ dàng hơn. (Hãy nhớ rằng, đây là thời gian mà hầu hết mọi người vẫn sử dụng thiết bị đầu cuối dựa trên.)

Lớp vỏ lớn tiếp theo là Korn Shell, cũng xuất hiện từ Bell Labs. Vỏ được đặt theo tên David Korn, không phải ban nhạc. Cải tiến chính của Korn shell, là giới thiệu chỉnh sửa dòng lệnh, mở rộng chức năng lịch sử hơn nữa. Người dùng có thể quay lại và chỉnh sửa các lệnh họ đã nhập bằng cách sử dụng các lệnh tương tự như trình soạn thảo vi hoặc Emacs.

Trong số các loại đạn chính, Bourne Again Shell, hay bash, là loại phổ biến nhất kể từ khi được giới thiệu vào cuối những năm 80. Shell này, được phát triển như một phần của dự án GNU, kết hợp các cải tiến của shell C và Korn trong khi duy trì khả năng tương thích với shell Bourne, do đó có tên. Nó có lớp vỏ "chuẩn" trên hầu hết các bản phân phối Linux.

Z Shell (zsh), được phát hành lần đầu tiên vào năm 1990, là giấc mơ của người dùng dòng lệnh. Nó không chỉ có hầu hết các tính năng chính khác mà các shell khác có, nó còn có khả năng tùy biến hoàn toàn với nhiều tính năng mạnh mẽ. Một trong những thế mạnh nhất là tính năng đệ quy đệ quy, cho phép người dùng khớp tên tệp trong thư mục con khi phát lệnh thay vì tệp trong thư mục làm việc hiện tại. Người dùng thực sự tiên tiến cũng có thể tùy chỉnh các tùy chọn hoàn thành, khớp các tệp mà không cần phải gõ chúng hoàn toàn. Và đối với những người đánh máy ngón tay mập, nó cũng có thể sửa lỗi chính tả của bạn. Shell này rất tiên tiến, trang thủ công của nó đã được chia thành nhiều phần rất dài.

Viết kịch bản

Như đã đề cập trước đây, shell không chỉ là giao diện dòng lệnh, mà là ngôn ngữ lập trình mạnh mẽ. Cái hay của kịch bản shell là bạn có thể sử dụng cùng một ngôn ngữ trong cả việc sử dụng tương tác thường xuyên cũng như trong các tập lệnh, điều này làm cho đường cong học tập trở nên phẳng hơn. Các shell hiện đại bao gồm tất cả các tính năng ngôn ngữ lập trình thông thường, bao gồm kiểm soát luồng, hàm và biến. Một vài trong số chúng thậm chí có cấu trúc dữ liệu nâng cao như mảng kết hợp.

Mặc dù sức mạnh của họ, lập trình trong shell có một vài cạm bẫy. Vấn đề lớn nhất là nó quá dễ dàng để viết các tập lệnh phụ thuộc vào một số chương trình có thể không nằm trên một hệ thống khác hoặc điều đó phụ thuộc vào một hương vị đặc biệt của Unix hoặc Linux. Đó là lý do tại sao các kịch bản shell phù hợp nhất cho các chương trình mà bạn biết sẽ chỉ được chạy trên một hệ thống. Nếu bạn đang cố gắng xây dựng một thứ gì đó di động và không muốn viết một chương trình C, thì cách tốt nhất của bạn là viết bằng một ngôn ngữ kịch bản khác như Perl hoặc Python.

A Peek Under the Hood của dòng lệnh Unix / Linux

Có nhiều sức mạnh hơn ẩn giấu bên dưới bề mặt của dòng lệnh Unix / Linux của bạn. Bài viết này có thể truyền cảm hứng cho bạn để xem qua phần vỏ của chiếc vỏ yêu thích của bạn để xem những gì bạn thực sự có thể làm. Nếu bạn muốn tham gia vào kịch bản shell, bạn có thể muốn xem các cuốn sách Unix Power Tools và Tìm hiểu Bash Shell. Giấy gốc của Stephen R. Bournes trên vỏ của ông cũng đóng vai trò là một giới thiệu tốt về thế giới của kịch bản vỏ, ngay cả khi nó đã cũ.