13 Linux Commands Every Engineer Should Know (Real-World Example)

TechWorld with Nana www.youtube.com

สรุปย่อ

วิดีโอสอนการใช้คำสั่ง Linux พื้นฐาน 13 คำสั่งเพื่อแก้ไขปัญหาและจัดการระบบไฟล์ โดยใช้ Docker เพื่อสร้างสภาพแวดล้อม Linux ที่ง่ายต่อการใช้งาน ผู้ชมจะได้เรียนรู้วิธีการนำทางในระบบไฟล์ ค้นหาไฟล์ แก้ไขไฟล์ และจัดการสิทธิ์ของไฟล์

  • การตั้งค่าสภาพแวดล้อม Linux ด้วย Docker
  • การใช้คำสั่ง Linux พื้นฐานในการแก้ไขปัญหา
  • การจัดการไฟล์และสิทธิ์ในระบบ Linux

บทนำ

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

วิธีการทำตาม

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

การตั้งค่าสภาพแวดล้อม Linux

สำหรับผู้ใช้ Mac หรือ Windows สามารถตั้งค่าสภาพแวดล้อม Linux ได้อย่างง่ายดายโดยใช้ Docker Desktop เพียงดาวน์โหลดและติดตั้ง Docker Desktop จากนั้นใช้คำสั่ง Docker เพื่อดาวน์โหลดอิมเมจ Linux ที่กำหนดเอง ซึ่งมีทุกสิ่งที่จำเป็นสำหรับการสาธิตในวิดีโอ

คำสั่งที่ 1: uname

คำสั่ง uname ใช้เพื่อตรวจสอบระบบปฏิบัติการที่กำลังใช้งานอยู่ โดยจะแสดงชื่อของระบบปฏิบัติการ ซึ่งในกรณีนี้คือ Linux คำสั่งนี้เป็นคำย่อของ "Unix name" และ Unix เป็นระบบปฏิบัติการพื้นฐานที่ Linux ถูกสร้างขึ้นมา

คำสั่งที่ 2: pwd

คำสั่ง pwd (print working directory) ใช้เพื่อแสดงตำแหน่งปัจจุบันในระบบไฟล์ Linux ซึ่งจะแสดงไดเร็กทอรีที่กำลังทำงานอยู่

คำสั่งที่ 3: cd

คำสั่ง cd (change directory) ใช้เพื่อเปลี่ยนไดเร็กทอรีปัจจุบันไปยังไดเร็กทอรีอื่นที่ระบุ เช่น cd /var/log/application จะเปลี่ยนไปยังไดเร็กทอรี /var/log/application

คำสั่งที่ 4: ls

คำสั่ง ls (list) ใช้เพื่อแสดงรายการไฟล์และไดเร็กทอรีในตำแหน่งปัจจุบัน หากใช้ ls -l จะแสดงข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ เช่น ขนาด สิทธิ์ และวันที่แก้ไข

คำสั่งที่ 5: cat

คำสั่ง cat (concatenate) ใช้เพื่อแสดงเนื้อหาของไฟล์ โดยจะพิมพ์เนื้อหาของไฟล์ที่ระบุออกมา คำสั่งนี้มีประโยชน์ในการดูไฟล์บันทึกหรือไฟล์ข้อความ

คำสั่งที่ 6: grep

คำสั่ง grep ใช้เพื่อกรองเนื้อหาของไฟล์และแสดงเฉพาะบรรทัดที่มีคำหรือวลีที่ระบุเท่านั้น สามารถใช้ร่วมกับท่อ (pipe) เพื่อส่งเอาต์พุตจากคำสั่งหนึ่งไปยังอีกคำสั่งหนึ่งได้ เช่น cat error.log | grep "database" จะแสดงเฉพาะบรรทัดที่มีคำว่า "database" ในไฟล์ error.log

คำสั่งที่ 7: cp

คำสั่ง cp (copy) ใช้เพื่อคัดลอกไฟล์จากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่ง เช่น cp database_error.txt /root/error_db.txt จะคัดลอกไฟล์ database_error.txt ไปยังไดเร็กทอรี /root และเปลี่ยนชื่อเป็น error_db.txt

คำสั่งที่ 8: wc

คำสั่ง wc (word count) ใช้เพื่อนับจำนวนบรรทัด คำ หรือไบต์ในไฟล์ สามารถใช้ร่วมกับท่อ (pipe) เพื่อส่งเอาต์พุตจากคำสั่งหนึ่งไปยังอีกคำสั่งหนึ่งได้ เช่น cat database_error.txt | grep "connection refused" | wc -l จะนับจำนวนบรรทัดที่มีวลี "connection refused" ในไฟล์ database_error.txt

