เมื่อใดที่ควรเรียนรู้รุ่นบรรทัดคำสั่งของเครื่องมือการเขียนโปรแกรม [ปิด]


12

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

ดังนั้นฉันมีคำถามสองสามข้อ (ซึ่งไม่จำเป็นต้องเกิดร่วมกัน):

1) เมื่อใดที่คุณจะต้องเรียนรู้ / จดจำคำสั่งในเวอร์ชันบรรทัดคำสั่งของเครื่องมือซึ่งมีมาในเวอร์ชั่น gui ด้วย?

2) ฉันควรเรียนรู้เครื่องมืออะไรในเวอร์ชันบรรทัดคำสั่ง .... คอมไพเลอร์? ระบบควบคุมรุ่น? ฯลฯ


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

คำตอบ:


21

ฉันเห็นสองเหตุผลว่าทำไมคุณควรเรียนรู้เกี่ยวกับตัวเลือกบรรทัดคำสั่งของโปรแกรม:

  1. เมื่อคุณต้องการทำให้โปรแกรมเป็นแบบอัตโนมัติ - สร้างสคริปต์, ประมวลผลชุดงานเป็นต้น

  2. เมื่อคุณต้องการเพิ่มประสิทธิภาพการทำงานของโปรแกรม - ลดขนาดหน่วยความจำ ฯลฯ

เป็นเครื่องมือที่คุณควรเรียนรู้ - ซึ่งทั้งหมดนั้นขึ้นอยู่กับสิ่งที่คุณต้องการจะทำต่อไป


1
คุณต้องการที่จะสามารถสคริปต์โปรแกรมเพื่อให้สามารถทำงานได้โดยอัตโนมัติ ...

1
@ Thorbjørn - นั่นไม่ใช่สิ่งที่ฉันพูดเหรอ? หรือฉันไม่ชัดเจน?
ChrisF

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

9

คำตอบที่ดีมากมายแล้ว ฉันเพิ่มมุมมองเพิ่มเติมอีกหนึ่งจุด

คุณแทนที่ GUI ด้วยเครื่องมือบรรทัดคำสั่งเมื่อคุณต้องการเอามนุษย์ออกจากสมการ / กระบวนการ เหตุผลและ / หรือประโยชน์สำหรับการทำเช่นนี้:

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

ควรทำเมื่อใด เมื่อคุณพบว่าซ้ำตัวเอง

แน่นอนว่ามีสถานที่และเวลาสำหรับ GUI แต่ถ้าคุณต้องการควบคุมพลังของคอมพิวเตอร์และท่องไปตามกฎของ Moore คุณต้องเรียนรู้การเขียนสคริปต์งานของคุณ

แก้ไข : โบนัสพิเศษ คุณจะได้รับการสวมใส่เสื้อยืด :)


7

เหมืองแร่คือ:

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

2) เพื่อใช้เวอร์ชันบรรทัดคำสั่งในแอปพลิเคชันของคุณ ตัวอย่างเช่นสมมติว่าคุณต้องการแปลงไฟล์ PDFไปยังแฟ้มข้อความ หากคุณใช้เวอร์ชัน GUI ก็ไม่เป็นไร แต่ถ้ามันยังมีอินเตอร์เฟสบรรทัดคำสั่งที่คุณสามารถทำสิ่งต่าง ๆ เช่น: ./pdf2text input.pdf output.txtถ้าคุณต้องการพัฒนาแอปพลิเคชั่นที่อ่านข้อความจาก PDF คุณสามารถใช้มันได้อย่างง่ายดายโดยไม่ต้องใช้ API ใด ๆ หรือปรับแต่งบางอย่าง .. .

3) เพื่อเรียนรู้สิ่งทั่วไปของแอปพลิเคชัน ตัวอย่างเช่นหากคุณติดตั้งdiffบน Windows และ front-end เพื่อทำการเปรียบเทียบสองไฟล์ มันสมบูรณ์แบบ แต่ถ้าคุณต้องการใช้มันบนLinux ? คุณสามารถค้นหา front-end เดียวกันสำหรับ Linux แต่จะเกิดอะไรขึ้นถ้ามันไม่มีอยู่? คุณจะต้องเรียนรู้วิธีใช้งานบน Linux อีกครั้งติดตั้ง front-end ใหม่และทำความคุ้นเคยกับมัน หากคุณเรียนรู้วิธีใช้เวอร์ชันบรรทัดคำสั่งคุณไม่จำเป็นต้องใช้มัน)

