30 คำสั่ง Linux ที่เป็นประโยชน์สำหรับผู้ดูแลระบบ
ในบทความนี้ เราจะทบทวนคำสั่ง Linux หรือ Unix ที่มีประโยชน์และใช้บ่อยสำหรับ ผู้ดูแลระบบ Linux ที่ใช้ในชีวิตประจำวัน
การดำเนินการนี้ไม่สมบูรณ์ แต่เป็นรายการคำสั่งสั้นๆ เพื่อใช้อ้างอิงเมื่อจำเป็น เรามาเริ่มกันทีละวิธีว่าเราจะใช้คำสั่งเหล่านั้นพร้อมตัวอย่างได้อย่างไร
1. คำสั่งสถานะการออนไลน์
ในคำสั่ง Linux uptime จะแสดงระยะเวลาที่ระบบของคุณทำงานและจำนวนผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน และยังแสดงค่าเฉลี่ยการโหลดของระบบสำหรับ 1, 5, และ ช่วง 15 นาที
uptime
08:16:26 up 22 min, 1 user, load average: 0.00, 0.03, 0.22
ตรวจสอบเวอร์ชันสถานะการออนไลน์
คำสั่ง เวลาทำงาน ไม่มีตัวเลือกอื่นนอกจาก เวลาทำงาน และ เวอร์ชัน โดยให้ข้อมูลเฉพาะใน ชั่วโมง:นาที:วินาที หากน้อยกว่า 1 วัน
uptime -V
procps version 3.2.8
2. คำสั่ง W
คำสั่ง w จะแสดงผู้ใช้ที่เข้าสู่ระบบในปัจจุบันและกระบวนการของพวกเขาพร้อมกับแสดง ค่าเฉลี่ยการโหลด, ชื่อเข้าสู่ระบบ, ชื่อ tty , โฮสต์ระยะไกล, เวลาเข้าสู่ระบบ, เวลาว่าง, JCPU, PCPU, คำสั่งและกระบวนการต่างๆ
w
08:27:44 up 34 min, 1 user, load average: 0.00, 0.00, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tecmint pts/0 192.168.50.1 07:59 0.00s 0.29s 0.09s w
ตัวเลือกที่มี
- -h : ไม่แสดงรายการส่วนหัว
- -s : ไม่มี JCPU และ PCPU
- -f : ลบออกจากฟิลด์
- -V : (ตัวอักษรบน) – แสดงเวอร์ชัน
3. คำสั่งผู้ใช้
คำสั่ง Users แสดงผู้ใช้ที่เข้าสู่ระบบอยู่ในปัจจุบัน คำสั่งนี้ไม่มีพารามิเตอร์อื่นนอกเหนือจากวิธีใช้และเวอร์ชัน
users
tecmint
4. ใครสั่ง
ผู้ออกคำสั่งเพียงส่งคืน ชื่อผู้ใช้, วันที่, เวลา และ ข้อมูลโฮสต์ who command คล้ายกับคำสั่ง w ต่างจากคำสั่ง w ใคร จะไม่พิมพ์สิ่งที่ผู้ใช้กำลังทำอยู่ มาอธิบายและดูความแตกต่างระหว่างคำสั่ง who และ w กัน
who
tecmint pts/0 2012-09-18 07:59 (192.168.50.1)
w
08:43:58 up 50 min, 1 user, load average: 0.64, 0.18, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tecmint pts/0 192.168.50.1 07:59 0.00s 0.43s 0.10s w
ใครสั่งออปชั่น
- -b: แสดงวันที่และเวลารีบูตระบบครั้งล่าสุด
- -r: แสดง runlet ปัจจุบัน
- -a, –all: แสดงข้อมูลทั้งหมดแบบสะสม
5. คำสั่ง Whoami
ใน Linux คำสั่ง whoami ใช้เพื่อพิมพ์ชื่อผู้ใช้ที่เข้าสู่ระบบในปัจจุบันลงในระบบ Linux ของคุณ หากคุณเข้าสู่ระบบในฐานะรูทโดยใช้คำสั่ง sudo คำสั่ง “whoami” จะส่งกลับ root ในฐานะผู้ใช้ปัจจุบัน
whoami
tecmint
6. คำสั่ง ls
คำสั่ง ls แสดงรายการไฟล์ในรูปแบบที่มนุษย์สามารถอ่านได้
ls -l
total 114
dr-xr-xr-x. 2 root root 4096 Sep 18 08:46 bin
dr-xr-xr-x. 5 root root 1024 Sep 8 15:49 boot
จัดเรียงไฟล์ตามเวลาที่แก้ไขครั้งล่าสุด
ls -ltr
total 40
-rw-r--r--. 1 root root 6546 Sep 17 18:42 install.log.syslog
-rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log
-rw-------. 1 root root 1003 Sep 17 18:45 anaconda-ks.cfg
สำหรับตัวอย่างเพิ่มเติมของ คำสั่ง ls โปรดดูบทความของเรา:
- ตัวอย่างคำสั่ง 10 lsof ใน Linux
- 7 เทคนิคคำสั่ง 'ls' ที่แปลกประหลาดที่ผู้ใช้ Linux ทุกคนควรรู้
- วิธีจัดเรียงเอาต์พุตของคำสั่ง 'ls' ตามวันที่และเวลาที่แก้ไขล่าสุด
7. คำสั่ง Crontab
แสดงรายการงานกำหนดเวลาสำหรับผู้ใช้ปัจจุบันด้วยคำสั่ง crontab และตัวเลือก -l
crontab -l
00 10 * * * /bin/ls >/ls.txt
แก้ไข crontab ของคุณด้วยตัวเลือก -e
ในตัวอย่างด้านล่างนี้จะเปิดงานตามกำหนดเวลาใน ตัวแก้ไข VI ทำการเปลี่ยนแปลงที่จำเป็นและออกจากการกดปุ่ม :wq
ซึ่งจะบันทึกการตั้งค่าโดยอัตโนมัติ
crontab -e
สำหรับตัวอย่างเพิ่มเติมของ คำสั่ง Linux Cron โปรดอ่านบทความก่อนหน้านี้ของเรา:
- 11 ตัวอย่างงาน Cron Scheduling ใน Linux
- วิธีสร้างและจัดการงาน Cron บน Linux
8. คำสั่งน้อยลง
คำสั่ง less ช่วยให้ดูไฟล์ได้อย่างรวดเร็ว คุณสามารถเลื่อนหน้าขึ้นและลงได้ กด 'q
' เพื่อออกจากหน้าต่างที่น้อยลง
less install.log
Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
9. คำสั่งเพิ่มเติม
คำสั่ง เพิ่มเติม ช่วยให้ดูไฟล์ได้อย่างรวดเร็วและแสดงรายละเอียดเป็นเปอร์เซ็นต์ คุณสามารถเลื่อนหน้าขึ้นและลงได้ กด 'q
' เพื่อออกจากหน้าต่างเพิ่มเติม
more install.log
Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
--More--(10%)
10. คำสั่งซีพี
คำสั่ง cp คัดลอกไฟล์จากต้นทางไปยังปลายทางโดยคงโหมดเดิมไว้
cp -p fileA fileB
คุณจะได้รับแจ้งก่อนที่จะเขียนทับไฟล์
cp -i fileA fileB
11. คำสั่งเอ็มวี
คำสั่ง mv เปลี่ยนชื่อ fileA เป็น fileB โดยใช้ตัวเลือก -i ซึ่งจะแจ้งการยืนยันก่อนที่จะเขียนทับ ขอคำยืนยันว่ามีอยู่แล้ว
mv -i fileA fileB
12. คำสั่งแมว
คำสั่ง cat ใช้เพื่อดูไฟล์หลายไฟล์พร้อมกัน
cat fileA fileB
คุณรวมคำสั่ง เพิ่มเติม และ น้อยลง เข้ากับคำสั่ง cat เพื่อดูไฟล์ที่มีหากไม่พอดีกับหน้าจอ/หน้าเดียว
cat install.log | less
# cat install.log | more
สำหรับตัวอย่างเพิ่มเติมของ Linux คำสั่ง cat อ่านบทความของเราเกี่ยวกับตัวอย่างคำสั่ง Cat พื้นฐาน 13 ตัวอย่างใน Linux
13. คำสั่ง cd (เปลี่ยนไดเร็กทอรี)
ด้วยคำสั่ง cd (เปลี่ยนไดเร็กทอรีหรือสวิตช์ไดเร็กทอรี) มันจะไปที่ไดเร็กทอรี fileA
cd /fileA
14. คำสั่ง pwd (ไดเร็กทอรีการทำงานการพิมพ์)
คำสั่ง pwd ส่งคืนพร้อมกับไดเร็กทอรีการทำงานปัจจุบัน
pwd
/root
15. คำสั่งเรียงลำดับ
คำสั่ง sort ใช้เพื่อเรียงลำดับบรรทัดของไฟล์ข้อความจากน้อยไปหามาก ด้วยตัวเลือก -r
จะเรียงลำดับจากมากไปน้อย
sort fileA.txt
# sort -r fileA.txt
16. คำสั่งที่หก
Vi คือโปรแกรมแก้ไขข้อความที่ได้รับความนิยมมากที่สุดในระบบปฏิบัติการที่คล้ายกับ UNIX ส่วนใหญ่ ตัวอย่างด้านล่างเปิดไฟล์ในรูปแบบอ่านอย่างเดียวด้วยตัวเลือก -R
กด ':q
' เพื่อออกจากหน้าต่าง vi
vi -R /etc/shadows
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ เครื่องมือแก้ไข vi โปรดอ่านบทความของเรา:
- เรียนรู้เคล็ดลับและเทคนิคตัวแก้ไข 'Vi/Vim' ที่เป็นประโยชน์
- 8 เคล็ดลับและเทคนิคการแก้ไข 'Vi/Vim' ที่น่าสนใจสำหรับผู้ดูแลระบบ Linux ทุกคน
- วิธีการติดตั้ง Vim Editor ล่าสุดในระบบ Linux
17. คำสั่ง SSH (Secure Shell)
คำสั่ง SSH ใช้เพื่อเข้าสู่ระบบโฮสต์ระยะไกล ตัวอย่างเช่น คำสั่ง ssh ด้านล่างจะเชื่อมต่อกับโฮสต์ระยะไกล (192.168.50.2) โดยใช้ผู้ใช้เป็น Narad
ssh [email
หากต้องการตรวจสอบเวอร์ชันของ ssh ให้ใช้ตัวเลือก -V
(ตัวพิมพ์ใหญ่) เพื่อแสดงเวอร์ชันของ ssh
ssh -V
OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ SSH โปรดอ่านบทความของเรา:
- วิธีรักษาความปลอดภัยและทำให้เซิร์ฟเวอร์ OpenSSH แข็งแกร่งขึ้น
- วิธีการตั้งค่าแบนเนอร์คำเตือน SSH แบบกำหนดเองและ MOTD ใน Linux
- วิธีตั้งค่าการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH ใน Linux [3 ขั้นตอนง่ายๆ]
18. คำสั่ง Ftp หรือ sftp
คำสั่ง ftp หรือ sftp ใช้เพื่อเชื่อมต่อกับโฮสต์ ftp ระยะไกล ftp คือ (โปรโตคอลการถ่ายโอนไฟล์) และ sftp คือ (โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย) ตัวอย่างเช่น คำสั่งด้านล่างจะเชื่อมต่อกับโฮสต์ ftp (192.168.50.2)
ftp 192.168.50.2
# sftp 192.168.50.2
การวางหลายไฟล์ไว้ในโฮสต์ระยะไกลด้วย mput ในทำนองเดียวกัน เราสามารถ mget เพื่อดาวน์โหลดไฟล์หลายไฟล์จากโฮสต์ระยะไกลได้
ftp > mput *.txt
# ftp > mget *.txt
19. คำสั่ง Systemctl
คำสั่ง Systemctl เป็นเครื่องมือการจัดการ systemd ที่ใช้ในการจัดการบริการ ตรวจสอบสถานะการทำงาน เริ่มต้นและเปิดใช้งานบริการ และทำงานกับไฟล์การกำหนดค่า
systemctl start httpd.service
systemctl enable httpd.service
systemctl status httpd.service
20. คำสั่งฟรี
คำสั่ง free จะแสดงข้อมูล ว่าง, ทั้งหมด และ หน่วยความจำสลับ เป็นไบต์
free
total used free shared buffers cached
Mem: 1030800 735944 294856 0 51648 547696
-/+ buffers/cache: 136600 894200
Swap: 2064376 0 2064376
ฟรีด้วยตัวเลือก -t
จะแสดง หน่วยความจำทั้งหมด ที่ใช้และพร้อมใช้งานในหน่วยไบต์
free -t
total used free shared buffers cached
Mem: 1030800 736096 294704 0 51720 547704
-/+ buffers/cache: 136672 894128
Swap: 2064376 0 2064376
Total: 3095176 736096 2359080
21. คำสั่งสูงสุด
คำสั่งด้านบนแสดงกิจกรรมตัวประมวลผลของระบบของคุณและยังแสดงงานที่จัดการโดยเคอร์เนลแบบเรียลไทม์ จะแสดงโปรเซสเซอร์และหน่วยความจำกำลังใช้งานอยู่
การใช้คำสั่งบนสุดด้วย u
ตัวเลือกจะแสดงรายละเอียดกระบวนการของผู้ใช้เฉพาะดังที่แสดงด้านล่าง กด 'O
' (ตัวพิมพ์ใหญ่) เพื่อจัดเรียงตามที่คุณต้องการ กด 'q
' เพื่อออกจากหน้าจอด้านบน
top -u tecmint
top - 11:13:11 up 3:19, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1030800k total, 736188k used, 294612k free, 51760k buffers
Swap: 2064376k total, 0k used, 2064376k free, 547704k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1889 tecmint 20 0 11468 1648 920 S 0.0 0.2 0:00.59 sshd
1890 tecmint 20 0 5124 1668 1416 S 0.0 0.2 0:00.44 bash
6698 tecmint 20 0 11600 1668 924 S 0.0 0.2 0:01.19 sshd
6699 tecmint 20 0 5124 1596 1352 S 0.0 0.2 0:00.11 bash
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ top command เราได้รวบรวมรายการตัวอย่างคำสั่ง TOP 12 รายการใน Linux ไว้แล้ว
22. คำสั่งทาร์
คำสั่ง tar ใช้เพื่อบีบอัดไฟล์และโฟลเดอร์ใน Linux ตัวอย่างเช่น คำสั่งด้านล่างจะสร้างไฟล์เก็บถาวรสำหรับไดเรกทอรี /home ด้วยชื่อไฟล์ archive-name.tar
tar -cvf archive-name.tar /home
หากต้องการแตกไฟล์เก็บถาวร tar ให้ใช้ตัวเลือกดังต่อไปนี้
tar -xvf archive-name.tar
เพื่อทำความเข้าใจเพิ่มเติมเกี่ยวกับ คำสั่ง tar เราได้สร้างคำแนะนำวิธีใช้เกี่ยวกับคำสั่ง tar ฉบับสมบูรณ์ที่ 18 ตัวอย่างคำสั่ง Tar ใน Linux
23. คำสั่ง Grep
คำสั่ง grep ค้นหาสตริงที่กำหนดในไฟล์ เฉพาะผู้ใช้ tecmint เท่านั้นที่แสดงจากไฟล์ /etc/passwd เราสามารถใช้ตัวเลือก -i
เพื่อละเว้นความละเอียดอ่อนของตัวพิมพ์
grep tecmint /etc/passwd
tecmint:x:500:500::/home/tecmint:/bin/bash
24. ค้นหาคำสั่ง
ค้นหาคำสั่งที่ใช้ค้นหา ไฟล์, สตริง และ ไดเร็กทอรี ตัวอย่างด้านล่างของคำสั่ง find ค้นหาคำ tecmint ในพาร์ติชัน '/' และส่งคืนเอาต์พุต
find / -name tecmint
/var/spool/mail/tecmint
/home/tecmint
/root/home/tecmint
หากต้องการคำแนะนำฉบับสมบูรณ์เกี่ยวกับตัวอย่าง Linux find command โปรดดูที่ 35 ตัวอย่างการใช้งานจริงของ Linux Find Command
25. คำสั่ง lsof
lsof หมายถึงรายการไฟล์ที่เปิดอยู่ทั้งหมด ด้านล่างของรายการคำสั่งของไฟล์ที่เปิดอยู่ทั้งหมดโดยผู้ใช้ tecmint
lsof -u tecmint
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1889 tecmint cwd DIR 253,0 4096 2 /
sshd 1889 tecmint txt REG 253,0 532336 298069 /usr/sbin/sshd
sshd 1889 tecmint DEL REG 253,0 412940 /lib/libcom_err.so.2.1
sshd 1889 tecmint DEL REG 253,0 393156 /lib/ld-2.12.so
sshd 1889 tecmint DEL REG 253,0 298643 /usr/lib/libcrypto.so.1.0.0
sshd 1889 tecmint DEL REG 253,0 393173 /lib/libnsl-2.12.so
sshd 1889 tecmint DEL REG 253,0 412937 /lib/libkrb5support.so.0.1
sshd 1889 tecmint DEL REG 253,0 412961 /lib/libplc4.so
หากต้องการดูตัวอย่างคำสั่ง lsof เพิ่มเติม โปรดไปที่ตัวอย่างคำสั่ง 10 lsof ใน Linux
26.คำสั่งสุดท้าย
ด้วยคำสั่งสุดท้ายเราสามารถดูกิจกรรมของผู้ใช้ในระบบได้ คำสั่งนี้สามารถดำเนินการกับผู้ใช้ปกติได้เช่นกัน มันจะแสดงข้อมูลผู้ใช้ที่สมบูรณ์ เช่น เทอร์มินัล, เวลา, วันที่, การรีบูตระบบ หรือ การบูต,< และ เวอร์ชันเคอร์เนล คำสั่งที่เป็นประโยชน์ในการแก้ไขปัญหา
last
tecmint pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in
tecmint pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in
reboot system boot 2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38 (03:43)
root pts/1 192.168.50.1 Sun Sep 16 10:40 - down (03:53)
root pts/0 :0.0 Sun Sep 16 10:36 - 13:09 (02:32)
root tty1 :0 Sun Sep 16 10:07 - down (04:26)
reboot system boot 2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33 (04:35)
narad pts/2 192.168.50.1 Thu Sep 13 08:07 - down (01:15)
คุณสามารถใช้ สุดท้าย กับ ชื่อผู้ใช้ เพื่อทราบกิจกรรมของผู้ใช้รายใดรายหนึ่งดังที่แสดงด้านล่าง
last tecmint
tecmint pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in
tecmint pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in
tecmint pts/1 192.168.50.1 Thu Sep 13 08:07 - down (01:15)
tecmint pts/4 192.168.50.1 Wed Sep 12 10:12 - 12:29 (02:17)
27.คำสั่ง PS
คำสั่ง ps แสดงกระบวนการที่ทำงานอยู่ในระบบ ตัวอย่างด้านล่างแสดง init เพื่อประมวลผลเท่านั้น
ps -ef | grep init
root 1 0 0 07:53 ? 00:00:04 /sbin/init
root 7508 6825 0 11:48 pts/1 00:00:00 grep init
28. คำสั่งฆ่า
ใช้คำสั่ง kill เพื่อยุติกระบวนการ ขั้นแรก ค้นหากระบวนการ id ด้วยคำสั่ง ps ดังที่แสดงด้านล่าง และฆ่ากระบวนการด้วยคำสั่ง kill -9
ps -ef | grep init
root 1 0 0 07:53 ? 00:00:04 /sbin/init
root 7508 6825 0 11:48 pts/1 00:00:00 grep init
# kill- 9 7508
29.คำสั่ง rm
คำสั่ง rm ใช้เพื่อลบหรือลบไฟล์โดยไม่แจ้งให้ยืนยัน
rm filename
ใช้ตัวเลือก -i เพื่อได้รับการยืนยันก่อนที่จะลบออก การใช้ตัวเลือก '-r' และ '-f' จะลบไฟล์ออกโดยไม่ได้รับการยืนยัน
rm -i test.txt
rm: remove regular file `test.txt'?
30. ตัวอย่างคำสั่ง mkdir
คำสั่ง mkdir ใช้เพื่อสร้างไดเร็กทอรีบน Linux
mkdir directoryname
นี่เป็นคำสั่งพื้นฐานที่มีประโยชน์ในแต่ละวันในระบบปฏิบัติการ Linux/Unix กรุณาแบ่งปันผ่านช่องแสดงความคิดเห็นของเราหากเราพลาด