คำสั่งที่ 9: find

คำสั่ง find ใช้เพื่อค้นหาไฟล์ในระบบไฟล์ สามารถระบุชื่อไฟล์หรือส่วนหนึ่งของชื่อไฟล์ได้ เช่น find / -name "*.conf" จะค้นหาไฟล์ทั้งหมดที่มีนามสกุล .conf ในระบบไฟล์ทั้งหมด

คำสั่งที่ 10: diff

คำสั่ง diff ใช้เพื่อเปรียบเทียบไฟล์สองไฟล์และแสดงความแตกต่างระหว่างไฟล์เหล่านั้น เช่น diff db.conf db.conf.backup จะแสดงความแตกต่างระหว่างไฟล์ db.conf และ db.conf.backup

คำสั่งที่ 11: curl

คำสั่ง curl ใช้เพื่อทำการร้องขอ HTTP ไปยังบริการหรือเว็บไซต์ สามารถใช้เพื่อตรวจสอบว่าบริการสามารถเข้าถึงได้ที่พอร์ตที่ระบุหรือไม่ เช่น curl -I http://localhost:5432 จะตรวจสอบว่าบริการกำลังทำงานบนพอร์ต 5432 หรือไม่

คำสั่งที่ 12: vim

vim เป็นโปรแกรมแก้ไขข้อความบรรทัดคำสั่งที่ใช้ในการแก้ไขไฟล์ใน Linux มีสองโหมดหลักคือโหมดแก้ไข (แก้ไขข้อความ) และโหมดนำทาง (นำทางในไฟล์) ในการออกจาก Vim โดยไม่บันทึกการเปลี่ยนแปลง ให้กด Esc ตามด้วย :q!

คำสั่งที่ 13: chmod

คำสั่ง chmod (change mode) ใช้เพื่อเปลี่ยนสิทธิ์ของไฟล์ใน Linux สิทธิ์ของไฟล์จะกำหนดว่าผู้ใช้ใดสามารถอ่าน เขียน หรือดำเนินการไฟล์ได้ เช่น chmod 666 db.conf จะให้สิทธิ์อ่านและเขียนแก่ผู้ใช้ทุกคนในไฟล์ db.conf

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 มาเปลี่ยนหน้าจอสีดำน่ากลัวที่ เรียกว่าเทอร์มินัลให้เป็นพลังพิเศษของคุณใน 25 นาทีต่อจากนี้ คุณจะไปจาก ช่วยสิ่งที่เกิดขึ้นเพื่อดูสิ่งนี้ ฉัน เป็นนักพัฒนาซอฟต์แวร์จูเนียร์เมื่อฉัน เรียนรู้คำสั่ง Linux อย่างถูกต้องและมัน ทำให้ฉันรู้สึกเจ๋งและมั่นใจมาก ดังนั้น ฉันต้องการช่วยให้คุณรู้สึกแบบนั้นด้วย กับวิดีโอนี้ ก่อนอื่นคุณจะได้เรียนรู้สิ่งที่ ดีที่สุดโดยการทำเช่นนั้น หากคุณทำตามที่ ฉันแสดงการสื่อสารให้คุณดู คุณจะ เรียนรู้และจดจำความรู้นี้ได้ ดีขึ้นมาก ตอนนี้คำถามคือ หากคุณต้องการ ทำตาม คุณจะทำให้ สภาพแวดล้อม Linux ฝึกใช้คำสั่งได้อย่างไร หากคุณมีแล็ปท็อป Mac หรือ Windows ง่ายมาก เราจะใช้ภาพ Docker กับระบบปฏิบัติการ Linux ด้วย

0:48 สองขั้นตอนง่ายๆ ก่อนอื่น คุณจะต้อง ดาวน์โหลด Docker Desktop สำหรับ ระบบปฏิบัติการ Windows หรือ Mac ของคุณ ซึ่ง ง่ายมาก ฉันมีมันสำหรับ Mac ดังนั้นฉันจึงสามารถเรียกใช้ได้อย่างง่ายดายเพียงแค่ดับเบิลคลิก และ Docker ของฉันก็พร้อม ใช้งานแล้ว ตอนนี้คุณไม่จำเป็นต้องมีความรู้เกี่ยว กับ Docker เลย ดังนั้นไม่ต้องกังวล คุณ เพียงแค่ต้องติดตั้งและรัน คำสั่งง่ายๆ สองคำสั่งเท่านั้น จาก นั้นเราจะไปต่อที่ Linux อย่างเต็มรูปแบบ เมื่อ Docker ของคุณกำลังทำงาน เปิดเทอร์มินัลของคุณไม่ว่าจะเป็น เทอร์มินัลในตัวของ Windows หรือ Mac OS และในเท อร์มินัลเราจะดาวน์โหลด อิมเมจ Docker ที่กำหนดเองของฉันซึ่งมี Linux อยู่ภายในพร้อมทุกอย่างที่เราต้องการ

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

