ดังนั้นข้อดีของการใช้เทอร์มินัลคืออะไร? [ปิด]


62

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

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


20
ความจริงที่ว่าคุณถามว่าแสดงให้เห็นว่า Linux เป็นระบบปฏิบัติการมาจากวันที่ทุกอย่างเป็นพื้นฐานของ CLI! :-)
subeh.sharma

1
คำตอบที่ชัดเจนกับคำถามนี้น่าจะเป็นเอริคเอสเรย์มอนด์ศิลปะของการเขียนโปรแกรมระบบปฏิบัติการยูนิกซ์ สำหรับเหยียดหยามมากขึ้น (หรือบางคนอาจจะบอกว่าในทางปฏิบัติมากขึ้น) ใช้เวลาในการคิดเดียวกันดูบทความโจ Spolsky บนBiculturalism
Daniel Pryden

1
ในแง่ทั่วไปประโยชน์ของการใช้เทอร์มินัลคือการแสดงออก มันใกล้เคียงกับอินเทอร์เฟซแบบDo Do I I Meanเท่าที่เรามีโดยไม่มีความยุ่งเหยิงและเป็นกิริยาช่วย - นี่ยังไม่ครอบคลุมพอที่จะเป็นคำตอบต่อ se แต่หวังว่า byte เสียงที่รวดเร็วช่วย
MrGomez

ในช่วง 5 ปีที่ผ่านมาที่ฉันใช้กับ Ubuntu ฉันจำวันเดียวไม่ได้เลยเมื่อใช้เทอร์มินัล มันเป็นแอปพลิเคชั่นแรกที่ฉันเปิดหลังจากลงชื่อเข้าใช้ (ฉันแน่นอนอัตโนมัติ :-)) และมันจะปิดเฉพาะเมื่อพีซีของฉันปิดตัวลง
Vikrant Chaudhary

2
คำถามนี้ไม่ตรงกับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะเกี่ยวข้องกับข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญเฉพาะด้าน คำถามนี้มีแนวโน้มที่จะเรียกร้องความคิดเห็น , การอภิปราย , การขัดแย้งเลือกตั้งหรือขยายการสนทนา
jrg

คำตอบ:


79

เทอร์มินัลใน Unix เป็นเครื่องมือที่ยอดเยี่ยมและทรงพลัง เมื่อเปลี่ยนจากโลกของ Windows มันก็ยากที่จะเข้าใจสิ่งนี้เพราะเชลล์ของ Windows (cmd.exe) นั้นค่อนข้างจะขาดวิธี ส่วนใหญ่ * หอยระวังค่าเริ่มต้น ( bash, zshฯลฯ ) มีข้อได้เปรียบหลายประการ:

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

  2. เนื่องจาก Unix ถูกสร้างจากเทอร์มินัลขึ้นทุกอย่างส่วนใหญ่สามารถกำหนดค่าได้จากบรรทัดคำสั่ง Windows เป็นแบบนี้จนถึงจุดหนึ่ง แต่พวกเขาเลือกที่จะวางระบบย่อยแบบ 16 บิตและ DOS ด้วย ตอนนี้ GUI เป็นวิธีเดียวที่จะเปลี่ยนแปลงบางสิ่งใน Windows

  3. เพราะมันมีความยืดหยุ่น คำสั่งสามารถส่งเข้าด้วยกัน ( ls | grep filename) สามารถจับ ( gcc program.c > ./standard_out 2> ./standard_error) และสามารถทดแทน ( ls /home/`whoami`หรือls /home/$(whoami))

  4. เนื่องจากยูทิลิตี UNIX ได้รับการออกแบบให้ทำสิ่งหนึ่งและทำได้ดี เพียงแค่มองเข้าไปในawk, grep, sed, wgetหรือโฮสต์ของผู้อื่น ด้วยตนเองพวกเขาประสบความสำเร็จในงานเดียว แต่ได้รับ # 3 และ # 2 พวกเขาสามารถสร้างขึ้นในการแสดงออกที่มีประสิทธิภาพ

  5. เนื่องจากความสามารถในการทำงานอัตโนมัติ cronและสคริปต์ทุบตีอนุญาตงานที่ยาวซับซ้อนและ / หรือซ้ำ ๆ เพื่อให้ง่ายหรืออัตโนมัติอย่างสมบูรณ์

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


