Shell là gì? Tổng hợp kiến thức shell trong Linux | BKHOST

Trong hệ điều hành Linux/Unix, shell là một thành phần rất phổ biến. Tuy nhiên vẫn chưa nhiều người hiểu được shell là gì và đặc điểm cơ bản khi sử dụng các lệnh trong shell. Trong bài viết này, BKHOST sẽ cùng bạn tìm hiểu về Linux shell.

Shell là gì ?

Shell la gi

Shell là một chương trình cung cấp cho bạn một giao diện với hệ thống Unix. Nó nhận thông tin đầu vào từ người dùng và thực hiện tập lệnh của các chương trình máy tính dựa trên những thông tin ấy. Khi một chương trình kết thúc việc thực hiện tập lệnh, shell sẽ hiển thị kết quả đầu ra của chương trình đó.

Shell là môi trường mà chúng ta có thể chạy các lệnh, chương trình và script shell. Trong một shell có nhiều kiểu khác nhau, nó giống như việc các hệ điều hành có những kiểu riêng biệt. Mỗi kiểu của shell đều có một bộ lệnh và chức năng được xác định riêng.

Dấu nhắc lệnh trong Shell

Trong shell có một dấu nhắc lệnh $. Khi dấu nhắc lệnh này được shell đưa ra, bạn có thể nhập lệnh vào. Sau khi bạn nhấn enter, shell sẽ tiếp nhận thông tin đầu vào mà bạn cung cấp. Từ đầu tiên của thông tin nhập vào là từ mà shell dùng để xác định lệnh bạn muốn thực thi. Giữa các từ ấy không được có khoảng trống. Dấu nhắc lệnh hoàn toàn có thể tùy chỉnh theo ý của mình nếu bạn sử dụng biến môi trường PS1 được giải thích trong phần Environment tutorial.

Dưới đây là một ví dụ đơn giản của lệnh date mà hiển thị ngày và thời gian hiện tại:

$date
Thu Jun 25 08:30:19 MST 2009

Các loại Shell

Trong Unix gồm có hai loại shell chính là Bourne shell và C shell. Bourne shell có dấu nhắc lệnh mặc định là ký tự “$”. Còn C shell sẽ có ký tự là “%”.

Bourne shell có những hạng mục phụ gồm có :

  • Bourne shell (sh)
  • Korn shell (ksh)
  • Bourne Again shell (bash)
  • POSIX shell (sh)

Các hạng mục phụ của C shell gồm có :

  • C shell (csh)
  • TENEX/TOPS C shell (tcsh)

Vào giữa những năm 1970, Stephen R. Bourne đã viết ra phần mềm Unix gốc khi đang làm việc tại AT&T Bell Labs ở New Jersey. Được gọi là “shell” do Bourne shell là shell đầu tiên có mặt trên hệ thống Unix.

Trên hầu hết các phiên bản Unix, Bourne shell thường được cài đặt ở dạng /bin/sh. Do đó, ở các phiên bản khác nhau của Unix, các script thường được viết bởi shell này. Trong bài viết này, hầu hết các khái niệm shell đều được viết dựa trên Bourne shell.

Shell Script

Shell Script của nó là một danh sách các lệnh, các lệnh sẽ được thực hiện theo thứ tự đã liệt kê. Một shell script tuyệt vời sẽ có chú thích, đứng trước # và diễn đạt các bước rõ ràng.

Sẽ có các kiểm tra mà trong đó sẽ có điều kiện như giá trị A lớn hơn giá trị B. Chúng ta có thể xem, đọc một lượng lớn dữ liệu hoặc file khi được các vòng lặp cho phép. Sau đó chúng ta có thể dùng các dữ liệu và biến để lưu trữ hoặc đọc các dữ liệu, script chứa các hàm.

Để giúp bạn hiểu rõ hơn về shell script, dưới đây sẽ là một số ít ví dụ. Các tập lệnh và tính năng của shell đều sẽ được diễn đạt một cách dễ hiểu. Về cơ bản thì đây vẫn chỉ là những script đơn thuần. Trong những script này sẽ có một số ít phần thiết yếu cho môi trường tự nhiên shell biết phải làm gì và khi nào triển khai .

Ví dụ về script

Giả sử chúng ta tạo ra một tập lệnh test.sh, trước khi bạn thêm bất cứ thứ gì vào tập lệnh này, bạn phải sử dụng cấu trúc shebang để thông báo cho hệ thống rằng có một tập lệnh đang bắt đầu chạy.

Hãy nhớ là tất cả các tập lệnh đều có phần đuôi “.sh”. Với các tập lệnh có đuôi sh, hệ thống sẽ biết rằng các tập lệnh sau đó đều được thực hiện bởi trình Bourne. Ví dụ nhập các lệnh với cấu trúc shebang như sau:

#!/bin/bash
pwd
ls

Bạn có thể đưa phần comment của mình vào script như sau:

#!/bin/bash

# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:
pwd
ls

Lưu chúng lại và cho shell thực thi tập lệnh bằng câu lệnh:

$chmod +x test.sh

Tập lệnh shell đã sẵn sàng để bắt đầu thực thi:

$./test.sh

Bạn sẽ nhận được kết quả sau khi lệnh hoàn thành như sau:

/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.sh unix-communication.htm unix-environment.htm

Chú ý: Để thực thi chương trình có sẵn trong thư mục, bạn hãy sử dụng đuôi ./program_name

Shell Scripts nâng cao

Lưu chúng lại và cho shell thực thi tập lệnh bằng câu lệnh : Tập lệnh shell đã chuẩn bị sẵn sàng để khởi đầu thực thi : Bạn sẽ nhận được tác dụng sau khi lệnh hoàn thành xong như sau :: Để thực thi chương trình có sẵn trong thư mục, bạn hãy sử dụng đuôiHầu hết những script trên đều là script đơn thuần. Tuy nhiên dù có phức tạp như thế nào thì shell scripts vẫn chỉ là tập lệnh được thực thi tuần tự với những biến, cấu trúc tinh chỉnh và điều khiển, …

Sau khi sử dụng lệnh đọc, người dùng nhập thông tin vào từ bàn phím và gán nó vào giá trị biến PERSON và đặt nó trên STDOUT

# ! /bin/ sh

# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:

echo”What is your name?”
read PERSON
echo “Hello, $PERSON”

Ví dụ khi chạy thử đoạn lệnh trên

$./test.sh
What is your name?
Zara Ali
Hello, Zara Ali
$

Tổng kết về Shell

Ví dụ khi chạy thử đoạn lệnh trên

Trên đây là những thông tin cơ bản về Linux shell mà BKHOST đã tổng hợp. Vẫn còn nhiều vấn đề khác về shell mà bạn sẽ cần tìm hiểu kỹ nếu muốn sử dụng.

Ngoài ra, nếu bạn muốn tìm hiểu và khám phá thêm những thông tin khác về Linux shell, hãy để lại phản hồi ở bên dưới, BKHOST sẽ vấn đáp bạn trong thời hạn sớm nhất .

P. / s : Bạn cũng hoàn toàn có thể truy vấn vào Blog của BKHOST để đọc thêm những bài viết san sẻ kỹ năng và kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email, … Chúc bạn thành công xuất sắc .