2:21 คุณก็ไม่จำเป็นต้องมีความรู้ Docker อื่น ๆ และด้วยสิ่งนั้นเราจะอยู่ใน สภาพแวดล้อม Linux และคำสั่งแรกสุด ที่เราจะใช้คือการตรวจสอบว่า เราอยู่ในสภาพแวดล้อมระบบปฏิบัติการใด ดังนั้นโดยทั่วไปให้ตรวจสอบสภาพแวดล้อม Linux ของเรา และเพื่อทำเช่นนั้นเรามี คำสั่ง sybol ที่เรียกว่า uname ซึ่ง โดยทั่วไปจะแสดงชื่อให้คุณเห็น ของ ระบบปฏิบัติการที่คุณกำลังใช้และ คุณก็เป็นแล้ว เราอยู่บน Linux และ คำสั่งนี้เป็นคำย่อของชื่อ Unix และ Unix เป็นระบบปฏิบัติการพื้นฐาน ที่ Linux ถูกสร้างขึ้นมา และ คุณสามารถดาวน์โหลด แผ่นสรุป Linux ฉบับสมบูรณ์ที่เราสร้างขึ้น โดยเฉพาะสำหรับวิดีโอนี้ได้จาก

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

3:54 ดูกันว่าเราอยู่ที่ใดใน ระบบไฟล์ Linux และเพื่อทำสิ่งนั้น เรามี คำสั่งที่เรียกว่า PWD ซึ่งย่อมาจาก ไดเร็กทอรีการทำงานพิมพ์ และอย่างที่คุณเห็น เราอยู่ ในไดเร็กทอรีรูทซึ่งเป็นผู้ใช้รูท โฮมไดเร็กทอรีแต่ไม่ใช่ที่ที่ แอปพลิเคชันของเราออกไป ดังนั้นเราจึงต้องเปลี่ยน เป็นโฟลเดอร์แอปพลิเคชันที่บันทึกแอ ปพลิเคชันอยู่และเพื่อ เปลี่ยนเป็นไดเร็กทอรีอื่น เราใช้ CD เปลี่ยนไดเร็กทอรีและตำแหน่งที่เรา ต้องการ เปลี่ยนแปลง และสมมติว่าบันทึกแอปพลิเคชันของเรา อยู่ใน /var SL log SL application และตอนนี้เราเห็นในเส้นทางที่นี่ว่าเรามี การเปลี่ยนแปลงจากไดเร็กทอรีโฮม Chang

4:42 ไปยังเส้นทางนี้ ดังนั้นตอนนี้ หากฉันทำ PWD print workking directory คุณก็จะเห็นแล้ว ตอนนี้ เราจะดูได้อย่างไรว่ามีไฟล์ใดบ้างใน ไดเร็กทอรีนี้ เนื้อหาของ โฟลเดอร์นี้คืออะไร เรามี LS ซึ่งแสดง ไฟล์ทั้งหมดและไดเร็กทอรีอื่นๆ ภายในตำแหน่งนี้ ดังนั้น ให้ดำเนินการกันเลย และอย่างที่เราเห็น เรามีไฟล์สามไฟล์สำหรับ แอปพลิเคชัน ตอนนี้ สมมติว่า ฉันต้องการ ดูข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับ ไฟล์เหล่านั้น เช่น ขนาดของไฟล์ เหล่านั้น เพื่อดูว่าไฟล์บางไฟล์ ว่างเปล่าหรือไฟล์ error มีขนาดใหญ่เกินไปหรือไม่ ดังนั้น เราจึงมี Errors จำนวนมากอยู่ภายใน เช่นเดียว กับสิทธิ์ ไฟล์เหล่านั้นถูกล็อกไว้ใน การผลิตหรือไม่ ดังนั้นฉันจึงสามารถเข้าถึงได้

