ภาพพูดได้มากกว่าคำพูด และภาพด้านล่างอธิบายทุกอย่างเกี่ยวกับการทำงานของ Linux
อ่านเพิ่มเติม
- 5 Shell Scripts to Learn Shell Programming – Part II
- Sailing Through The World of Linux BASH Scripting – Part III
การทำความเข้าใจ Linux Shell
- Shell: ตัวแปลคำสั่งบรรทัดคำสั่งที่เชื่อมต่อผู้ใช้กับ ระบบปฏิบัติการ และอนุญาตให้รันคำสั่งหรือสร้างสคริปต์ข้อความ
- Process: งานใดๆ ที่ผู้ใช้รันในระบบเรียกว่า Process Process ซับซ้อนกว่าแค่งานปกติ
- File: อยู่บนฮาร์ดดิสก์ (HDD) และมีข้อมูลที่เป็นของ ผู้ใช้
- X-windows หรือ windows: โหมดของ Linux ที่หน้าจอ (มอนิเตอร์) สามารถแบ่งเป็น ส่วน ย่อยๆ เรียกว่า windows ทำให้ผู้ใช้ทำหลายอย่างพร้อมกัน และ/หรือสลับงานได้ง่าย และดูกราฟิกได้สวยงาม
- Text terminal: มอนิเตอร์ที่สามารถแสดงข้อความอย่างเดียว ไม่มีกราฟิกหรือกราฟิกพื้นฐานมาก
- Session: เวลาระหว่าง ล็อกอิน และ ล็อกเอาท์ ของระบบ
ประเภทของ Shell ใน Linux Distribution มาตรฐาน
Bourne shell : Bourne shell เป็นหนึ่งในเชลล์หลักที่ใช้ในรุ่นแรกๆ และกลายเป็นมาตรฐานข้อเท็จจริง เขียนโดย Stephen Bourne ที่ Bell Labs ทุกระบบ Unix-like มีเชลล์อย่างน้อยหนึ่งตัวที่เข้ากันได้กับ Bourne shell โปรแกรม Bourne shell ชื่อ "sh" และตั้งอยู่ที่ /bin/sh ในลำดับชั้นระบบไฟล์
C shell: C shell พัฒนาโดย Bill Joy สำหรับ Berkeley Software Distribution ไวยากรณ์ของมันโปรดเปรียบเทียบกับภาษาโปรแกรม C ใช้ 주로 สำหรับการใช้งานเทอร์มินัลแบบโต้ตอบ แต่น้อยกว่าสำหรับสคริปต์และควบคุมระบบปฏิบัติการ C shell มีคำสั่งโต้ตอบมากมาย
เริ่มต้นสนุกกัน! (Linux Shell)
มีคำสั่งหลายพันคำสำหรับผู้ใช้บรรทัดคำสั่ง จะจำทั้งหมดได้ไหม? ห่วย! คุณทำไม่ได้ พลังจริงของคอมพิวเตอร์คือการทำให้งานของคุณง่ายขึ้น คุณต้องทำให้กระบวนการเป็นอัตโนมัติ และนั่นคือเหตุผลที่คุณต้องการสคริปต์
สคริปต์คือชุดคำสั่งที่เก็บในไฟล์ เชลล์สามารถอ่านไฟล์นี้และทำงานกับคำสั่งเหล่านี้เหมือนถูกพิมพ์ที่คีย์บอร์ด เชลล์ยังให้คุณลักษณะการเขียนโปรแกรมที่หลากหลายเพื่อทำให้สคริปต์มีพลังจริง
พื้นฐานการเขียนโปรแกรมเชลล์
- เพื่อได้ Linux shell คุณต้องเริ่มเทอร์มินัล
- เพื่อดูว่าคุณมีเชลล์อะไร รัน: echo $SHELL
- ใน Linux เครื่องหมายดอลลาร์ ($) แทนตัวแปรเชลล์
- คำสั่ง 'echo' เพียงคืนค่าสิ่งที่คุณพิมพ์เข้าไป
- คำสั่งไปป์ไลน์ (|) ช่วยชีวิตเมื่อต้องต่อคำสั่งหลายตัว
- คำสั่ง Linux มีไวยากรณ์ของตัวเอง Linux ไม่ยอมแพ้ข้อผิดพลาดอะไรเลย ถ้าคุณพิมพ์คำสั่งผิด คุณจะไม่ตกหรือทำลายอะไร แต่มันจะไม่ทำงาน
- #!/bin/sh – เรียกว่า shebang เขียนบนสุดของเชลล์สคริปต์ และส่งคำสั่งไปยังโปรแกรม /bin/sh
เกี่ยวกับ Shell Script
Shell script คือไฟล์ข้อความธรรมดาที่มีนามสกุล ".sh" และมีสิทธิ์รันได้
ขั้นตอนการเขียนและรันสคริปต์
- เปิดเทอร์มินัล
- ไปที่ตำแหน่งที่ต้องการสร้างสคริปต์ด้วยคำสั่ง 'cd'
- Cd (Enter) [จะนำพรอมต์ไปที่ Home Directory ของคุณ]
- touch hello.sh (ที่นี่เราตั้งชื่อสคริปต์ว่า hello จำไว้ว่านามสกุล '.sh' เป็นบังคับ)
- vi hello.sh (nano hello.sh) [คุณสามารถใช้โปรแกรมแก้ไขที่ชอบได้]
- chmod 744 hello.sh (ทำให้สคริปต์รันได้)
- sh hello.sh หรือ ./hello.sh (รันสคริปต์)
เขียนสคริปต์แรกของคุณ
#!/bin/bash # My first script echo "Hello World!"
บันทึกบรรทัดข้างต้นในไฟล์ข้อความ ทำให้รันได้ และรันตามที่อธิบายไว้ข้างต้น
ตัวอย่างผลลัพธ์
Hello World!
ในโค้ดข้างต้น
#!/bin/bash (คือ shebang) # My first script (คือคอมเมนต์ ทุกอย่างหลัง '#' เป็นคอมเมนต์) echo "Hello World!" (คือส่วนหลักของสคริปต์นี้)
เขียนสคริปต์ที่สองของคุณ
โอเค เวลาไปสคริปต์ต่อไป สคริปต์นี้จะบอก username ของคุณ และแสดง processes ที่กำลังทำงาน
#! /bin/bash echo "Hello $USER" echo "Hey i am" $USER "and will be telling you about the current processes" echo "Running processes List" ps
สร้างไฟล์ด้วยโค้ดข้างต้น บันทึกเป็นชื่ออะไรก็ได้ แต่ต้องมีนามสกุล ".sh" ทำให้รันได้ และรันจากเทอร์มินัลของคุณ
ตัวอย่างผลลัพธ์
Hello tecmint Hey i am tecmint and will be telling you about the current processes Running processes List PID TTY TIME CMD 1111 pts/0 00:00:00 bash 1287 pts/0 00:00:00 sh 1288 pts/0 00:00:00 ps
เยอดไหม? การเขียนสคริปต์ง่ายเท่าการมีไอเดียและเขียนคำสั่งแบบไปป์ไลน์ มีข้อจำกัดบ้าง Shell scripts เหมาะสำหรับการดำเนินการระบบไฟล์ที่กระชับ และสคริปต์การรวมฟังก์ชันที่มีอยู่ในฟิลเตอร์และเครื่องมือบรรทัดคำสั่งผ่านไปป์ไลน์
เมื่อความต้องการของคุณมากกว่านี้ – ไม่ว่าจะเป็น ฟังก์ชัน, ความทนทาน, ประสิทธิภาพ, ประสิทธิผล เป็นต้น – คุณสามารถย้ายไปภาษาที่มีฟีเจอร์ครบครันกว่าได้
ถ้าคุณรู้จัก C/Perl/Python หรือภาษาโปรแกรมอื่นๆ อยู่แล้ว การเรียนภาษาสคริปต์จะไม่ยากมาก
เขียนสคริปต์ที่สามของคุณ
ไปต่อที่การเขียนสคริปต์ที่สามและตัวสุดท้ายสำหรับบทความนี้ สคริปต์นี้ทำงานแบบโต้ตอบ ลองรันสคริปต์ง่ายแต่โต้ตอบนี้ด้วยตัวเอง และบอกมาว่ารู้สึกอย่างไร
#! /bin/bash echo "Hey what's Your First Name?"; read a; echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name"; read b; echo "Thanks Mr./Mrs. $a $b for telling us your name"; echo "*******************" echo "Mr./Mrs. $b, it's time to say you good bye"
ตัวอย่างผลลัพธ์
Hey what's Your First Name? Avishek welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name Kumar Thanks Mr./Mrs. Avishek Kumar for telling us your name ****************************************************** Mr./Mrs. Kumar, it's time to say you good bye
นี่ไม่ใช่จุดจบ เราพยายามนำรสชาติของสคริปต์มาให้คุณ ในบทความหน้าเราจะขยายหัวข้อนี้ต่อ ไม่ว่าจะเป็นหัวข้อสคริปต์ที่ไม่มีที่สิ้นสุด เพื่อให้สมบูรณ์แบบมากขึ้น ความคิดเห็นที่มีค่า ของคุณในส่วนความคิดเห็นได้รับการชื่นชม Like และ Share เรา และช่วยเราเผยแพร่ จนกว่าจะพบกันใหม่ ชิลล์ๆ อยู่ ติดต่อกัน อยู่กับเรา
อ่านเพิ่มเติม : 5 Shell Scripts to Learn Shell Programming – Part II