เหตุใดเราจึงชอบใช้บรรทัดคำสั่งกับ GUI

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

เอลมิโตะ

จริงๆแล้วนี่ไม่ใช่อะไรมากไปกว่าตำนานในเมืองเพราะไม่เหมือนกับระบบอื่น ๆ ที่จะไม่กล่าวถึงชื่อนี้มันอยู่ใน GNU / Linux ที่คุณมีจริงๆ เสรีภาพ ทางเลือก ฉันหวังว่าในระบบอื่น ๆ จะมีความเก่งกาจที่มีอยู่ที่นี่ แต่ลองมาดูเรื่องนี้ให้ละเอียดขึ้นมิฉะนั้นหลาย ๆ อย่างยังไม่ชัดเจน:

เซิร์ฟเวอร์

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

อิมเมจเซิร์ฟเวอร์

แต่ไม่เพียง แต่เซิร์ฟเวอร์เท่านั้นที่สามารถอยู่ในซุปเปอร์คอมพิวเตอร์ที่ Google และ บริษัท อื่น ๆ อีกมากมายทำให้เป็นไปได้แม้แต่แล็ปท็อปที่ "เก่าที่สุด" ก็สามารถ เซิร์ฟเวอร์โดยเฉพาะอย่างยิ่งเมื่อเราพูดถึงภาพ เราทุกคนเรียกใช้ไฟล์ เซิร์ฟเวอร์ ของภาพในแล็ปท็อปของเราเพื่อให้มีหน้าจอที่ใช้งานได้ในกรณีนี้คือไฟล์ เซิร์ฟเวอร์ และ y ลูกค้า พวกเขาเป็นบุคคลคนเดียวกัน. ตัวอย่างที่พบบ่อยคือ X (รู้จักกันในชื่อ xorg-server ในการแจกแจงจำนวนมาก) และการเปลี่ยนใหม่ Wayland. เราจะไม่ให้คำอธิบายโดยละเอียดว่าทำไมองค์กรหรือวิธีการทำงานของ Wayland หรือปรัชญาที่มีอยู่เบื้องหลังโครงการที่ยอดเยี่ยมเหล่านี้ แต่เราจะอธิบายให้ชัดเจนว่าต้องขอบคุณพวกเขาที่เราสามารถไว้วางใจได้บนเว็บ เบราว์เซอร์เช่น Firefox หรือ Chrome หรือโปรแกรมอื่น ๆ อีกมากมาย

ตัวจัดการหน้าต่าง

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

สภาพแวดล้อมเดสก์ท็อป

ชุดซอฟต์แวร์พิเศษเพิ่มเติมที่ไม่เพียง แต่ช่วยให้การทำงานของเซิร์ฟเวอร์ภาพเท่านั้น แต่ยังให้ความสามารถในการปรับแต่ง ในบรรดาสิ่งเหล่านี้ที่เก่าแก่ที่สุดและหนักที่สุดคือ KDE และ GNOME แต่เรายังมีสภาพแวดล้อมที่เบากว่าเช่น LXDE หรือ Mate, Cinnamon เป็นต้น

CLI (อินเตอร์เฟสบรรทัดคำสั่ง)

หลังจากดูโลกของเซิร์ฟเวอร์ภาพสั้น ๆ ตอนนี้เรากลับมาที่หัวข้อของเราอีกครั้ง CLIหมายถึงโปรแกรมทั้งหมดที่เรียกใช้โดยบรรทัดคำสั่งเช่นกัน git, vim, weechatหรือดีสิ่งอื่นใดอยู่ในใจ คุณจะเห็นว่าฉันกำลังพูดถึงโปรแกรมที่แม้ว่าจะทำงานบนบรรทัดคำสั่ง แต่ก็แสดง "อินเทอร์เฟซแบบกราฟิก" เช่น weechat o vim. สำหรับทุกคนที่ยังไม่ได้ลองใช้ขอแนะนำเลยเพราะโดยพื้นฐานแล้วเป็นตัวที่ฉันใช้ทั้งวัน

ทำไม CLI ถึงดีกว่า GUI

มาลองทำอะไรง่ายๆ กันดีกว่า  วันก่อนฉันอยากลองแก้ไขแพตช์ดู Portage (ผู้จัดการแพ็คเกจของ Gentoo). เช่นเดียวกับโครงการความร่วมมือที่ดีจำนวนบรรทัดของโค้ดเกิน 70k ลองเปิดใน IDE เช่น NinjaIDE (Portage เขียนด้วย Python) และคุณจะสังเกตเห็นในไม่ช้าว่าเมื่อหน้าจอเริ่มโหลดเครื่องของคุณจะช้ามาก (อย่างน้อยก็ i7 ของฉันทำ) และนี่เป็นเพียงการพยายามเปิดรหัส และเปลี่ยนเป็นสีเริ่มต้นของ« help »