5:28 เราจะทำได้อย่างไรจึงจะดี สำหรับสิ่งนั้น เราใช้แฟล็กหรือ พารามิเตอร์เพิ่มเติมสำหรับ ls-l ดังนั้นสิ่งนี้จะทำให้เรามี มุมมองที่ขยายหรือข้อมูลเพิ่มเติม สำหรับแต่ละไฟล์ รวมถึงสิทธิ์ และ ขนาดของไฟล์ ดังนั้นตอนนี้เราบอกว่า มีเนื้อหาบางอย่างอยู่ภายในไฟล์บันทึก aor ดังนั้นเราจึงต้องการดูว่ามีอะไรอยู่ภายในเพื่อ ดูข้อผิดพลาด และเพื่อพิมพ์ เนื้อหาของไฟล์ใดๆ เราใช้คำสั่งที่ เรียกว่า cat และส่งไฟล์ที่เรา ต้องการอ่าน และชื่อ Kat ย่อมาจาก concatenate ซึ่งเป็น คำศัพท์เฉพาะโดยทั่วไปสำหรับการรวบรวมสตริง ข้อความเข้าด้วยกัน และคุณสามารถใช้

6:14 คำสั่ง cat เพื่อพิมพ์เนื้อหาของไฟล์ ดังนั้นหากเราดำเนินการ เราจะเห็นว่าแอปพลิเคชันได้ บันทึกข้อผิดพลาดบางอย่าง สมมติว่าไฟล์ บันทึกข้อผิดพลาดของเรามีขนาดใหญ่เกินไปและ แออัดเกินไป ดังนั้นเราจึงต้องการ แสดงข้อมูลใดๆ ที่เชื่อมต่อกับ ฐานข้อมูลโดยเฉพาะ ดังนั้นโดยทั่วไปเราต้องการกรอง เนื้อหาไฟล์ทั้งหมดและ แสดงเฉพาะบรรทัดที่มี คำหรือวลีที่ระบุเท่านั้น และเพื่อทำเช่นนั้น เรา ใช้สิ่งที่เรียกว่าท่อ โดยท่อเป็น ชุดคำสั่งใน Linux ดังนั้นไม่ว่าคำสั่งนี้จะส่งออกอะไรก็ตาม จะถูก ใช้เป็นอินพุตสำหรับคำสั่งถัดไป และคำสั่งสำหรับการกรอง ข้อมูลตามวลีคำคือ GP

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

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

8:38 ในโฟลเดอร์อื่นที่จริงแล้วอยู่ใน ไดเร็กทอรีโฮมของผู้ใช้ root ของฉัน ดังนั้นฉันจึงต้องการ บันทึกไฟล์สำรองข้อมูลทั้งหมดไว้ในนั้นเพื่อให้ แน่ใจว่าฉันมีไฟล์เหล่านั้น แล้วฉันจะคัดลอก ไฟล์นี้และบันทึกเป็นข้อมูลสำรองใน ตำแหน่งใหม่ได้อย่างไร หรือโดยทั่วไปแล้ว ฉันจะคัด ลอกไฟล์ได้อย่างไร ง่ายมาก เรามี คำสั่ง CP copy และชื่อไฟล์ ที่เราต้องการคัดลอกและไฟล์ใหม่ ที่เราต้องการสร้าง สมมติว่าเรา ไม่ต้องการชื่อที่ยาวเช่นนี้ เราจึง เรียกมันว่า ข้อผิดพลาดของ DB เราไม่ต้องการให้มีไฟล์นี้อยู่ ในตำแหน่งเดียวกัน แต่ต้องการให้ไฟล์นี้ไปอยู่ใน ไดเร็กทอรีรูทสแลช แล้วฉันจะทำอย่างไรดี ฉันเพียงแค่เพิ่มเส้นทางทั้งหมด

9:26 ไปยังไฟล์ใหม่นี้ลงไปที่นี่ ดังนั้น ฉันจึงบอกให้เอา ไฟล์นี้ไปสร้างสำเนา แล้วเรียกไฟล์ที่คัดลอกนี้ว่า ข้อผิดพลาด dbr ข้อความและบันทึกไว้ใน ไดเร็กทอรีรูทแล้วให้ดำเนินการ จากที่ นี่ฉันสามารถใช้ LS อีกครั้งเพื่อแสดงรายการ ไฟล์ในไดเร็กทอรีรูทโดยไม่ต้อง เปลี่ยนเป็นรูท และคุณก็จะเห็น ข้อผิดพลาด DB ของเราที่นี่ ดังนั้นอย่างที่คุณ เห็น ฉันไม่จำเป็นต้องย้อนกลับมา ฉันสามารถดำเนินการคัดลอก LS cat และ คำสั่งอื่น ๆ ดังนั้นฉันจึงสามารถ พูดว่า slash DB error ได้ ฉันสามารถใช้คำสั่งทั้งหมดเหล่านี้ได้โดย ไม่ต้องไปที่โฟลเดอร์ที่ระบุ โอ

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

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

