Thứ Sáu, 28 tháng 7, 2023

Shell Script là gì? Các thể loại của shell trong Linux

Trong phần này bạn sẽ được học kiến thức liên quan đến Shell Script nằm trong chuyên mục Quản trị Linux, nếu có vấn đề thắc mắc thì hãy liên hệ admin để được hướng dẫn.

Các bài viết được cập nhật liên tục, vì vậy hãy bookmark lại trên trình duyệt web để sau này khỏi mất công tìm kiếm nhé.

Nối tiếp chuỗi series học Linux căn bản thì trong phần này chúng ta sẽ tìm hiểu đến kiến thức nâng cao hơn chút xíu đó là lập trình shell script trong Linux, đây là kiến thức bắt buộc bạn phải học khi muốn nẵm vững hệ điều hành Linux nói chung và quản trị Linux server nói riêng.

Ok, vì đây là bài đầu tiên nên muốn chỉ muốn giới thiệu sơ lược, đồng thời đưa ra khái niệm shell là gì để các bạn có cái nhìn tổng quan hơn.

Mục lục

  • 1. Shell Script là gì?
  • 2. Các thể loại của shell trong Linux/Unix
    • Bourne shell
    • C shell
  • 3. Lời kết

1. Shell Script là gì?

Trước tiên bạn hãy nhìn vào sơ đồ cốt lõi của hệ điều hành Linux thu gọn dưới đây.

Bài viết này được đăng tại [tranvanbinh.vn]

unix architecture jpg
Nguồn: tutorialspoint

Nhìn vào sơ đồ này bạn có thể thấy phía trong cùng là phần cứng (hardware), tiếp đến là Karnel, Shell và cuối cùng là các ứng dụng (application). Như vậy shell script là lớp trung gian thứ hai (tính tử lớp vỏ) dùng để ngăn cách các ứng dụng được cài đặt trên hệ điều hành và lớp Karnel (karnel cũng là lớp phần mềm nằm giữa phần cứng và các ứng dụng). Như vậy shell sẽ tập hợp đầu vào và thực hiện các chương trình dựa vào đầu vào đó, khi một chương trình kết thúc nó sẽ hiển thị đầu ra của chương trình đó.

Shell là môi trường mà ta có thể chạy các lệnh, các chương trình và các đoạn mã script. Shell có nhiều phiên bản khác nhau, và nó cũng có chút khác nhau ở mỗi phiên bản của hệ điều hành. Ví dụ trong ubuntu thì ta dùng lệnh apt-get, còn ở Cent OS thì ta dùng lệnh yum, sẽ cho kết quả tương đương, nếu muốn dùng apt-get thì ban phải cài thêm gói đó vào.

Nếu bạn là dân lập trình thì chắc chắn rất quan thuộc với script phải không nhỉ, ví dụ PHP script, Java script, C Script ... ý nghĩa của nó là tập hợp các lệnh trên máy tính, các lệnh này sẽ được biên dịch bởi một compiler và thứ tự biên dịch đi từ trên xuống dưới và từ trái qua phải.

Trong Linux, shell script sẽ được lưu trữ trong một file đơn giản với phần mở rộng là .sh. Ví dụ bạn muốn viết chương trình gửi mail tự động thì có thể đặt tên là auto-mail.sh.

2. Các thể loại của shell trong Linux/Unix

Chúng ta có hai thể loại shell chính đó là:

  • Bourne shell, có ký tự nhắc lệnh là $
  • C shell, có ký tự nhắc lệnh là %

Ký tự nhắc lệnh là gì? đó là ký tự xuất hiện trên màn hình nhập lệnh, khi xuất hiện ký tự này tức là Linux đã sẵn sàng cho bạn nhập lệnh.

Bourne shell

Trong bourne shell sẽ có thêm một số phiên bản khác nhau như sau:

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

Hiện nay đa số người ta vẫn thích sử dụng kiểu Bourne shell và bourne Again shell (bash). Và trong series này chúng ta sẽ học thể loại bourne shell nhé.

C shell

C shell có hai loại chính đó là:

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

Và mình chắc chắn là không rành hai loại này :) nên sẽ không giải thích gì về nó.

3. Lời kết

Nếu bạn là người yêu thích lập trình web thì chắc chắn sẽ rất thích shell, bởi vì nó hỗ trợ rất nhiều cho công việc của bạn. Ví dụ bạn cần sử dụng VPS thì bắt buộc phải biết về shell để có thể tự cài đặt các phần mềm, cập nhật các phần mềm cần thiết. Còn nếu ban không có kiến thức thì bắt buộc phải sử dụng các control panel, tuy nhiên đôi khi cũng cần phải sử dụng các lệnh shell để xử lý.

Series có tham khảo một số nguồn như tutorialspoint. Vì mình không muốn cài máy ảo nên sử dụng trực tiếp trên VPS luôn, và VPS mình sử dụng Ubuntu.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master