คำสั่งพื้นฐานของ CentOS Linux
ก่อนที่จะเรียนรู้เครื่องมือของผู้ดูแลระบบ CentOS Linux สิ่งสำคัญคือต้องสังเกตปรัชญาที่อยู่เบื้องหลังบรรทัดคำสั่งการดูแลระบบ Linux
Linux ได้รับการออกแบบตามปรัชญาของ Unix ที่ว่า“ เครื่องมือขนาดเล็กและแม่นยำที่เชื่อมโยงเข้าด้วยกันทำให้งานขนาดใหญ่ง่ายขึ้น” Linux ที่รูทไม่มีแอพพลิเคชั่นจุดประสงค์เดียวขนาดใหญ่สำหรับการใช้งานเฉพาะครั้งเดียวเป็นจำนวนมาก มียูทิลิตี้พื้นฐานหลายร้อยรายการที่เมื่อรวมเข้าด้วยกันแล้วจะช่วยให้ทำงานใหญ่ ๆ ได้อย่างมีประสิทธิภาพ
ตัวอย่างของปรัชญา Linux
ตัวอย่างเช่นหากผู้ดูแลระบบต้องการรายชื่อผู้ใช้ปัจจุบันทั้งหมดในระบบสามารถใช้คำสั่งที่ถูกล่ามโซ่ต่อไปนี้เพื่อรับรายชื่อผู้ใช้ระบบทั้งหมด ในการดำเนินการคำสั่งผู้ใช้ที่อยู่ในระบบจะแสดงรายการตามลำดับตัวอักษร
[root@centosLocal centos]# cut /etc/passwd -d":" -f1 | sort
abrt
adm
avahi
bin
centos
chrony
colord
daemon
dbus
ง่ายต่อการส่งออกรายการนี้เป็นไฟล์ข้อความโดยใช้คำสั่งต่อไปนี้
[root@localhost /]# cut /etc/passwd -d ":" -f1 > system_users.txt
[root@localhost /]# cat ./system_users.txt | sort | wc –l
40
[root@localhost /]#
นอกจากนี้ยังสามารถเปรียบเทียบรายชื่อผู้ใช้กับการส่งออกในภายหลังได้
[root@centosLocal centos]# cut /etc/passwd -d ":" -f1 > system_users002.txt &&
cat system_users002.txt | sort | wc -l
41
[root@centosLocal centos]# diff ./system_users.txt ./system_users002.txt
evilBackdoor [root@centosLocal centos]#
ด้วยวิธีการของเครื่องมือขนาดเล็กที่ถูกผูกมัดเพื่อทำงานใหญ่ให้สำเร็จการสร้างสคริปต์ที่ดำเนินการคำสั่งเหล่านี้จะง่ายกว่าการส่งอีเมลผลลัพธ์โดยอัตโนมัติในช่วงเวลาปกติ
คำสั่งพื้นฐานผู้ดูแลระบบ Linux ทุกคนควรมีความเชี่ยวชาญ ได้แก่ -
- vim
- grep
- มากขึ้นและน้อยลง
- tail
- head
- wc
- sort
- uniq
- tee
- cat
- cut
- sed
- tr
- paste
ในโลกของ Linux ผู้ดูแลระบบใช้ filteringคำสั่งทุกวันเพื่อแยกวิเคราะห์บันทึกเอาต์พุตคำสั่งกรองและดำเนินการกับเชลล์สคริปต์แบบโต้ตอบ ดังที่ได้กล่าวไปแล้วพลังของคำสั่งเหล่านี้มาจากความสามารถในการปรับเปลี่ยนซึ่งกันและกันผ่านกระบวนการที่เรียกว่าpiping.
คำสั่งต่อไปนี้แสดงจำนวนคำที่ขึ้นต้นด้วยตัวอักษร a จากพจนานุกรมผู้ใช้หลักของ CentOS
[root@centosLocal ~]# egrep '^a.*$' /usr/share/dict/words | wc -l
25192
[root@centosLocal ~]#