11:45 ใช้คำวลีนี้ มาดำเนินการกันเลย แล้ว คุณก็ทำได้ เรามีการนับแล้ว ตอนนี้เราได้วินิจฉัยปัญหาแล้ว เรา รู้ว่าแอปพลิเคชันกำลังใช้งานไม่ได้ เนื่องจากไม่สามารถเชื่อมต่อกับ ฐานข้อมูลที่พอร์ต 5433 ได้ ตอนนี้หมายเลขพอร์ตนี้ดู น่าสงสัยเล็กน้อย เพราะเรารู้ว่า หมายเลขพอร์ตฐานข้อมูล postgress คือ 5432 ดังนั้นโดยค่าเริ่มต้น postgress จะเริ่มต้น ที่พอร์ต 5432 แต่แอปพลิเคชันกำลังพยายาม เชื่อมต่อที่พอร์ตนี้แทน ดังนั้นจึงมี บางอย่างที่น่าสงสัยเกี่ยวกับเรื่องนี้ ดังนั้นตอนนี้เรา ต้องการดูว่าพอร์ตนี้ถูก กำหนดค่าไว้สำหรับฐานข้อมูลที่ไหนจริงๆ ต้องการ ค้นหาไฟล์การกำหนดค่าฐานข้อมูล ในระบบทั้งหมด เราจะทำอย่างไร เรา ไม่ทราบว่าไฟล์นั้นอยู่ที่ไหน เรา

12:32 ทราบตำแหน่งของไฟล์บันทึกแอปพลิเคชัน แต่เราไม่ทราบว่า การกำหนดค่าฐานข้อมูลอยู่ที่ไหน มีคนอื่น กำหนดค่าไว้ ดังนั้นเราจึงต้องค้นหาใน ระบบไฟล์ทั้งหมดนี้ มี คำสั่งที่เรียกว่า find และเราสามารถค้นหา ชื่อไฟล์เฉพาะ เช่น database error หรือเราสามารถค้นหาส่วนหนึ่งของ ชื่อไฟล์ได้ เพื่อให้ทราบว่า การกำหนดค่าฐานข้อมูลจะมีนามสกุลไฟล์ docon แต่เราไม่ทราบว่าชื่อ ไฟล์การกำหนดค่าเองจะเป็นอย่างไร จะเป็น POG gra.com db.com database.com หรือไม่ เราไม่ทราบว่าจะ เป็นอย่างไร ดังนั้นสิ่งที่เราจะ ทำคือ เราจะพูดว่าค้นหาไฟล์ที่มี ชื่อว่า conon ซึ่งเป็น

13:17 นิพจน์ทั่วไปและโดยทั่วไปแล้วจะพูดว่า ค้นหาไฟล์ใดๆ ที่มี docon ใน ชื่อ อย่างไรก็ตาม ตอนนี้เราต้องบอก ระบบว่าเราต้องการค้นหาไฟล์นี้ ที่ใด เราต้องการค้นหาใน ไดเร็กทอรีปัจจุบัน ซึ่งจะเป็นจุดหรือไม่ ลองดูว่า ไม่มีอะไรที่เรียกว่า docon ในไฟล์นี้หรือเราสามารถค้นหาใน ระบบไฟล์ทั้งหมด โดยใช้เครื่องหมายทับ เครื่องหมาย ทับจึงแสดงถึงระบบไฟล์รูท และระบบไฟล์เป็นโครงสร้างแบบต้นไม้ ใน Linux ดังนั้นไฟล์และ ไดเรกทอรีทั้งหมดจึงมาจากรูทนี้โดยพื้นฐานแล้ว ดังนั้นเราจึงต้องการค้นหาไฟล์นี้ ทุกที่ในระบบไฟล์ทั้งหมด มาดำเนินการกันเถอะ โอเค เรามี

14:02 ไฟล์ con ค่อนข้างเยอะ ดังนั้นตอนนี้เราสามารถใช้ ฟังก์ชันหรือคำสั่ง grap ที่คุ้นเคยเพื่อกรอง รายการขนาดใหญ่และมาค้นหา ไฟล์ config ที่มี DB อยู่ มาดูว่าเราจะ พบอะไรหรือไม่ และนั่นคือ ไฟล์หนึ่งชื่อ db.com และดูเหมือนว่า จะอยู่ในแอปพลิเคชัน /c/ ดังนั้นเราจึงพบไฟล์ con ของ DB มา ค้นหากันว่าเรามีไฟล์ กำหนดค่าอื่นๆ สำหรับ DB หรือไม่ มาเพิ่ม ดาวอีกดวงที่นี่และมาพูดถึงสิ่งใดก็ตาม ที่มี conf อยู่ตอนท้าย เพราะ อาจมีคำต่อท้ายเพิ่มเติม

