systemctl: 12 คำสั่งที่เชี่ยวชาญ Linux 🚀
คำสั่ง systemctl มีคุณลักษณะหลายประการที่มักมองข้ามไป นอกจากการเริ่มและหยุดบริการใน Linux แล้ว คุณยังสามารถแสดงรายการบริการที่ติดตั้งและตรวจสอบสถานะของบริการเหล่านั้นได้อีกด้วย มารีวิวกันสักหน่อยดีกว่า!
คำสั่ง Systemctl คืออะไร?
คำสั่ง ระบบซีทีแอล es la herramienta central de gestión del sistema init systemd, conocida principalmente como la herramienta que se usa para iniciar y detener servicios. Pero hay mucho más, como lo demuestra su หน้าคู่มือ ซึ่งมีมากกว่า 1,600 เส้น.
เช่น ระบบซีทีแอล es una herramienta de gestión, no solo un lanzador de servicios, podés usarla para acceder a información útil sobre tu sistema y sus servicios systemd. 💻
ระบบปฏิบัติการ Linux ส่วนใหญ่ได้นำเอา systemd มาใช้ แต่บางส่วนก็เลือกที่จะคงไว้ซึ่งระบบ SystemV init แบบดั้งเดิม หากคุณไม่แน่ใจว่าการกระจายของคุณใช้แบบใด คุณสามารถค้นหาได้ง่ายๆ เราจะใช้คำสั่ง stat เพื่อดูไฟล์ init
สถิติ /sbin/เริ่มต้น 
ไฟล์ปฏิบัติการ /sbin/init เป็นกระบวนการแรกที่เปิดตัวในการแจกจ่ายที่ใช้ SystemV ในการแจกแจงที่ใช้ systemd ลิงก์สัญลักษณ์ที่มีชื่อนั้นจะชี้ไปที่ systemd
บรรทัดแรกของผลลัพธ์แสดงให้เราเห็นว่าในเครื่องทดสอบ Ubuntu นี้ /sbin/init เป็นลิงก์สัญลักษณ์ไปยังไฟล์ /lib/systemd/systemd เห็นได้ชัดว่าการติดตั้ง Linux นี้ใช้ systemd หากเป็นการแจกแจงที่ใช้ SystemV บรรทัดจะมีเพียง "File: /sbin/init" เท่านั้น
บริการการสอบถามด้วย systemctl
บริการถูกกำหนดไว้ในไฟล์หน่วย และคุณจะเห็นคำว่า unit กระจายอยู่ในตัวเลือก systemctl ตัวอย่างเช่น เราสามารถรับรายการบริการโดยใช้คำสั่ง list-units โดยใช้ตัวเลือก –type
ระบบซีทีแอล รายการ-หน่วย --ประเภท=บริการ
ผลลัพธ์จะแสดงในโปรแกรมดูไฟล์ขนาดเล็ก ทำให้คุณสามารถนำทางและใช้ปุ่ม / เพื่อค้นหาได้
- หน่วย: ชื่อไฟล์หน่วย
- พก:หากไฟล์หน่วยบริการถูกอ่านเข้าไปในหน่วยความจำโดยไม่มีข้อผิดพลาดทางไวยากรณ์ คอลัมน์นี้จะมีคำว่า "โหลด" นี้ไม่ได้หมายความว่าบริการยังเปิดใช้งานอยู่
- สินทรัพย์:ภาพรวมว่าบริการกำลังเปิดใช้งานอยู่หรือไม่ บริการที่ใช้งานอยู่อาจไม่ได้ทำงานอยู่
- ซับมุมมองโดยละเอียดมากขึ้นว่าบริการกำลังทำงานอยู่หรือไม่ ตัวอย่างเช่น บริการที่ใช้งานอยู่อาจได้รับการกำหนดเวลาไว้ และอาจออกจากการทำงานครั้งล่าสุด
- คำอธิบาย: บรรทัดข้อความที่ใช้เพื่อระบุหรืออธิบายบริการ
จอแสดงผลรวมเฉพาะบริการที่ใช้งานอยู่เท่านั้น เพื่อดูบริการทั้งหมด เราจำเป็นต้องใส่ตัวเลือก –all
ระบบซีทีแอล รายการ-หน่วย --ทั้งหมด --ประเภท=บริการ
หากการดูทุกอย่างดูมากเกินไป เราสามารถกรองเอาต์พุตด้วยตัวเลือก –state
ระบบซีทีแอล รายการ-หน่วย --ประเภท=บริการ --สถานะ=กำลังทำงาน
ตัวเลือกสถานะจะยอมรับการทำงาน หยุด เปิดใช้งาน ปิดใช้งาน และล้มเหลว
หากต้องการเน้นที่บริการที่ล้มเหลว ให้ใช้ตัวเลือก –failed
ระบบซีทีแอล รายการ-หน่วย--ล้มเหลว
ไม่มีไดรฟ์ที่ล้มเหลวบนคอมพิวเตอร์เครื่องนี้
หากคุณเห็นบริการใดๆ ที่ล้มเหลว ให้ใช้ตัวเลือก list-dependencies เพื่อตรวจสอบการอ้างอิงที่ไม่เป็นไปตามข้อกำหนด
ระบบซีทีแอล รายการ-การอ้างอิง sshd.service
การอ้างอิงจะมีวงกลมสีที่แสดงสถานะ อาจจะเป็น:
- วงกลมสีขาว: ไม่ได้ใช้งานหรืออยู่ระหว่างการบำรุงรักษา
- จุดสีเขียว: สินทรัพย์.
- ไวท์พอยต์: การปิดใช้งาน
- จุดสีแดง: ล้มเหลว หรือ มีข้อผิดพลาด.
ในการตรวจสอบว่ามีการเปิดใช้งานบริการเดียวหรือไม่ ให้ใช้คำสั่ง is-enabled และระบุชื่อไฟล์หน่วยของบริการ
ระบบซีทีแอล เอส-เปิดใช้งาน htg-example.service
การควบคุมบริการด้วย systemctl
การใช้ systemctl ในการจัดการบริการเป็นเรื่องง่ายมากและเป็นไปตามรูปแบบของคำสั่งที่เราได้เห็นมาจนถึงตอนนี้ ความแตกต่างที่ใหญ่ที่สุดคือคุณจะต้องใช้ sudo เพื่อทำการเปลี่ยนแปลงสถานะบริการ เราไม่ได้ทำเช่นนั้นจนถึงตอนนี้ เพราะเราเพียงรายงานสถานะของบริการเท่านั้น
หากต้องการเริ่มบริการ ให้ใช้คำสั่งเริ่มต้นตามด้วยชื่อบริการ
เหงื่อ ระบบซีทีแอล เริ่ม ตัวอย่าง htg.บริการ
หากทุกอย่างเป็นไปด้วยดี คุณจะถูกส่งกลับไปที่พรอมต์คำสั่งโดยไม่แจ้งเตือน หากคุณต้องการรับคำยืนยันเชิงบวก คุณสามารถยืนยันได้ด้วยคำสั่งสถานะ
เหงื่อ ระบบซีทีแอล สถานะ ตัวอย่าง htg.บริการ
การหยุดบริการนั้นง่ายเช่นเดียวกับการเริ่มต้นบริการ
เหงื่อ ระบบซีทีแอล หยุด ตัวอย่าง htg.บริการ
คุณสามารถเริ่มบริการใหม่ได้โดยไม่ต้องผ่านกระบวนการสองขั้นตอนของการหยุดแล้วเริ่มใหม่ เขา คำสั่งรีสตาร์ท ทำทุกอย่างเพื่อคุณ
เหงื่อ ระบบซีทีแอล เริ่มใหม่อีกครั้ง ตัวอย่าง htg.บริการ
หากคุณต้องการให้บริการเริ่มทำงานเมื่อบูต คุณจะต้องเปิดใช้งานเสียก่อน
เหงื่อ ระบบซีทีแอล เปิดใช้งาน ตัวอย่าง htg.บริการ
โปรดทราบว่าการดำเนินการนี้จะทำเครื่องหมายเฉพาะบริการให้เริ่มทำงานเมื่อบูตเท่านั้น ไม่ได้เริ่มการทำงานทันที หากนั่นคือสิ่งที่คุณต้องการ ฉันได้เพิ่มตัวเลือก –now ไว้แล้ว
เหงื่อ ระบบซีทีแอล เปิดใช้งาน --ตอนนี้ ตัวอย่าง htg.บริการ
เมื่อคุณไม่ต้องการบริการเพื่อเริ่มต้นเมื่อบูตอีกต่อไป ให้ปิดการใช้งาน
เหงื่อ ระบบซีทีแอล ปิดการใช้งาน ตัวอย่าง htg.บริการ
คุณสามารถใช้คำสั่ง journalctl ซึ่งเป็นส่วนหนึ่งของ systemd เพื่อค้นหารายการที่เกี่ยวข้องกับบริการของคุณ ตัวเลือก -u (หน่วย) ช่วยให้คุณระบุบริการที่คุณสนใจได้ ส่วนตัวเลือก -S (ตั้งแต่) ช่วยให้คุณแสดงรายการที่เกิดขึ้นตั้งแต่เวลาที่คุณระบุ
วารสารซีทีแอล -ส "08:00:00" -หรือ ตัวอย่าง htg.บริการ
เครื่องมือใดๆ ที่ช่วยคุณ รับข้อมูลเกี่ยวกับการดำเนินการ ส่วนประกอบภายในของการแจกจ่าย Linux ของคุณจะมีคุณค่าอย่างยิ่ง ทั้งในการบริหารจัดการในแต่ละวัน และในการแก้ไขปัญหาและการวินิจฉัยปัญหา คำสั่ง systemctl ไม่ใช่เครื่องมือตัวเดียว มันเหมือนกล่องเครื่องมือเฉพาะทางมากกว่า และคุ้มค่าแก่การทำความคุ้นเคย




















