Skip to main content

Giới thiệu về Shell

Tổng quan

Câu hỏi

Command shell là gì và tại sao phải sử dụng command shell

Mục tiêu

Giải thích cách command shell làm việc với bàn phím, màn hình, hệ điều hành và các chương trình của người dùng. Giải thích khi nào và tại sao nên sử dụng command shell thay vì giao diện đồ họa (GUI).

Cơ bản

Con người và máy tính thường tương tác theo nhiều cách khác nhau, chẳng hạn như thông qua bàn phím và chuột, giao diện màn hình cảm ứng hoặc sử dụng hệ thống nhận dạng giọng nói. Cách được sử dụng rộng rãi nhất để tương tác với máy tính cá nhân được gọi là giao diện người dùng đồ họa (GUI). Với GUI, chúng tôi đưa ra hướng dẫn bằng cách nhấp chuột và sử dụng các tương tác dựa trên menu.

Mặc dù hỗ trợ trực quan của GUI làm cho nó trở nên dễ học, nhưng cách này có tính mở rộng rất kém. Hãy tưởng tượng nhiệm vụ sau: để tìm kiếm tài liệu, bạn phải sao chép dòng thứ ba của một nghìn tệp văn bản trong một nghìn thư mục khác nhau và dán nó vào một tệp duy nhất. Sử dụng GUI, bạn sẽ không chỉ dùng chuột làm việc trong vài giờ mà còn có khả năng mắc lỗi trong quá trình hoàn thành nhiệm vụ lặp đi lặp lại này. Đây là nơi chúng tôi tận dụng Unix Shell. Unix shell vừa là giao diện dòng lệnh (CLI) vừa là ngôn ngữ kịch bản, cho phép các tác vụ lặp đi lặp lại như vậy được thực hiện tự động và nhanh chóng. Với các lệnh thích hợp, các tác vụ có thể lặp lại có hoặc không có một số sửa đổi bao nhiêu lần tùy ý. Sử dụng Shell, tác vụ trong ví dụ tài liệu có thể được hoàn thành trong vài giây.

Shell

Shell là một chương trình mà người dùng có thể gõ lệnh. Với Shell, có thể gọi các chương trình phức tạp như phần mềm lập mô hình khí hậu hoặc các lệnh đơn giản để tạo một thư mục trống chỉ với một dòng mã. Shell Unix phổ biến nhất là Bash (the Bourne Again SHell - được gọi như vậy vì nó bắt nguồn từ shell do Stephen Bourne viết). Bash là Shell mặc định trên hầu hết các hệ điều hành sử dụng Unix và trong hầu hết các gói cung cấp các công cụ giống như Unix cho Windows. Lưu ý rằng 'Git Bash' là một phần mềm cho phép người dùng Windows sử dụng giao diện giống Bash khi tương tác với Git.

Sử dụng Shell sẽ mất một số nỗ lực và thời gian để tìm hiểu. Mặc dù GUI hiển thị cho bạn các lựa chọn để chọn, nhưng các lựa chọn CLI không tự động hiển thị cho bạn, vì vậy bạn phải học một số lệnh như từ vựng mới trong ngôn ngữ mà bạn đang học. Tuy nhiên, không giống như ngôn ngữ nói, một số lượng nhỏ “từ” (tức là mệnh lệnh) sẽ giúp bạn đi một chặng đường dài và hôm nay chúng tôi sẽ đề cập đến một số từ thiết yếu đó.

Ngữ pháp của Shell cho phép bạn kết hợp các công cụ hiện có thành các quy trình mạnh mẽ và tự động xử lý khối lượng lớn dữ liệu. Các chuỗi lệnh có thể được viết thành một tập lệnh, cải thiện khả năng tái tạo của quy trình công việc.

Ngoài ra, dòng lệnh thường là cách dễ nhất để tương tác với các máy và siêu máy tính từ xa. Việc làm quen với shell là điều cần thiết nhất để chạy nhiều công cụ và tài nguyên chuyên dụng, bao gồm cả các hệ thống máy tính hiệu năng cao. Khi các cụm và hệ thống điện toán đám mây trở nên phổ biến hơn để xử lý dữ liệu khoa học, khả năng tương tác với shell đang trở thành một kỹ năng cần thiết. Chúng ta có thể xây dựng các kỹ năng dòng lệnh được đề cập ở đây để giải quyết nhiều câu hỏi khoa học và thách thức tính toán.

Bắt đầu nào.

Khi Shell được mở lần đầu tiên, bạn sẽ thấy một lời nhắc, cho biết rằng Shell đang chờ người dùng nhập thông tin

$

Shell thường sử dụng $ làm dấu nhắc, nhưng có thể sử dụng một ký hiệu khác. Trong các ví dụ cho bài học này, chúng tôi sẽ hiển thị lời nhắc dưới dạng $. Quan trọng nhất là không gõ dấu nhắc khi gõ lệnh. Chỉ gõ lệnh sau dấu nhắc. Quy tắc này áp dụng cả trong những bài học này và trong các bài học từ các nguồn khác. Cũng lưu ý rằng sau khi bạn nhập một lệnh, bạn phải nhấn phím Enter để thực thi nó.

Theo sau lời nhắc là một con trỏ văn bản, một ký tự cho biết vị trí mà quá trình nhập của bạn sẽ xuất hiện. Con trỏ thường là một khối nhấp nháy hoặc liền khối, nhưng nó cũng có thể là một dấu gạch dưới hoặc một dấu gạch ngang. Bạn có thể đã thấy nó trong một chương trình soạn thảo văn bản chẳng hạn.

Lưu ý rằng lời nhắc của bạn có thể hơi khác một chút. Cụ thể, hầu hết các môi trường shell phổ biến theo mặc định đặt tên người dùng và tên máy chủ của bạn trước ký tự $. Một lời nhắc như vậy có thể giống như, ví dụ:

nguyen@localhost $

Lời nhắc thậm chí có thể bao gồm nhiều hơn thế này. Đừng lo lắng nếu lời nhắc của bạn không chỉ là một ký tự $. Bài học này không phụ thuộc vào thông tin bổ sung này và nó cũng không nên cản trở bạn. Mục quan trọng duy nhất cần tập trung vào là chính ký tự $ và chúng ta sẽ xem lý do tại sao sau.

Vì vậy, hãy thử lệnh đầu tiên của chúng tôi, ls, viết tắt của danh sách. Lệnh này sẽ liệt kê nội dung của thư mục hiện tại:

$ ls
Desktop Downloads Movies Pictures
Documents Library Music Public

COMMAND NOT FOUND

Nếu Shell không thể tìm thấy chương trình có tên là lệnh bạn đã nhập, Shell sẽ in một thông báo lỗi chẳng hạn như:

$ ks

ks: command not found

NHỮNG ĐIỂM CHÍNH

  • Shell là một chương trình có mục đích chính là đọc các lệnh và chạy các chương trình khác.
  • Bài học này sử dụng Bash, trình bao mặc định trong nhiều triển khai của Unix.
  • Các chương trình có thể được chạy trong Bash bằng cách nhập các lệnh tại dấu nhắc dòng lệnh.
  • Ưu điểm chính của shell là tỷ lệ hành động trên lần nhấn phím cao, hỗ trợ tự động hóa các tác vụ lặp đi lặp lại và khả năng truy cập các máy được nối mạng.
  • Một thách thức đáng kể khi sử dụng shell có thể là biết những lệnh nào cần được chạy và cách chạy chúng.

Tham khảo