14:48 สำหรับไฟล์กำหนดค่าฐานข้อมูลเหล่านี้ มา ดำเนินการกันเถอะ และโอเค มีไฟล์ สำรองอีกไฟล์ในโฟลเดอร์แอปพลิเคชันนี้ ที่ดูน่าสงสัย ดังนั้นตอนนี้เรามา สลับไปที่โฟลเดอร์นี้และ ตรวจสอบการกำหนดค่าของเราที่นั่นกัน ตอนนี้ตามที่ฉันได้ บอกไว้ เราไม่จำเป็นต้องสลับไปที่โฟลเดอร์ เพื่อดำเนินการ LS และ Cat และอื่นๆ คำสั่งต่างๆ แต่ถ้าคุณจำเป็นต้องใช้ชื่อไฟล์ มันก็สะดวกดี เพราะคุณ ไม่จำเป็นต้องเขียนเส้นทางทั้งหมด คุณ สามารถใช้ชื่อไฟล์ได้เลย เป็น เรื่องของความสะดวก ดังนั้น ตอนนี้ เราสามารถดูเนื้อหาของ ไฟล์ config ของ DB ได้ แต่ฉันอยากรู้ว่าความ แตกต่างระหว่าง db.com กับ db คืออะไร ข้อเสีย ไฟล์สำรองจึงมี

15:36 คนเปลี่ยนการกำหนดค่า และทำการสำรองข้อมูล ดังนั้นฉันจึงต้องการดูความ แตกต่างที่พวกเขา กำหนดค่าไว้ต่างกัน และเพื่อสิ่งนั้น ฉัน จะใช้คำสั่งชื่อ diff และ ฉันจะเปรียบเทียบ DB conf ทั้งสองนี้ และอีกอย่าง คุณสามารถใช้ ปุ่มชื่อ tab เพื่อเติม ชื่อไฟล์โดยอัตโนมัติ ตัวอย่างเช่น ในไดเร็กทอรี ดังนั้น หากฉันทำ Dot และ คลิกที่ tab ตามลำดับการเติม และอีกครั้ง เท่านี้ก็เรียบร้อยแล้ว ซึ่งจะ สะดวกมาก หาก คุณไม่ต้องการพิมพ์ ชื่อไฟล์ทั้งหมดในคำสั่งของคุณ ดังนั้น มา ดำเนินการและดูความแตกต่างกัน โอเค ดูเหมือนว่าหมายเลขพอร์ตของ ฐานข้อมูลจะเปลี่ยนไปสำหรับแอป พลิเคชัน ดังนั้น นี่คือไฟล์กำหนดค่า

16:23 ที่เรากำลังส่งไปยังแอ ปพลิเคชันของเราเกี่ยวกับวิธีการเชื่อมต่อกับ ฐานข้อมูล และเรากำลังบอกว่าฐานข้อมูลข้อมูล อยู่บนโฮสต์ท้องถิ่นบนพอร์ต 5433 แต่เรารู้ว่าโดยค่าเริ่มต้น ฐานข้อมูล postris ของเรา ควรทำงานบน พอร์ต 5432 ดังนั้น แอปพลิเคชันจึงมี พอร์ตที่ไม่ถูกต้อง และนั่นคือสาเหตุที่ไม่สามารถ เชื่อมต่อกับฐานข้อมูลที่กำลังทำงานอยู่ได้ แน่นอนว่า คำถามต่อไปของเราคือการตรวจสอบว่าฐานข้อมูลกำลัง ทำงานอยู่หรือไม่ และถ้าใช่ กำลัง ทำงานบนนี้หรือไม่ พอร์ตหรือไม่แล้วเราจะ ตรวจสอบได้อย่างไรว่าเราจะตรวจสอบได้อย่างไรว่า บริการสามารถเข้าถึงได้ที่ จุดเฉพาะหรือไม่ พอร์ตดีสำหรับที่มี คำสั่งที่เรียกว่า curl ซึ่งโดยทั่วไปเป็นไคลเอนต์ บรรทัดคำสั่งที่สามารถทำการ ร้องขอ HTP ไปยังบริการเพื่อให้สามารถสร้างการ

