Unix / Linux Shells 101

ผู้เขียน: Eugene Taylor
วันที่สร้าง: 11 สิงหาคม 2021
วันที่อัปเดต: 22 มิถุนายน 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
วิดีโอ: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

เนื้อหา



ที่มา: Tomasz Bidermann / Dreamstime.com

Takeaway:

เชลล์ Unix และ Linux นั้นทรงพลังและสามารถปรับแต่งได้อย่างมาก

บรรทัดคำสั่งบนระบบ Unix และ Linux นั้นมีประสิทธิภาพมาก แต่เชลล์เป็นเครื่องมือที่ทรงพลังยิ่งกว่าที่เห็น คุณสามารถปรับแต่งและเปลี่ยนพวกเขาออกเป็นเนื้อหาในหัวใจของคุณตราบใดที่คุณรู้วิธี

เชลล์คืออะไร

เกือบทุกคู่มือ Unix และ Linux มีไดอะแกรมมาตรฐานของเปลือกหุ้มรอบระบบปฏิบัติการคล้ายแท่งลูกกวาดบางชนิด เชลล์ไม่ได้เป็นเพียงแค่ส่วนต่อประสานระหว่างระบบปฏิบัติการรวมถึงเคอร์เนลระบบไฟล์และการเรียกใช้ระบบต่าง ๆ และผู้ใช้ เป็นเวลาหลายปีที่มันเป็นส่วนติดต่อผู้ใช้แบบโต้ตอบเท่านั้นก่อนที่ส่วนติดต่อผู้ใช้แบบกราฟิกจะกลายเป็นเรื่องธรรมดาในปี 1980 ส่วนต่อประสานกราฟิกกับผู้ใช้อาจถือเป็นเชลล์ชนิดหนึ่งเนื่องจากพวกมันทำหน้าที่หลายอย่างเช่นการเรียกใช้งานโปรแกรมการตั้งค่าระบบและการจัดการไฟล์

อินเทอร์เฟซที่ใช้ต่ำต้อยเหล่านี้มีพลังงานที่น่าประหลาดใจ สิ่งหนึ่งคือภาษาโปรแกรมที่ครบถ้วนสมบูรณ์ ก่อนการปรากฏตัวของภาษาสคริปต์ที่มีประสิทธิภาพยิ่งขึ้นเช่น Python เชลล์สคริปต์เหมาะอย่างยิ่งสำหรับการเขียนโปรแกรมที่ไม่จำเป็นต้องใช้พลังของ C พวกเขายังคงมีประโยชน์สำหรับการทำงานของระบบอัตโนมัติและการสร้างต้นแบบอย่างรวดเร็ว

นอกจากนี้ยังมีคุณสมบัติมากมายที่ทำให้การทำงานกับและค้นหาไฟล์ง่ายขึ้น หนึ่งในสิ่งที่ใช้กันอย่างแพร่หลายคือ "wildcarding" หรือ "globbing" ผู้ใช้ Unix และ Linux เกือบทุกคนคุ้นเคยกับสัญลักษณ์ตัวแทน "*" เพื่อจับคู่อักขระใด ๆ นี่เป็นหน้าที่ของเชลล์ กระสุนที่แตกต่างกันมีตัวเลือกที่ทรงพลังกว่า

หนึ่งในคุณสมบัติเด่นของ Unix คือความสามารถในการเปลี่ยนเส้นทางอินพุตและเอาต์พุตของโปรแกรม เชลล์ใช้ฟังก์ชันนี้

เชลล์เป็นเพียงโปรแกรมอื่นดังนั้นจึงเป็นไปได้สำหรับโปรแกรมเมอร์ที่มีทักษะที่เหมาะสมในการสร้าง มีหอยใหญ่หลายชนิดที่เกิดขึ้นในช่วงหลายปีที่ผ่านมา

ประวัติและบทสรุปของเชลล์

แม้ว่าจะมี Unix shells หลายตัวในช่วงแรก ๆ ของระบบปฏิบัติการ แต่สิ่งแรกที่ได้รับการยอมรับอย่างมากนอก Bell Labs ก็คือ Bourne Shell ซึ่งได้รับการตั้งชื่อตาม Stephen R. Bourne นวัตกรรมหลักของเชลล์คือสนับสนุนคุณสมบัติการเขียนโปรแกรมแบบมีโครงสร้างทำให้สามารถใช้เชลล์เป็นภาษาโปรแกรมจริงได้เป็นครั้งแรก จำเป็นอย่างยิ่งที่ Unix และ Linux รุ่นใหม่ทั้งหมดยังคงใช้งานอยู่แม้ว่าโดยปกติแล้วจะเป็นหนึ่งในเชลล์รุ่นใหม่ที่เลียนแบบเชลล์เป้าหมาย

เชลล์หลักตัวถัดไปคือ C Shell ซึ่งโดยปกติจะย่อว่า "csh" เปลือกนี้ได้รับการพัฒนาที่ UC Berkeley กลายเป็นองค์ประกอบสำคัญของรสชาติ BSD ของ Unix ตามชื่อที่แนะนำไวยากรณ์ของมันถูกออกแบบมาให้คล้ายกับภาษาการเขียนโปรแกรม C แต่ถูกออกแบบมาเพื่อการใช้งานแบบโต้ตอบ

มันรวมกลไกประวัติที่อนุญาตให้ผู้ใช้ย้อนกลับและทำซ้ำคำสั่งใด ๆ ที่ออกก่อนหน้านี้โดยไม่ต้องพิมพ์ทั้งบรรทัดใหม่และปรับปรุงการควบคุมงานซึ่งทำให้การทำงานหลายอย่างง่ายขึ้น (โปรดจำไว้ว่านี่เป็นช่วงเวลาที่คนส่วนใหญ่ยังคงใช้เทอร์มินัลพื้นฐาน)