ตอนนี้พยายามทำเช่นเดียวกันกับ vimมันโหลดฉันในเวลาไม่กี่มิลลิวินาทีและในขณะเดียวกันก็ใส่สีที่ "สวย" และอย่างอื่นด้วย

CLI มาก่อนนานแล้ว

บางที่นี่จะบอกว่าโปรแกรมเหล่านั้น เก่าฉันโทรหาพวกเขา แข็งแกร่ง. หากคุณสามารถดูจำนวนชั่วโมงที่ลงทุนในการสร้าง emacs, vim, gdbและโปรแกรมคอนโซลอื่น ๆ อีกหลายร้อยรายการอาจสังเกตเห็นว่าจำนวนโค้ดและฟังก์ชันการทำงานนั้นยอดเยี่ยมมากจนสามารถแก้ไขทุกอย่างที่จำเป็นในการแก้ไขได้ มากมาย GUI สำหรับโปรแกรมที่มีประสิทธิภาพอยู่แล้วใน CLI ของพวกเขาพวกเขาจะไม่มีฟังก์ชันการทำงานเท่ากันเพียงเพราะถ้าเราสร้างแท็บสำหรับแต่ละคำสั่งย่อยที่มีอยู่ตัวอย่างเช่น gitเราจะสูญเสียตัวเองไประหว่างทางเลือกและมันจะถูกต่อต้านเพราะมันจะทำให้ยากต่อการทำงาน

CLI เร็วกว่า

ความมหัศจรรย์เริ่มต้นด้วยกุญแจ Tabนี่ไม่ใช่แค่เพื่อนสนิทของคุณเมื่อเรียกดูเดสก์ท็อปในเทอร์มินัลของคุณ แต่เมื่อได้รับการกำหนดค่าอย่างเหมาะสมจะช่วยให้คุณสามารถย่อประโยคยาว ๆ ให้เหลือ 2 ตัวอักษรและแท็บ 3 ตัวอักษรและแท็บหรือแม้แต่ตัวอักษรและแท็บ .

แต่นี่ไม่ใช่ข้อดีเพียงอย่างเดียวพวกเราที่ใช้เวลาในการเรียนรู้ vim o emacs เราสามารถพูดได้ว่าแม้ว่าช่วงการเรียนรู้จะสูงกว่า IDE ในปัจจุบันเล็กน้อย แต่ในท้ายที่สุดผลลัพธ์ของการผลิตก็น่าทึ่ง แต่เราไม่สามารถจินตนาการถึงเวลาที่จะสูญเสียไปได้เมื่อเลื่อนเมาส์ การใช้มือบนแป้นพิมพ์ 90% ของเวลาไม่เพียง แต่สอนสมาธิเท่านั้นนอกจากนี้การพิมพ์บนแป้นพิมพ์จำนวนมากทำให้คุณคล่องตัวและมีประสิทธิผล และตอนนี้เรากลับไปที่จุดก่อนหน้าซึ่งอยู่กับเรามานานแล้วโปรแกรมเหล่านี้มีฟังก์ชันทั้งหมดที่ใครบางคนคิดได้ซึ่งเป็นคำพูดที่ค่อนข้างธรรมดาสำหรับพวกเราที่ใช้ vim อยู่ในใจ:

หากคุณใช้มากกว่า 4 คีย์อาจมีวิธีที่ดีกว่านี้

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

CLI ช่วยให้คุณควบคุมได้อย่างสมบูรณ์

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

GUI ก็มีของตัวเองเช่นกัน

ฉันจะไม่บอกว่าเราทุกคนควรใช้ CLI เสมอไปนั่นก็ไม่เหมาะเช่นกันฉันเองก็ใช้ GUI เกือบตลอดเวลาเพื่อเขียนโพสต์นี้ฉันใช้ Chrome ของฉันและเพื่อดูอีเมลของฉันฉันใช้ Evolution (แม้ว่าฉันจะ ยังใช้ mutt ไม่นานมานี้) และฉันคิดว่านี่เป็นตำนานที่ยิ่งใหญ่ที่สุด... ที่ผู้คนคิดว่า GNU/Linux เป็นเพียงเทอร์มินัล ฉันชอบสภาพแวดล้อมเดสก์ท็อปของฉัน มันค่อนข้างเรียบง่าย แต่ฉันชอบแบบนั้น  และโดยปกติฉันจะมีเพียงสองหรือสามเท่านั้น โปรแกรมที่ทำงานอยู่, Chrome ของฉัน, Evolution และเทอร์มินัลของฉัน 

นี่คือเหตุผลบางประการว่าทำไมฉันถึงชอบ CLI มากและทำไมฉันถึงเชิญชวนให้คุณให้โอกาสพวกเขา บางทีต่อมาคุณอาจจะกลายเป็นเหมือนฉันที่ใช้ CLI มากกว่า GUI  ขอแสดงความนับถือ


เพิ่มเป็นแหล่งที่มาที่ต้องการ