10
ฉันจะเรียก `เห็บที่ไม่ดี ... มันจะดีกว่าที่จะใช้ls /home/$(whoami)ในปัจจุบัน :-)
ℝaphink

19
ฉันว่ามี 5 คือความเป็นไปได้สคริปต์ คุณสามารถทำอะไรได้โดยอัตโนมัติฉันยังมีสคริปต์ที่เปิดตัวซีรีย์ตอนโปรดของฉันเมื่อฉันต้องการผัดวันประกันพรุ่ง ... รับพีซีของคุณไปด้วยสองล้อและคุณอาจจะเขียนสคริปต์ที่ทำให้คุณดื่มเบียร์จากตู้เย็นและถ้า คุณใส่ไว้ในcronมันจะได้พบคุณที่ประตูกับมันเมื่อคุณกลับมาจากการทำงาน ...
TC1

6
เพื่อความเป็นธรรม PowerShell ได้ปรับปรุงสถานการณ์เชลล์ของ Windows ในแง่ของการใช้งาน (แม้ว่าจะไม่ใช่มาตรฐาน)
Matthew Flaschen

4
ฉันต้องการเพิ่มความสมดุลอีกเล็กน้อยและพูดถึง PowerShell และแม้กระทั่งก่อนหน้านี้ว่ามันเป็นไปได้อย่างสมบูรณ์แบบที่จะทำงานส่วนใหญ่จากพรอมต์ CMD ใน Windows จาก Windows XP เป็นต้นไป ความแตกต่างดังที่ได้กล่าวไว้คือบรรทัดคำสั่งมักจะเป็นและยังคงเป็นศูนย์กลางในการใช้ * * * * * * * * วันต่อวัน สิ่งนี้มีความหมายที่ดีและไม่ดี
Alan B

9
เกี่ยวกับ 6 - บ่อยครั้งที่การออกคำสั่งง่ายกว่าทำตามคำแนะนำทีละขั้นตอนเพื่อบอกวิธีนำทาง GUI นั่นเป็นสาเหตุที่มีคำแนะนำวิธีใช้มากมายในบรรทัดคำสั่งการใช้งานเว็บ และโดยทั่วไปแล้วมันก็เป็นจริงสำหรับผู้ใช้ - เมื่อคุณได้รับประสบการณ์มากขึ้นมันจะกลายเป็นเร็วขึ้นและง่ายต่อการใช้ CLI
Phil

36

มีข้อดีมากมายสำหรับการใช้งานเครื่อง ข้อโต้แย้งมีตั้งแต่ความสะดวกสบายผลผลิตไปจนถึงความคิดถึง นี่คือบางส่วน:

  1. มีบางสิ่งที่คุณ (แทนที่จะเป็นฉัน) ไม่สามารถทำได้โดยใช้ GUI ไม่ใช่เพราะมันไม่สามารถทำได้เป็นเพียงเพราะไม่มีใครใส่ใจที่จะเขียน GUI สำหรับคำสั่งเหล่านี้ ตัวอย่างเช่นหากฉันต้องการใช้คำสั่งบางคำพูดmdf2isoให้แปลงไฟล์ทั้งหมดเป็นไฟล์ในโฟลเดอร์ ฉันสามารถส่งออกท่อโดยใช้|โอเปอเรเตอร์และทำได้ในจังหวะเดียว

  2. สำหรับพวกเราหลายคนมันเป็นสิ่งที่ควรจะเป็น โปรดทราบว่าสิ่งนี้มีความเชี่ยวชาญเพียงเล็กน้อย ฉันไม่ใช่ผู้เชี่ยวชาญของ linux ฉันเป็นแค่ผู้ใช้ธรรมดา แต่ฉันชอบที่จะใช้บรรทัดคำสั่งทุกที่ที่ทำได้ นี่ไม่ใช่ข้อโต้แย้งมากมายเกี่ยวกับสาเหตุที่ควรนำมาใช้เท่าที่ใช้

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

  4. คุณสามารถทำงานได้โดยเข้าสู่ระบบจากระยะไกลแม้กระทั่งการตั้งค่าแบนด์วิดท์ต่ำมาก

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

  6. การใช้บรรทัดคำสั่งมักจะช่วยให้คุณเข้าใจสิ่งที่คุณกำลังทำอยู่และสิ่งที่เกิดขึ้น

  7. และในที่สุดมันก็เร็วขึ้น มันเร็วกว่ามากในการพิมพ์ตัวอักษรสองสามตัวและกดTABกว่าคลิก แต่ตัวเลือกเมนูที่ไม่มีที่สิ้นสุด คุณสามารถใช้!moเพื่อเรียกใช้คำสั่งสุดท้ายที่คุณเรียกใช้ซึ่งเริ่มต้นด้วยmo(เช่นเมานต์) และอื่น ๆ

ฉันแน่ใจว่ามีเหตุผลอีกหลายพันข้อที่ฉันพูดถึงไม่สำเร็จ


มัน 'เป็นข้อได้เปรียบ' ในบางงานที่ต้องใช้ cli แต่สำหรับ 90% ของการใช้งานในแต่ละวันไม่มีใครต้องการใช้คำสั่ง cli เพื่อลดสิ่งต่างๆ ทั้งหมดที่ฉันเคยเห็นก็คือมันเป็นข้อได้เปรียบที่ยิ่งใหญ่เพราะคุณสามารถทำ "สิ่งนี้" ได้อย่างมีประสิทธิภาพอย่างไรก็ตามสิ่งนี้เกิดขึ้นได้เหมือนเดือนละครั้งหรือเมื่อตั้งค่าคอมพิวเตอร์ ตัวอย่างเช่นเพียงเพื่อคัดลอกไฟล์ที่คุณต้องเขียนย่อหน้าตั้งค่าการอนุญาตตรวจสอบกำหนดตัวเลือกให้พื้นที่ที่ถูกต้องระวังกรณีที่ถูกต้องอ่านรายการ 50 ไฟล์ค้นหาสิทธิ์ ... ในขณะที่ถ้าคุณกำลังทำ บน windows gui คุณจะต้องกด ctl + a .. alt + tab ctl + c และคุณเสร็จสิ้นแล้ว
Muhammad Umer

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

18

ในที่สุด? เพราะคุณเริ่มเขียนสคริปต์และสิ่งมหัศจรรย์เกี่ยวกับการเขียนสคริปต์คือ:

แทนที่จะเปลี่ยนวิธีที่คุณทำสิ่งต่าง ๆ คุณสามารถเปลี่ยนสคริปต์ที่ทำ

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

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

ทำไมผู้คนถึงใช้งานเป็นผู้ใช้งานบรรทัดคำสั่งได้?

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

  1. “ ฉันต้องการโปรแกรมนี้ดังนั้นฉันเดาว่าฉันจะใช้บรรทัดคำสั่ง”

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

    • LaTeX / TeX / ConTeXt (รสชาติที่แตกต่างของระบบเดียวกัน) ใช้ไฟล์ข้อความและแปลงเป็นเอกสาร PDF ที่สวยงาม ดูตัวอย่างการแสดงนี้ ฉันชอบ 'pp' และ 'LM-Volume-manuscript'
    • renameเป็นโปรแกรมเล็ก ๆ ที่น่ารักที่ให้คุณเปลี่ยนชื่อไฟล์เป็นจำนวนมากตามรูปแบบ ตัวอย่างง่ายๆ: rename s/myfile([0-9]+).txt/$1-myfile.txt/ เปลี่ยนไฟล์ทั้งหมดที่มีชื่อว่า 'bond007.txt' เป็น '007-bond.txt' ไม่ว่าตัวเลขจะเป็นเท่าใด บางทีคุณอาจต้องการเปลี่ยนชื่อไฟล์อัลบั้มเพลงบางไฟล์
    • บางทีคุณต้องการเรียกใช้เว็บไซต์จากคอมพิวเตอร์ของคุณและคุณค้นพบว่าถ้าคุณต้องการบอกให้เว็บเซิร์ฟเวอร์เรียกใช้ / หยุด / รีเฟรชการกำหนดค่าคุณต้องออกคำสั่งเทอร์มินัล

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

  2. “ โอเคฉันสบายใจขึ้นแล้ว”

    เมื่ออยู่ในบรรทัดคำสั่งผู้คนเริ่มคิดว่า: มันจะไม่ง่ายหรอกถ้าฉันทำได้ ..

    • ... เปลี่ยนไดเรกทอรีเพื่อดูข้างในอีกอันหรือไม่ ( cd mydirสำหรับ 'เปลี่ยนไดเรกทอรี')
    • ... รับการเตือนความจำอย่างรวดเร็วเกี่ยวกับไฟล์ข้อความในไดเรกทอรีนี้หรือไม่? ( ls *.txtสำหรับ 'รายการ')
    • ... ย้าย / เปลี่ยนชื่อไฟล์หรือไม่ คัดลอกไฟล์หรือไม่ ลบไฟล์หรือไม่ ( mv myfile newname,, cp myfile mycopyและrm myfileสำหรับ 'ย้าย', 'คัดลอก' และ 'ลบ')
    • ... เปิดไฟล์นี้เพื่อแก้ไข / ดู? ( gedit myfileหรือleafpadหรือnanoหรือvimหรือหรืออะไรก็ตาม)

    เมื่อผู้คนเรียนรู้คำสั่งทั้งห้านี้พวกเขาจะรู้สึกสบายใจในบรรทัดคำสั่ง: พวกเขาสามารถเคลื่อนย้ายมองและโต้ตอบได้ มันมีพลังหน่อย: คุณสามารถทำงานกับกลุ่มไฟล์ทั้งหมดพร้อมกันโดยใช้คำสั่งเช่นmv iceland-*.jpg My_Iceland_Pics/นั้นและมันก็ไม่เจ๋งใช่มั้ย

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

  3. “ เฮ้สคริปต์เป็นเพียงคำสั่งในไฟล์!”

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

    • คุณเริ่มใช้สคริปต์เล็กน้อยเพื่อทำให้สิ่งที่น่าเบื่อเป็นไปโดยอัตโนมัติ บางอย่างที่คุณเขียนเอง; บางอย่างที่คุณได้รับจากคนอื่น และในที่สุดคุณก็เริ่มปรับเปลี่ยนสคริปต์ของคนอื่น
    • คุณค้นพบว่าหมวดหมู่ขนาดใหญ่ของสิ่งที่คุณเคยทำด้วยมือเพราะมันต้องใช้การคิดในระหว่างนั้นสามารถเป็นแบบอัตโนมัติโดยใช้โครงสร้างสองอย่างนี้:
      • if something_is_true; then step1a; step2; else step1b; fiและ
      • for file in list_of_files; do process1 $file; process2 $file; step3; done
    • ประสบกับงานที่น่าเบื่อหรือซับซ้อนคุณพบว่าคุณอยากเขียนสคริปต์มากกว่าทำด้วยมือ สิ่งนี้ไม่ได้ช่วยประหยัดเวลาหรือสามารถนำกลับมาใช้ใหม่ได้ แต่จำเป็นเพราะสนุกกว่า
    • คุณเริ่มใช้เวิร์กโฟลว์ 'use script on source file' มากเพราะมันเหมาะสมกับวิธีที่คุณคิด

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

โพสต์สคริปต์ ในการเขียนโปรแกรมscript -> run -> resultและinput -> process -> outputขั้นตอนการทำงานเป็นเรื่องธรรมดาอย่างมหาศาลและ terminal เป็นงดงามเหมาะสำหรับเวิร์กโฟลว์เหล่านี้ เพิ่มความจริงที่ว่าเชลล์ไม่มีอะไรเลยนอกจากภาษาการเขียนโปรแกรมอื่นและคุณจะเห็นว่าเหตุใดจึงมีการเหลื่อมกันอย่างมากระหว่างผู้ใช้บรรทัดคำสั่งและโปรแกรมเมอร์


2
ฉันเดาว่าคุณใช้กลุ่มเพื่อเขียนโพสต์นี้
jokerdino

5
@ โจ๊กเกอร์: ไม่ แต่ฉันควรจะมี :-)
Esteis

15

อีกจุดที่จะเพิ่ม: มันสนุกที่จะใช้บรรทัดคำสั่ง! ;)

( http://vladdolezal.com/blog/2008/the-real-reason-we-use-linux/ )


+1 บทความที่ดี ฉันรู้สึกว่าฉันเป็นส่วนหนึ่งของ "ก๊ก"
แอรอน

ฉันจะแก้ไขมันเพื่อบอกว่ามันสนุกเมื่อคุณได้เรียนรู้เทคนิคและเทคนิคต่าง ๆ โดยเฉพาะการแก้ไขคำสั่ง การปรับปรุงที่ใหญ่ที่สุดสำหรับฉันคือการเรียนรู้มากพอที่จะเริ่มเข้าใจเนื้อหาใน "การทุบตีคน"
Marty Fried

12

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

พิจารณาใช้โปรแกรมประมวลผลคำ หากคุณบันทึกไฟล์คุณอาจใช้แป้นพิมพ์ลัดเช่น ctrl-s บางคนอาจพูดว่า "ฉันชอบที่จะใช้เมนูมันไม่ได้ช่วยฉันประหยัดเวลามากนักในการใช้ทางลัดและถ้าคุณต้องบันทึกไฟล์ใหม่คุณจะต้องสำรวจระบบไฟล์ไปยังไดเรกทอรีแล้วพิมพ์ ต่อไปชื่อ " ดังนั้น objector นี้ถูกต้องว่าแป้นพิมพ์ลัดแต่ละตัวไม่สามารถประหยัดเวลาได้อย่างมาก การประหยัดที่แท้จริงคือการเชื่อมโยงทางลัดเข้าด้วยกันเช่นเลือกทั้งหมดตัดวาง แม้แต่ผู้ผลิตโปรเซสเซอร์ประมวลผลก็รู้เรื่องนี้และทำให้สะดวกในการเข้าถึงโครงสร้างไฟล์โดยใช้แป้นพิมพ์เช่นความสามารถในการเข้าถึงโฟลเดอร์ / ตำแหน่งล่าสุดโดยใช้แท็บและปุ่มลูกศร

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

ทีนี้สิ่งนี้เกี่ยวข้องกับ command line? ข้อดีของบรรทัดคำสั่งคือหลีกเลี่ยงการใช้เมาส์ที่ช้าและผิดพลาดได้ง่าย คุณพิมพ์และทำมันจากที่เดียว คุณไม่จำเป็นต้องมองหาเมนูอื่นหรือคลิกไปที่นั่นแล้วตรงนี้ มันเป็นเหตุผลเดียวกันกับที่คนชอบใช้แป้นพิมพ์ลัดบนเว็บเบราว์เซอร์ (เพื่อเปิดแท็บ / หน้าต่างใหม่เพื่อใช้ Gmail ฯลฯ ) พวกเขาจะต้องพิมพ์ URL (หรืออีเมลหรืออะไรก็ตาม) ใน ... ทำไมย้ายมือของคุณออกไปจากกุญแจ?

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


ใช้screenในคอนโซลฉันแทบจะไม่เคยใช้เม้าส์เลยนอกจากจะใช้งานเว็บไซต์ได้อีกต่อไป (ไม่มีใครพูดถึงคมได้ดีกว่า ... )
Huckle

1
+1 สำหรับแป้นพิมพ์ลัด มันไร้สาระกี่คนที่อ้างว่าลีนุกซ์ใช้งานได้เร็วกว่าเพราะ CLI (และด้วยเหตุนี้แป้นพิมพ์) และพวกเขาไม่รู้ว่าจะใช้แป้นพิมพ์เพื่อทำสิ่งใดใน Windows มันก็เหมือนกับการอ้างว่ารถสามล้อนั้นมีความทันสมัย ​​/ ใช้งานง่ายกว่ารถจักรยานที่มีล้อฝึก
Mehrdad

ฉันจะเป็นคนแรกที่บอกว่าฉันรู้ว่าแป้นพิมพ์ลัดของ Windows ดีกว่า Gnome แต่นั่นเป็นเพราะฉันใช้เวลาส่วนใหญ่ของฉันบนเซิร์ฟเวอร์ แต่ ALT + Space + N, ALT + TAB, ALT + SPACE + M + (ลูกศร) ล้วนมี Gnome หรือเทียบเท่า (ฉันเชื่อ)
Huckle

11

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

หากคุณ google cli vs gui คุณจะได้รับเพลงฮิตมากมายเช่น:

http://www.computerhope.com/issues/ch000619.htm

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


ด้วยไฟล์การกำหนดค่าข้อดีอย่างหนึ่งของการแก้ไขจากบรรทัดคำสั่งคือการรู้ว่าเกิดอะไรขึ้นกับไฟล์ หากคุณต่อท้ายคำสั่งที่แน่นอนตอนนี้คุณรู้ว่าไฟล์มีบรรทัดพิเศษนั้น ด้วย GUI บางครั้งมันก็ไม่ชัดเจนในสิ่งที่คุณทำหรือสิ่งที่มีผลต่อการตรวจสอบ / การยกเลิกการเลือกกล่องจะทำ ฉันคิดว่าข้อเสียคือไฟล์ config สามารถอ่านได้ยาก
Chan-Ho Suh

10

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


8

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

สิ่งที่ฉันชอบอันดับสองคือทำให้ง่ายต่อการตอบคำถามเกี่ยวกับ stack-overflow ไม่มีภาพหน้าจอที่ต้องการเพียงแค่ข้อความ


5
+1 สำหรับพิมพ์น้อย คำถามที่เห็นได้ชัดคืออินเตอร์เฟสของแป้นพิมพ์สามารถพิมพ์ข้อความได้น้อยลง แต่ทำได้อย่างไร คุณไม่ได้ตระหนักเสมอว่าคุณทำซ้ำงานเดิมซ้ำแล้วซ้ำอีกจนกว่าคุณจะดูประวัติทุบตีของคุณ
Erick Robertson

ฉันทำการศึกษาเพียงเล็กน้อยเกี่ยวกับการกดปุ่มเปรียบเทียบเมาส์กับคีย์บอร์ด สิ่งนี้จะละเว้นการเลื่อนเมาส์ทั้งหมดเพียงแค่คลิกและการกดแป้นคีย์บอร์ดทุกครั้ง (วิธีการนี้ใช้เมาส์น้อยกว่าความคาดหมาย) ฉันนับคะแนน / ความพยายามในการทำงานประจำวันโดยใช้แต่ละวิธี แป้นพิมพ์ลัดที่ใช้อย่างเดียวคือการค้นหาแบบย้อนกลับ (ctrl-r), ปุ่มลูกศรและแท็บ คะแนนต่ำกว่าดีกว่า สรุปได้ว่าการใช้แป้นพิมพ์ด้วยการค้นหาแบบย้อนกลับ (ctrl-r), ปุ่มลูกศรและแท็บนั้นเป็นความพยายามที่ใช้เมาส์น้อยลงสำหรับงานประจำวันส่วนใหญ่
ctrl-alt-delor

5

เมื่อคุณต้องทำอะไรบางอย่างในฐานะ "รูท"? การเข้าสู่ระบบผ่านทาง GUI เนื่องจากรูทเป็นความคิดที่ไม่ดี (และฉันไม่คิดว่า Ubuntu จะอนุญาตให้คุณทำเช่นนั้นตามค่าเริ่มต้น)

นอกจากนี้ให้พิจารณาว่า Linux GUI (X11) เป็นเพียงโปรแกรมที่ทำงานเหมือนทุกอย่าง ถ้า X11 ควรล้มเหลวคุณจะดีใจที่รู้ว่าบรรทัดคำสั่งของคุณ


5

ฉันแค่อยากมีส่วนร่วมกับตัวอย่างที่ฉันพบว่ามีประโยชน์มากจากคำแนะนำสำหรับการเพิ่ม PPA สำหรับ VirtualBox เมื่อคุณเพิ่ม PPA คุณควรลงทะเบียนพับลิกคีย์ดังนั้นวิธี GUI:

  • ดาวน์โหลดกุญแจด้วย Firefox (หรือเบราว์เซอร์อื่น)
  • เปิด Synaptic (หรือ APT gui อื่น ๆ )
  • ค้นหารายการเมนูที่ถูกต้อง
  • เรียกดูไฟล์ที่ดาวน์โหลด
  • ในที่สุดยืนยัน

การอธิบายในคู่มือผู้ใช้อาจมีราคาแพง! แต่สามารถทำได้ด้วยบรรทัดคำสั่งเดียวที่เรียบง่าย:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

1
ยกเว้นว่าปุ่มดาวน์โหลดไม่จำเป็นต้องใช้ความรู้สึกตัวของมนุษย์ดังนั้นจึงเป็นภาระที่ไม่จำเป็นที่ต้องทำด้วยตนเอง
Justinas Dūdėnas

3

บรรทัดคำสั่งทำงานได้ดีเหมือนใน windows - จำไว้ว่าการป้อนข้อความ msdos ด้วยพื้นหลังสีดำ?

มันทำให้ผู้ใช้สามารถออกคำสั่งโดยตรงไปยังคอมพิวเตอร์โดยไม่ต้องระบายทรัพยากรของคอมพิวเตอร์ที่ GUI นำมาใช้ นอกจากนี้ยังเป็นวิธีการออกคำสั่งที่มีประสิทธิภาพเพื่อทำสิ่งที่ไม่สามารถทำได้ผ่าน GUI

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

ยินดีต้อนรับสู่ Ubuntu และถาม Ubuntu นี่เป็นสถานที่ที่ยอดเยี่ยม !!


3

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

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

คุณสามารถป้อนคำสั่งด้วย "--help" และรับรายการตัวเลือกบรรทัดคำสั่งที่อาจเป็นประโยชน์สำหรับกรณีพิเศษบางอย่าง

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


2

เพียงแค่ใส่คุณมีปุ่มมากกว่าร้อยปุ่มที่สามารถควบคุม / พูดคุย / สั่งซื้อคอมพิวเตอร์ได้มากกว่าเมาส์ตัวเดียวที่มีสองหรือสามปุ่ม ยิ่งคุณมีการควบคุมมากเท่าไหร่คุณก็ยิ่งเร็วเท่านั้น

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

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


1

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

ตัวอย่างเช่นในฐานะนักพัฒนาถ้าฉันแค่ต้องการคอมไพล์โปรแกรม C ++ ฉันไม่ต้องใช้ IDE ที่ซับซ้อน IDE เป็นอินเทอร์เฟซ GUI ซึ่งมีคุณสมบัติขั้นสูงมากมายที่โปรแกรมแก้ไขข้อความอย่างง่ายไม่มีให้ ดังนั้นแทนที่จะดาวน์โหลด IDE ที่มีขนาดใหญ่มากสำหรับงานง่ายๆฉันสามารถเขียนสิ่งต่อไปนี้และมันจะรันโปรแกรม C ++ ของฉันซึ่งมีไฟล์เรียกmainทำงาน

g++ -o main main.cpp
chmod 777 main
./main

หากคุณใช้ภาษา interpreter เช่น Python คุณสามารถป้อน Python แบบโต้ตอบเชลล์ได้ ใช่. มีเชลล์แบบอินเทอร์แอคทีฟที่ห่อหุ้มด้วย GUI ที่ดี แต่มันช้ากว่าและบั๊กกี้ (โอ้คิดถึง IDLE ... )

บางครั้งเมื่อ GUI เสียหายคุณสามารถลองใช้ Terminal เพื่อเปิด บางครั้งซอฟต์แวร์บางตัวใน Linux ไม่มี GUI ที่ดีหรือหายากที่ตัวเรียกใช้ GUI คือคุณไปที่ Terminal และพิมพ์ตัวอย่างเช่น:

xpdf homework.pdf

นี่จะเปิดการบ้านไฟล์ PDF สำหรับคุณ

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

GUI เป็นสิ่งที่ดี แต่บางครั้งคุณสามารถทำสิ่งต่าง ๆ ได้ง่ายขึ้นด้วยคำสั่ง บางครั้งคุณก็ไม่มีทางเลือก: คุณต้องใช้คำสั่งผ่านเทอร์มินัล


1

ฉันจะเพิ่มจุดด้านที่ดูเหมือนจะไม่ถูกกล่าวถึงแม้ว่ามันจะไม่ใช่ข้อได้เปรียบที่แท้จริง

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


0

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


3
แม้ว่า Synaptic ไม่ได้เป็นส่วนหนึ่งของการติดตั้งเริ่มต้น แต่ก็ยังสามารถติดตั้งได้จาก Software Center
Fragos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.