17:10 ร้องขอไปยัง เว็บไซต์เช่นนี้เช่นเดียวกับที่คุณ เข้าถึงแอปพลิเคชันจากเบราว์เซอร์คุณสามารถ เข้าถึงแอปพลิเคชันและบริการโดยใช้ curl หรือ C URL ดังนั้นเรามาตรวจสอบว่า ฐานข้อมูลกำลังทำงานบนโฮสต์ท้องถิ่น ซึ่งอยู่บนเครื่องเดียวกับที่เราอยู่ ตอนนี้หรือไม่ดังนั้นให้เราใช้ HTTP โฮสต์ท้องถิ่น 5432 เราถือว่านั่นคือพอร์ตที่ ฐานข้อมูลกำลังทำงานและเราจะ เพิ่มตัวเลือกลบ I ซึ่งโดยทั่วไปแล้วจะ บอกว่าให้ฉันเฉพาะส่วนหัวโดยพื้นฐานแล้ว ข้อมูลเมตาโดยไม่ดาวน์โหลดการ

17:57 ตอบสนองเต็มรูปแบบของบริการดังนั้นให้เราดำเนินการ และนั่นคือ postgressql ตอบสนองบนพอร์ตนี้จริงๆดังนั้นตอนนี้เราได้ ระบุปัญหาแล้วเรารู้ว่า แอปพลิเคชันกำลังพยายามเชื่อมต่อกับ ฐานข้อมูลบนพอร์ตที่ไม่ถูกต้องซึ่งหมายความว่า เราสามารถแก้ไขได้โดยระบุพอร์ตที่ถูกต้อง ในการกำหนดค่าฐานข้อมูลของ แอปพลิเคชันของเราดังนั้นขั้นตอนต่อไปคือการ เปลี่ยนแปลงเราจะ เปลี่ยนเนื้อหาของไฟล์ได้อย่างไรหรือเราจะ แก้ไขไฟล์ได้อย่างไร ใน Linux นั้นเรามี โปรแกรมแก้ไขข้อความบรรทัดคำสั่งที่เรียกว่า vim viim และถ้าเราส่งไฟล์ config ก่อนอื่นเรามาดูกันว่าจะเกิดอะไรขึ้นเมื่อ คุณเห็นอินเทอร์เฟซของโปรแกรมแก้ไขข้อความบรรทัดคำสั่ง

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

19:31 จริงๆ แล้วง่ายมากเมื่อคุณรู้วิธีทำ ให้ กด Escape ก่อน แล้วอย่างที่คุณเห็น ที่นี่จะหายไป จากนั้นคอลัมน์ Q ก็มี เครื่องหมายอัศเจรีย์ และโดยทั่วไปแล้ว ไฟล์จะไม่มีการเปลี่ยนแปลงใด ๆ โดย ไม่พยายามบันทึกการเปลี่ยนแปลงใด ๆ ดังนั้นโดย ทั่วไปคือการยกเลิกโหมดแก้ไขและ กลับไปยังเทอร์มินัล และอย่างที่เรา เห็น ด้วย เอาต์พุตที่ขยาย LSL เรามี ชุดสิทธิ์ไฟล์ที่นี่ ซึ่งเป็น แนวคิดที่สำคัญอีกประการหนึ่งใน Linux และ จริงๆ แล้วมันง่ายมาก Dash แรก ที่คุณเห็นที่นี่แสดงถึงว่า เป็นไฟล์หรือไดเร็กทอรี และหากเป็น ไดเร็กทอรีจะมี D อยู่ที่นี่

20:16 หากเป็นไฟล์จะมีเพียง Dash จากนั้น เรามีสามส่วนสำหรับผู้ใช้สามคนที่แตกต่างกัน และแต่ละรายการเหล่านี้ โดยพื้นฐานแล้วจะระบุว่าไฟล์มี สิทธิ์อ่าน เขียน และดำเนินการหรือไม่ ดังนั้น สิ่งที่เราจะทำคือ สำหรับ ผู้ใช้ root ของเรา เราจะเปลี่ยน สิทธิ์ของไฟล์นี้ และในการ ผลิต สมมติว่าไฟล์ config นี้ ถูกล็อคเพื่อไม่ให้โปรแกรมหรือผู้ใช้เขียน ทับคอนฟิกูเรชันโดยไม่ได้ตั้งใจ ไฟล์จะถูก ตั้งค่าเป็นโหมดอ่านอย่างเดียว ดังนั้นเราจึงสามารถอ่านไฟล์ได้เท่านั้น ซึ่งเรา สามารถทำได้โดย conet เพียงแค่แสดง เนื้อหา แต่ในกรณีนี้ เราต้องการ แก้ไข ดังนั้น เราจะทำอะไรได้ดี เราสามารถ