ประมาณ 3) ... บางคนมีปัญหามากมายในการทำงานกับGitบน Windows พวกเขาบอกว่าไม่มีส่วนปลายด้านหน้าที่ดีบน Windows แต่ถ้าคุณเพิ่งเรียนรู้วิธีใช้บรรทัดคำสั่งคุณจะไม่มีปัญหา มันทำงานในลักษณะเดียวกัน แน่นอนปัญหาคือบางครั้งผู้คนกลัวบรรทัดคำสั่ง ;)

ฉันขอแนะนำให้คุณเรียนรู้เวอร์ชันบรรทัดคำสั่งของ:

  • คอมไพเลอร์เช่นgcc
  • นักแก้จุดบกพร่องเช่นgdb
  • Git ;)
  • และเครื่องมือมากมายใน GNU / Linux ที่คุณสามารถทำงานบน Windows เช่นegrep , awk , find , ...

Yeahhhh +1 สำหรับ git: D ถึงแม้ว่า diff จะเป็นตัวอย่างหนึ่งที่ฉันจะไม่ใช้คำสั่งจริง ฉันชอบ vimdiff (แม้ว่าฉันจะคาดเดาว่าเทอร์มินัลจะเป็นอะไรก็ได้)
ทางเลือก

@ คิดว่าคุณพูดถูก แต่vimdiffเป็นเครื่องมือบรรทัดคำสั่งใช่มั้ย
Oscar Mederos

ในเวลาเดียวกันมันเป็น ncurses (ฉันคิดว่าไม่แน่ใจ) ดังนั้นฉันจึงสร้างความแตกต่างเล็กน้อย
ทางเลือก

ใช่ แต่ฉันสละเหล่านั้นเป็นเครื่องมือบรรทัดคำสั่งมากเกินไป :)
ออสการ์ Mederos

@ เรื่องช่าง: คำตอบสำหรับข้อกังวลของคุณ:gvimdiff
Lie Ryan

3

เหตุใดคุณจึงต้องส่งมอบพารามิเตอร์ของพารามิเตอร์ไปยังหน่วยความจำ นั่นเป็นเหตุผลที่manมีอยู่และ--help( /?ถ้าคุณอยู่ในดินแดน winblowz)

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


1

ในทางปฏิบัติมันลงมาว่าเครื่องมือ gui หายไปหรือไม่หรือเร็วกว่าจากบรรทัดคำสั่ง

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


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

แต่คุณไม่จำเป็นต้องจดจำตัวเลือกสำหรับคอมไพเลอร์หรือสร้าง เมื่อตั้งค่าสำหรับโครงการแล้วคุณไม่ต้องเปลี่ยนบ่อย


1

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

เท่าที่การท่องจำไม่จำเป็นต้องจำไว้เป็นพิเศษว่าคำสั่งของโปรแกรมจะตั้งค่าในครั้งแรกที่คุณใช้งาน เพียงบุ๊กมาร์กคู่มือ (ถ้าคุณใช้คู่มือออนไลน์มิฉะนั้นใช้ "man" บน * nix) และหากคุณต้องการฟังก์ชั่นเฉพาะ (ซึ่งคุณยังไม่ได้จดจำ) เพียงแค่อ้างถึงคู่มือ การท่องจำในสิ่งเหล่านี้ควรเกิดขึ้นตามธรรมชาติโดยการใช้งาน ตัวอย่างเช่นฉันเรียกใช้ "tar" และ "gzip" จากบรรทัดคำสั่งบ่อยมาก แต่ฉันจะต้องอ้างอิงคู่มือเพื่อให้งานสำเร็จซึ่งฉันไม่ได้ทำตามปกติ

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

ขอแสดงความนับถือ
Dennis M.


0

ทุกอย่างเพื่อที่คุณจะไม่ได้พึ่งพา X11 / Windows สำหรับการพัฒนา ยินดีที่ได้พัฒนาอย่างสมบูรณ์จากเทอร์มินัล


ฉันเห็นด้วยกับคุณ;)
Oscar Mederos

0

คำตอบสั้น: เวลาที่ดีที่สุดที่จะเปลี่ยนแปลง (เช่นการใช้ commandline) เป็นตอนนี้ ผู้ชายที่แท้จริงใช้แป้นพิมพ์ คนจริงอย่าคลิก ระยะเวลา

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

นี่คือบทความ / เรียงความที่แนะนำอย่างยิ่ง " ทำไม Windows ทำให้เกิดความโง่เขลา " ที่http://www.over-yonder.net/~fullermd/rants/winstupid/1


3
ล้อเล่นหรือไม่อึคนจริงจะไม่ได้รับรางวัลใด ๆ ถึงแม้ว่าฉันจะยอมรับ 100% ว่าการใช้ CLI นั้นมีประสิทธิภาพมากกว่านี้ แต่เสียงผู้ชายก็เป็นใบ้
ocodo

0

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

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