พลังของการรวมxargs, cut, tail, grep, seqทำให้ฉันประหลาดใจ ทรัพยากรใดที่ฉันควรดูสำหรับการสอนเกี่ยวกับคำสั่ง linux ที่มีประโยชน์ที่สุดสำหรับโปรแกรมเมอร์?
ฉันสนใจโปรแกรมเมอร์ที่ใช้บ่อยที่สุดซึ่งจะทำให้ชีวิตของฉันง่ายขึ้น
พลังของการรวมxargs, cut, tail, grep, seqทำให้ฉันประหลาดใจ ทรัพยากรใดที่ฉันควรดูสำหรับการสอนเกี่ยวกับคำสั่ง linux ที่มีประโยชน์ที่สุดสำหรับโปรแกรมเมอร์?
ฉันสนใจโปรแกรมเมอร์ที่ใช้บ่อยที่สุดซึ่งจะทำให้ชีวิตของฉันง่ายขึ้น
คำตอบ:
สิ่งที่ดีที่สุดที่คุณสามารถทำได้เพื่อเรียนรู้สิ่งนี้คือการค้นหาปัญหาและแก้ไขปัญหาเหล่านั้น ผ่านเว็บไซต์นี้ดู "ฉันจะทำ X อย่างไรใน awk / sed / grep / etc" และลองด้วยตัวเองก่อนที่จะดูคำตอบ ดูว่าคุณติดอยู่หรือไม่หรือดูว่าคนอื่นทำเมื่อคุณหาวิธี หากคุณพบว่าตัวเองทำอะไรที่ซ้ำ ๆ ในเครื่องให้หยุดและคิดว่าคุณจะใช้อรรถประโยชน์อย่างน้อยหนึ่งอย่างเพื่อให้ง่ายขึ้นได้อย่างไร หากคุณไม่สามารถหาวิธีทำได้โพสต์ที่นี่และเราจะแนะนำคุณ
seq, headและtail(อย่างน้อยก็ใช้กันมากที่สุดส่วน) จะค่อนข้างน่ารำคาญ ฉันขอแนะนำให้คุณเริ่มต้นดูgrepเพื่อทำความคุ้นเคยกับการค้นหาครึ่งหนึ่งของการแสดงออกปกติและsed(ในแบบคู่ขนาน แต่ล้าหลังเล็กน้อยgrep) เพื่อรับการแทนที่ (บันทึกsedคำสั่งขั้นสูงเพิ่มเติมในภายหลัง) awkเพราะเครื่องมือนี้เป็นเครื่องมือที่ทรงพลัง จากนั้นแล้วfind xargs
สภาพแวดล้อมการเขียนโปรแกรม UnixโดยKernighanและPikeเป็นคลาสสิกในหัวข้อ มันโบราณแต่ยังอยู่ในสิ่งพิมพ์ซึ่งควรบอกคุณบางอย่าง
Art of UNIX Programming by esrใหม่กว่ามาก ฉันพบว่ามันน่าสนใจและเป็นประโยชน์ แต่มี "การสนับสนุน" มากกว่าที่ฉันรู้สึกว่าจำเป็น (Euphemism สำหรับ "frothing partisanship.") เตรียมที่จะทำการเปรียบเทียบกับ OS อื่น ๆ ด้วยเม็ดเกลือที่ผมจำได้ว่าพบวัตถุที่ล้าสมัย [1] แม้ว่าหนังสือเล่มนี้จะเป็นเล่มใหม่และคู่แข่ง * ix เกือบทศวรรษ ความคืบหน้าตั้งแต่เวลานั้น
[1] ส่วนใหญ่ฉันจำได้ว่า jabs มีจุดอ่อนใน non-* ix OS ที่ถูกกำจัดไปก่อนที่หนังสือจะตีพิมพ์ สิ่งเดียวกันกับที่คุณพบในอาร์กิวเมนต์ Windows กับ Mac และ Linux มือสมัครเล่นทั่วเน็ต
ทำตามแผนหนึ่งวัน /sbinเริ่มต้นด้วยรายการทุกอย่างใน จากนั้นใช้คำสั่งอย่างใดอย่างหนึ่งต่อวันและพิมพ์man commandและหาสิ่งที่มันไม่ /sbinคำสั่งหลักที่สำคัญที่มีทั้งหมดใน หลังจากนั้นไปทำงานบน/binและเมื่อที่เสร็จสิ้นไปทำงานบนและ/usr/sbin /usr/binคุณสามารถย่อรายการคำสั่งของคุณให้สั้นลงได้โดยข้ามตัวอักษรใด ๆ ที่มีมากกว่า 5 ตัวในชื่อคำสั่งและคุณจะไม่พลาดสิ่งสำคัญมากมาย
แต่สิ่งสำคัญคือคุณจะได้เรียนรู้สิ่งใหม่ทุกวันและก่อนที่คุณจะผ่านไปครึ่งทางคุณจะเข้าใจพื้นฐานมากมายเพื่อที่คุณจะสามารถรับคำสั่งใหม่ ๆ ได้ครึ่งโหลต่อวัน
แต่คุณต้องใช้พวกเขาทุกคนแม้ว่ามันจะซ่อมและออกกำลังกายกับพวกเขาเท่านั้น
/sbinให้ "สำหรับโปรแกรมเมอร์" ในชื่อคำถาม ในหลาย ๆ ระบบ/sbinและ/usr/sbinเป็นค่าเริ่มต้นPATHสำหรับรูทเท่านั้น ฉันคิดว่าคุณอาจถูกมองว่าเป็นคำสั่ง "หลัก" ในแง่ที่ว่าพวกเขาเป็นส่วนสำคัญของระบบปฏิบัติการ แต่พวกเขาไม่ใช่เครื่องมือที่คุณใช้ในการเขียนโปรแกรมมากเท่ากับการบริหารระบบ
หนึ่งในวิธีคือการเริ่มอ่านบล็อกบางอย่างที่เชี่ยวชาญใน Unix / Linux ..
บล็อกthegeekstuffที่ฉันเขียนเป็นครั้งคราวนี้เป็นหนึ่งในจุดเริ่มต้นที่ดีสำหรับ ... บทความที่สำคัญที่คุณอาจสนใจคือ:
ที่มีชุดของบทเรียนเกี่ยวกับsedและawk
หวังว่ามันจะเป็นประโยชน์กับคุณ ...
สำหรับ Bash ฉันจะลองดูtldp.org/LDP/abs/html/
โปรแกรมเมอร์มีโอกาสพิเศษในการควบคุม Linux ทุกโอกาสที่คุณจะได้รับแทนที่จะเขียนโปรแกรมเพื่อทำงานให้สำเร็จให้เขียนเชลล์สคริปต์เพื่อทำมัน
จริง ๆ แล้วฉันมีปัญหาส่วนตัวที่ยืนหยัดที่จะเขียนทุกอย่างใน Bash ก่อนที่ฉันจะเขียนโปรแกรม - คุณต้องประหลาดใจและถูกรบกวน
เท่าที่คำแนะนำสำหรับหนังสือมันอาจดูโง่ แต่Linux Pocket Guideมีเกียรติในชั้นวางหนังสือของฉัน มันมีขนาดกะทัดรัดและมีโปรแกรม Linux ที่มีประโยชน์มากมาย การอ่านเป็นเรื่องง่ายและเป็นข้อมูลอ้างอิงที่ดี
เครื่องมือไฟฟ้าของ Unix นั้นน่าสนใจมากในการเรียนรู้เทคนิคบางอย่าง
ผมจะขอแนะนำให้คุณที่จะได้รับคุ้นเคยกับเหล่านี้: awk1line.txtและsed1line.txt
info coreutils
ให้รายการคำสั่งที่มีประโยชน์จำนวนมากจัดกลุ่มตามบริบท
คุณสามารถใช้สิ่งนี้เป็นแนวทางและเรียนรู้คำสั่งหนึ่งคำสั่งต่อวันและแน่นอนว่าเป็นแหล่งเก็บข้อมูลเพื่อค้นหา
ฉันจะเพิ่มLinux®บรรทัดคำสั่งและการเขียนสคริปต์เชลล์พระคัมภีร์โดยริชาร์ดบลัม ง่ายต่อการเข้าใจปฏิบัติและเต็มไปด้วยตัวอย่างที่มีประโยชน์มากมาย