21:01 เพิ่มสิทธิ์ที่ถูกต้องสำหรับ ผู้ใช้ root ในไฟล์นี้เพื่อให้ผู้ใช้ root สามารถ เขียนลงไปได้ และเพื่อเปลี่ยน สิทธิ์ของไฟล์ใน Linux เรามีคำสั่งที่ เรียกว่า CH mod เพื่อเปลี่ยนโหมดของไฟล์นี้ และ เรากำลังเปลี่ยนสิทธิ์ของ dbon ใน ไฟล์และที่นี่เราสามารถให้ สิทธิ์ใหม่ที่เราต้องการตั้งค่าได้ และเราสามารถ ตั้ง ค่าสิทธิ์ทั้งหมดสำหรับผู้ใช้ Linux กลุ่ม Linux หรือผู้ใช้อื่นๆ ในระบบได้ในคำสั่งเดียว และ จริงๆ แล้วค่อนข้างง่าย ถ้าเราต้องการไม่ อนุญาตเลย ก็จะเป็น 0 0 0 ถ้าเรา ต้องการสิทธิ์อ่านสำหรับ

21:47 ผู้ใช้ทั้งสามคนเท่านั้น ก็จะเป็น 444 สิทธิ์ทั้งหมด รวมถึงเขียน อ่าน ดำเนินการ ก็จะเป็น 777 สมมติว่าเราต้องการสิทธิ์อ่านและเขียน มา ดูกันเลย แล้ว ทุกคนก็มี สิทธิ์อ่าน ตอนนี้ทุกคนมี สิทธิ์ทั้งหมด รวมถึงการเรียกใช้ไฟล์ ซึ่ง จริงๆ แล้วเกี่ยวข้องกับไฟล์ ปฏิบัติการ เช่น สคริปต์ bash และอื่นๆ ลองดู 666 ซึ่ง เป็นสิทธิ์อ่านเขียนสำหรับแต่ละรายการ

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

23:21 คลิกที่ escape และเพื่อปิด ไฟล์หรือตัวแก้ไขและบันทึกการเปลี่ยนแปลง เรา ใช้คอลัมน์และแทนที่จะใช้ Q และ เครื่องหมายอัศเจรีย์ เราพูดว่า write และ quit ดังนั้นสิ่งนี้จะบันทึกการเปลี่ยนแปลงและออกจาก ตัวแก้ไข ดังนั้นตอนนี้ ถ้าเราเลือก dbon คุณจะ เห็นว่าเราได้ทำการเปลี่ยนแปลงที่นี่และ ที่นั่น แสดงว่าเราได้ทำการเปลี่ยนแปลงแล้ว ดังนั้น ตอนนี้ เมื่อเรารีสตาร์ทแอปพลิเคชันของเรา มัน ควรจะสามารถเชื่อมต่อกับ ฐานข้อมูลบนพอร์ตที่ถูกต้องได้ และ คำสั่งสุดท้ายเพื่อออกจาก คอนเทนเนอร์ Docker กลับไปยัง เทอร์มินัลระบบปฏิบัติการของคุณ คุณเพียงแค่พิมพ์

24:08 exit จากนั้นคุณก็ กลับไปที่ Mech OS ของฉัน และถ้าฉันเรียกใช้ชื่อ unix ที่นี่ ฉัน เห็นระบบปฏิบัติการที่ใช้ Darin และ นั่นคือวิธีที่คุณสามารถใช้ชุด คำสั่ง Linux เพื่อแก้ไข ปัญหา ค้นหาไฟล์ในระบบไฟล์ของคุณ นำทางไปรอบๆ ทำการเปลี่ยนแปลง สิทธิ์ของไฟล์และอื่นๆ และเราสามารถ เปลี่ยนสิทธิ์ของไฟล์ของเรา กลับได้ เพื่ออ่านต่อเพื่อล็อคมันลงเพื่อ พูดแบบนี้และคุณก็ทำไปแล้ว แจ้งให้ฉัน ทราบหากวิดีโอนี้มีประโยชน์สำหรับคุณ และอย่าลังเลที่จะแบ่งปันกับ

24:53 เพื่อนหรือเพื่อนร่วมงานหนึ่งคนที่คุณคิดว่าจะได้รับ ประโยชน์จากมัน และด้วยความขอบคุณ และพบกันใหม่ในวิดีโอหน้า

Share

YouTube Video Summaries