ฉันสับสนกับคำศัพท์ เชลล์, คอนโซลและเทอร์มินัลต่างกันอย่างไร?
ฉันสับสนกับคำศัพท์ เชลล์, คอนโซลและเทอร์มินัลต่างกันอย่างไร?
คำตอบ:
ในโลก linux พวกเขาทุกคนสามารถดูเหมือนกันจากมุมมองของผู้ใช้ที่แป้นพิมพ์ ความแตกต่างคือวิธีที่พวกเขามีปฏิสัมพันธ์ซึ่งกันและกัน
เปลือกเป็นโปรแกรมที่จริงประมวลผลคำสั่งและผลตอบแทนการส่งออก เชลล์ส่วนใหญ่จัดการกระบวนการพื้นหน้าและเบื้องหลัง, ประวัติคำสั่งและการแก้ไขบรรทัดคำสั่ง คุณสมบัติเหล่านี้ (และอีกมากมาย) เป็นคุณสมบัติมาตรฐานbash
ซึ่งเป็นเชลล์ที่พบได้บ่อยที่สุดในระบบลินุกซ์ยุคใหม่
ขั้วหมายถึงโปรแกรมที่ห่อหุ้มซึ่งไหลเปลือก ทศวรรษที่ผ่านมานี่เป็นอุปกรณ์ทางกายภาพที่ประกอบด้วยจอภาพและคีย์บอร์ดน้อยกว่าเล็กน้อย ในขณะที่ระบบ unix / linux เพิ่มระบบมัลติโพรเซสเซอร์และหน้าต่างที่ดีกว่าแนวคิดเทอร์มินัลนี้จึงถูกแยกเป็นซอฟต์แวร์ ตอนนี้คุณมีโปรแกรมต่าง ๆ เช่นGnome Terminalที่เปิดหน้าต่างในสภาพแวดล้อมที่หน้าต่าง Gnome ซึ่งจะเรียกใช้เชลล์ที่คุณสามารถป้อนคำสั่ง
คอนโซลเป็นประเภทพิเศษของสถานี ในอดีตคอนโซลเป็นเพียงแป้นพิมพ์เดียวและจอมอนิเตอร์เสียบเข้ากับพอร์ตคอนโซลแบบอนุกรมเฉพาะบนคอมพิวเตอร์ที่ใช้สำหรับการสื่อสารโดยตรงในระดับต่ำกับระบบปฏิบัติการ ระบบลินุกซ์โมเดิร์นให้คอนโซลเสมือน สิ่งเหล่านี้เข้าถึงได้จากการรวมกันของคีย์ (เช่นAlt+ F1หรือCtrl+ Alt+ F1, หมายเลขฟังก์ชั่นของคอนโซลที่แตกต่างกัน) ซึ่งได้รับการจัดการในระดับต่ำของระบบปฏิบัติการลินุกซ์ - ซึ่งหมายความว่าไม่มีบริการพิเศษที่ต้องติดตั้งและกำหนดค่า . การโต้ตอบกับคอนโซลทำได้โดยใช้โปรแกรมเชลล์
เชลล์เป็นโปรแกรมที่ให้พรอมต์และรอให้คุณพิมพ์คำสั่ง มันรันพวกเขาแล้วพิมพ์พรอมต์อื่น ดังนั้นเช่น CMD ใน Windows หรือ Bash ใน Unix มันสามารถทำงานใน terminal หรือบนคอนโซล
เดิมคอนโซลเป็นสิ่งที่มีอยู่จริงเป็นแผงควบคุม ในแง่การคำนวณมันมักจะหมายถึงการแสดงผลที่คุณเห็นก่อนที่ GUI จะเริ่มต้นขึ้นหรือหลังจากเสร็จสิ้น บางครั้งคุณสามารถเปลี่ยนเป็นการแสดงแทน GUI ได้ มันเป็นสถานที่ที่ระบบปฏิบัติการพิมพ์ข้อความผิดพลาด บนคอมพิวเตอร์ที่มีผู้ใช้หลายคนมันเป็นจอแสดงผลที่ต่อกับคอมพิวเตอร์จริง เพียงสร้างความสับสนให้กับคุณใน Windows มันอาจหมายถึงหน้าต่างที่มีเชลล์คำสั่งอยู่ในนั้นเช่นเทอร์มินัล
เทอร์มินัลเดิมเป็นฮาร์ดแวร์ที่ใช้ในการสื่อสารกับคอมพิวเตอร์ ทุกวันนี้มันมักจะอ้างถึงหน้าต่างที่มีบรรทัดคำสั่ง (เชลล์) ซึ่งอาจปรากฏในหน้าต่าง GUI หรือแทนที่จะเป็น GUI
ความแตกต่างระหว่างคอนโซลและเชลล์คือสิ่งที่ฉันยังไม่เข้าใจ แต่ฉันสามารถบอกคุณได้ว่าเทอร์มินัลแตกต่างจากเชลล์อย่างไร
ขั้วคือ ( ตามวิกิพีเดีย ) "อินเตอร์เฟซอนุกรมคอมพิวเตอร์สำหรับการป้อนข้อความและแสดง. จะนำเสนอข้อมูลที่เป็นอาร์เรย์ของตัวอักษรรูปแบบที่เลือกไว้ล่วงหน้าเป็น"
คุณสามารถใช้ขั้วในการโต้ตอบกับเปลือก แต่คุณยังสามารถใช้ในการโต้ตอบกับGUI ข้อความตามบางครั้งเรียกว่าUser Interface แบบเทอร์มิ ตัวอย่างเช่น:
ในแต่ละกรณีองค์ประกอบ GUI จะ "วาด" ด้วยข้อความแทนที่จะเป็นพิกเซล
สำหรับคำอธิบายโดยละเอียดเพิ่มเติม: https://askubuntu.com/a/506628/130518
ฉันจะอธิบายกรณีการใช้งานที่ปกติที่สุดสำหรับสิ่งนี้ในข้อความต่อไปนี้
เทอร์มินัลใช้เชลล์ เชลล์สามารถรันได้โดยไม่มีเทอร์มินัล
ในการเกี่ยวข้องกับรายการในชีวิตประจำวัน:
อีกวิธีในการมอง: หูของคุณ (อินพุต) และปาก (เอาต์พุต) เป็นขั้วเสียง สมองของคุณเป็นล่ามของเสียงเหล่านั้นโดยใช้เปลือกเฉพาะ (การประมวลผล)
เทอร์มินัลนั้นเป็นมนุษย์ของเราดังนั้นเราจึงสามารถอ่านและเขียนไปยัง / จากเชลล์ได้ เชลล์สามารถทำงานในกระบวนการพื้นหลังที่ไม่ต้องการการโต้ตอบกับมนุษย์เช่นงาน cron และไม่จำเป็นต้องมีเทอร์มินัล
ตัวอย่างบางส่วนของเทอร์มินัลที่มีอยู่:
ตัวอย่างหอยที่มีอยู่:
ฉันเขียนเฉพาะวิธีที่ทั้งสองทำงานได้ตามปกติมีวิธีอื่นที่ใช้งานได้ แต่สำหรับผู้ใช้ขั้นสูงกว่า
คิดถึงบริบทอื่นนั่นคือการพัฒนา
แม้ว่าคุณจะไม่มีความรู้ในการพัฒนาอย่างลึกซึ้ง แต่คุณอาจรู้พื้นฐานนั่นคือคุณแก้ไขโปรแกรมคุณส่งไปยังคอมไพเลอร์หรือล่ามที่สร้างแอปพลิเคชันที่รวบรวม
คอนโซลเป็นเหมือนเครื่องมือแก้ไขโปรแกรมของคุณ มันช่วยคุณในการเขียนแต่มันก็ไม่ได้ทำอะไรเลย: เมื่อคุณเสร็จแล้วคุณก็ส่งมันไปยังคอมไพเลอร์
คุณสามารถใช้โปรแกรมแก้ไข, vim, gedit, emacs, notepad ++, Netbeans, eclise etc.etc ที่คุณต้องการ แต่ในตอนท้ายพวกมันเป็นเครื่องมือต่าง ๆ : ถ้าคุณเขียนโปรแกรมเดียวกันผลลัพธ์จะเหมือนกัน
ในคำอุปมานี้เชลล์คือคอมไพเลอร์ คำสั่งที่ป้อนเข้าสู่เทอร์มินัลจะถูกส่งไปยังเชลล์ที่ตีความคำสั่งเหล่านั้นและดำเนินการทันที
ดังนั้นในขณะที่เทอร์มินัลเป็นเพียงส่วนหน้าสำหรับเชลล์เชลล์มีภาษาจริงตามที่เกิดขึ้นกับคอมไพเลอร์
เห็นได้ชัดว่าเทอร์มินัลไม่ได้เป็นโปรแกรมแก้ไขข้อความส่วนใหญ่เป็นเพราะมันไม่ได้ผลิตไฟล์ แต่ส่งข้อความไปยังเปลือกพื้นฐานและดึงเอาท์พุทจากมัน
และเชลล์ไม่ใช่คอมไพเลอร์จริงๆแล้วมันตีความคำสั่งของคุณและดำเนินการทันทีแทนที่จะสร้างไฟล์ที่เรียกใช้งานได้
แม้แต่เล็กน้อยที่ต่างกันมากฉันก็พบคำอุปมานี้เพื่อช่วยทำความเข้าใจแนวคิดนี้เป็นอย่างมาก
มีความแตกต่างไม่มาก ย้อนกลับไปเมื่อ "shell" เป็นโปรแกรม "terminal" เป็นส่วนเสริมของโปรแกรมนี้และ "console" คือการเชื่อมต่อทางกายภาพกับคอมพิวเตอร์ (แป้นพิมพ์ / หน้าจอ)
มีความแตกต่างขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ เชลล์ "มาตรฐาน" คือBASHซึ่งโดยปกติจะมีอยู่ในทุกรสชาติของ Linux / Unix Windows ใช้เชลล์ที่แตกต่างอย่างสิ้นเชิง
prompt
และแม้กระทั่งcommand line
?