กระสุนหลักตัวถัดไปคือ Korn Shell ซึ่งมาจาก Bell Labs เปลือกหอยนั้นถูกตั้งชื่อตาม David Korn ไม่ใช่กลุ่มโดยวิธี นวัตกรรมหลักของ Korn Shell คือการแนะนำการแก้ไขบรรทัดคำสั่งซึ่งเป็นการขยายฟังก์ชันการทำงานประวัติให้ดียิ่งขึ้นไปอีก ผู้ใช้สามารถย้อนกลับและแก้ไขคำสั่งที่พิมพ์ด้วยคำสั่งที่คล้ายกับโปรแกรมแก้ไข vi หรือ Emacs

ในบรรดากระสุนหลัก Bourne Again Shell หรือ bash นั้นเป็นกระสุนที่ได้รับความนิยมมากที่สุดนับตั้งแต่เปิดตัวในช่วงปลายยุค 80 เชลล์นี้พัฒนาขึ้นโดยเป็นส่วนหนึ่งของโครงการ GNU รวมเอานวัตกรรมของเชลล์ C และ Korn เข้าด้วยกันโดยที่ยังคงความเข้ากันได้กับเชลล์ Bourne ดังนั้นชื่อนี้ เป็นเชลล์ "มาตรฐาน" ในลีนุกซ์ส่วนใหญ่

Z Shell (zsh) เปิดตัวครั้งแรกในปี 1990 เป็นความฝันของผู้ใช้บรรทัดคำสั่ง ไม่เพียง แต่จะมีคุณสมบัติที่สำคัญอื่น ๆ ที่หอยส่วนใหญ่มี แต่ยังปรับแต่งได้อย่างบ้าคลั่งด้วยคุณสมบัติที่ทรงพลังมากมาย หนึ่งในสิ่งที่ทรงพลังที่สุดคือการวนซ้ำแบบซ้ำซึ่งช่วยให้ผู้ใช้จับคู่ชื่อไฟล์ในไดเรกทอรีย่อยเมื่อออกคำสั่งแทนที่จะเป็นไฟล์ในไดเรกทอรีการทำงานปัจจุบัน ผู้ใช้ขั้นสูงจริงๆยังสามารถปรับแต่งตัวเลือกความสมบูรณ์จับคู่ไฟล์โดยไม่ต้องพิมพ์ออกมาให้สมบูรณ์ และสำหรับนักพิมพ์แบบนิ้วอ้วนก็สามารถแก้ไขการสะกดของคุณได้ เชลล์นี้ล้ำหน้ามากหน้าคู่มือของมันได้ถูกแบ่งออกเป็นหลายส่วนที่ยาวมาก

การเขียนสคริปต์

ดังที่ได้กล่าวไว้ก่อนหน้านี้เชลล์ไม่ได้เป็นเพียงอินเตอร์เฟสบรรทัดคำสั่ง แต่เป็นภาษาการเขียนโปรแกรมที่ทรงพลัง ความสวยงามของการเขียนสคริปต์เชลล์คือคุณสามารถใช้ภาษาเดียวกันทั้งในการใช้งานแบบปกติและในสคริปต์ซึ่งทำให้เส้นโค้งการเรียนรู้ราบเรียบมาก เชลล์สมัยใหม่ประกอบด้วยคุณสมบัติภาษาการเขียนโปรแกรมปกติทั้งหมดรวมถึงการควบคุมการไหลฟังก์ชั่นและตัวแปร บางคนมีโครงสร้างข้อมูลขั้นสูงเช่นเชื่อมโยงอาร์เรย์

แม้จะมีพลัง แต่การเขียนโปรแกรมใน shells มีข้อผิดพลาดเล็กน้อย ปัญหาที่ใหญ่ที่สุดคือมันง่ายเกินไปที่จะเขียนสคริปต์ที่ขึ้นอยู่กับบางโปรแกรมที่อาจไม่ได้อยู่ในระบบอื่นหรือขึ้นอยู่กับรสนิยมเฉพาะของ Unix หรือ Linux นั่นเป็นเหตุผลที่เชลล์สคริปต์เหมาะที่สุดสำหรับโปรแกรมที่คุณรู้ว่าจะรันบนระบบเดียวเท่านั้น หากคุณกำลังพยายามสร้างสิ่งที่พกพาได้และไม่ต้องการเขียนโปรแกรม C ทางออกที่ดีที่สุดของคุณคือการเขียนในภาษาสคริปต์อื่นเช่น Perl หรือ Python

Peek ภายใต้ฮูดของบรรทัดคำสั่ง Unix / Linux

มีพลังงานที่ซ่อนอยู่ใต้พื้นผิวของบรรทัดคำสั่ง Unix / Linux ของคุณมากขึ้น บทความนี้อาจเป็นแรงบันดาลใจให้คุณดูภายใต้ประทุนของเปลือกหอยที่คุณชื่นชอบเพื่อดูว่าคุณสามารถทำอะไรได้บ้าง หากคุณต้องการเข้าสู่การเขียนสคริปต์เชลล์คุณอาจต้องการตรวจสอบหนังสือเครื่องมือไฟฟ้า Unix และเรียนรู้ Bash Shell กระดาษต้นฉบับของสตีเฟ่นอาร์บอร์นบนเปลือกหอยของเขายังทำหน้าที่เป็นการแนะนำที่ดีเกี่ยวกับโลกของการเขียนสคริปต์เปลือกหอยแม้ว่ามันจะเก่า