50 คำสั่ง Linux พร้อมคำอธิบายและตัวอย่างประกอบ

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

บทความนี้ได้รวบรวม 50 คำสั่ง Linux ที่จำเป็น พร้อมคำอธิบายและตัวอย่างการใช้งาน โดยอ้างอิงการทำงานบน Ubuntu Linux

50 คำสั่ง Linux พร้อมคำอธิบายและตัวอย่างประกอบ

1. ls - แสดงรายการไฟล์และโฟลเดอร์

แสดงรายการไฟล์และโฟลเดอร์ในไดเรกทอรี

ls                    # แสดงรายการไฟล์และโฟลเดอร์
ls -l                 # แสดงรายละเอียดแบบยาว
ls -la                # แสดงไฟล์ซ่อนด้วย
ls -lh                # แสดงขนาดไฟล์ในรูปแบบอ่านง่าย

2. pwd - แสดงตำแหน่งไดเรกทอรีปัจจุบัน

แสดงเส้นทางของไดเรกทอรีที่อยู่ในปัจจุบัน

pwd                   # แสดงเส้นทางปัจจุบัน
# ผลลัพธ์: /home/username/Documents

3. cd - เปลี่ยนไดเรกทอรี

เปลี่ยนตำแหน่งไดเรกทอรีการทำงาน

cd /home/user         # ไปยังไดเรกทอรีที่กำหนด
cd ..                 # กลับไปไดเรกทอรีก่อนหน้า
cd ~                  # กลับไปโฮมไดเรกทอรี
cd -                  # กลับไปไดเรกทอรีล่าสุดที่เคยเข้า

4. mkdir - สร้างไดเรกทอรี

สร้างโฟลเดอร์ใหม่

mkdir myfolder        # สร้างโฟลเดอร์ชื่อ myfolder
mkdir -p path/to/new/folder  # สร้างโฟลเดอร์หลายระดับ
mkdir folder1 folder2 folder3  # สร้างหลายโฟลเดอร์พร้อมกัน

5. mv - ย้ายหรือเปลี่ยนชื่อไฟล์

ย้ายไฟล์หรือเปลี่ยนชื่อไฟล์

mv oldname.txt newname.txt     # เปลี่ยนชื่อไฟล์
mv file.txt /path/to/destination/  # ย้ายไฟล์
mv *.txt documents/            # ย้ายไฟล์ทุกตัวที่ลงท้าย .txt

6. cp - คัดลอกไฟล์

คัดลอกไฟล์หรือโฟลเดอร์

cp source.txt destination.txt  # คัดลอกไฟล์
cp -r folder1 folder2         # คัดลอกโฟลเดอร์และเนื้อหา
cp *.jpg backup/              # คัดลอกไฟล์ภาพทั้งหมด

7. rm - ลบไฟล์

ลบไฟล์หรือโฟลเดอร์

rm file.txt           # ลบไฟล์
rm -r folder          # ลบโฟลเดอร์และเนื้อหา
rm -rf folder         # ลบโฟลเดอร์โดยไม่ถามยืนยัน
rm *.log              # ลบไฟล์ทุกตัวที่ลงท้าย .log

8. touch - สร้างไฟล์เปล่า

สร้างไฟล์เปล่าใหม่หรืออัพเดตเวลาแก้ไขไฟล์

touch newfile.txt     # สร้างไฟล์เปล่า
touch file1.txt file2.txt file3.txt  # สร้างหลายไฟล์
touch -t 202301011200 file.txt  # กำหนดเวลาแก้ไข

9. ln - สร้างลิงค์

สร้างลิงค์ไปยังไฟล์หรือโฟลเดอร์

ln -s /path/to/file linkname   # สร้าง symbolic link
ln file.txt hardlink.txt       # สร้าง hard link
ln -sf /new/path linkname      # อัพเดต symbolic link

10. clear - เคลียร์หน้าจอ

ล้างหน้าจอเทอร์มินัล

clear                 # เคลียร์หน้าจอ
# หรือใช้ Ctrl+L

11. cat - แสดงเนื้อหาไฟล์

แสดงเนื้อหาไฟล์ทั้งหมด

cat file.txt          # แสดงเนื้อหาไฟล์
cat file1.txt file2.txt  # แสดงหลายไฟล์
cat > newfile.txt     # สร้างไฟล์ใหม่และป้อนข้อมูล
cat file.txt | grep "search"  # ค้นหาข้อความในไฟล์

12. echo - แสดงข้อความ

แสดงข้อความหรือตัวแปร

echo "Hello World"      # แสดงข้อความ
echo $HOME              # แสดงค่าตัวแปร
echo "text" > file.txt  # เขียนข้อความลงไฟล์
echo "text" >> file.txt # เพิ่มข้อความต่อท้ายไฟล์

13. less - แสดงเนื้อหาไฟล์แบบหน้าต่อหน้า

แสดงเนื้อหาไฟล์แบบเลื่อนดูได้

less file.txt         # เปิดไฟล์ในโหมด less
less +G file.txt      # เปิดไฟล์และไปยังบรรทัดสุดท้าย
# ใช้ q เพื่อออก, /text เพื่อค้นหา

14. man - แสดงคู่มือคำสั่ง

แสดงคู่มือการใช้งานคำสั่ง

man ls                # ดูคู่มือคำสั่ง ls
man -k keyword        # ค้นหาคำสั่งที่เกี่ยวข้อง
man 5 passwd          # ดูคู่มือของไฟล์ passwd

15. uname - แสดงข้อมูลระบบ

แสดงข้อมูลเกี่ยวกับระบบ

uname                 # แสดงชื่อระบบ
uname -a              # แสดงข้อมูลระบบทั้งหมด
uname -r              # แสดงเวอร์ชั่น kernel
uname -m              # แสดงสถาปัตยกรรมเครื่อง

16. whoami - แสดงชื่อผู้ใช้ปัจจุบัน

แสดงชื่อผู้ใช้ที่ล็อกอินอยู่

whoami                # แสดงชื่อผู้ใช้ปัจจุบัน
id                    # แสดงข้อมูลผู้ใช้และกลุ่ม
who                   # แสดงผู้ใช้ที่ล็อกอินทั้งหมด

17. tar - บีบอัดและแตกไฟล์

จัดการไฟล์บีบอัด tar

tar -czf archive.tar.gz folder/  # บีบอัดโฟลเดอร์ -c ใช้ gzip -z โดยกำหนดชื่อไฟล์ใหม่ -f
tar -czfv archive.tar.gz folder/ # แสดงรายละเอียดขณะทำงาน -v
tar -tzf archive.tar.gz          # ดูรายการไฟล์ในไฟล์บีบอัด -t
tar -xzf archive.tar.gz          # แตกไฟล์บีบอัด -x
tar -xzf archive.tar.gz -C /destination/  # แตกไปยังโฟลเดอร์ที่กำหนด -C

18. grep - ค้นหาข้อความ

ค้นหาข้อความในไฟล์

grep "pattern" file.txt        # ค้นหาข้อความในไฟล์
grep -r "pattern" directory/   # ค้นหาในโฟลเดอร์
grep -i "pattern" file.txt     # ค้นหาโดยไม่สนใจตัวพิมพ์เล็กใหญ่
grep -n "pattern" file.txt     # แสดงหมายเลขบรรทัด

19. head - แสดงบรรทัดแรกของไฟล์

แสดงบรรทัดแรกของไฟล์

head file.txt         # แสดง 10 บรรทัดแรก
head -n 5 file.txt    # แสดง 5 บรรทัดแรก
head -c 100 file.txt  # แสดง 100 ตัวอักษรแรก

20. tail - แสดงบรรทัดสุดท้ายของไฟล์

แสดงบรรทัดสุดท้ายของไฟล์

tail file.txt         # แสดง 10 บรรทัดสุดท้าย
tail -n 20 file.txt   # แสดง 20 บรรทัดสุดท้าย
tail -f /var/log/syslog  # ติดตามไฟล์ log แบบ real-time

21. diff - เปรียบเทียบไฟล์

เปรียบเทียบความแตกต่างระหว่างไฟล์

diff file1.txt file2.txt       # เปรียบเทียบไฟล์
diff -u file1.txt file2.txt    # แสดงความแตกต่างแบบ unified
diff -r folder1/ folder2/      # เปรียบเทียบโฟลเดอร์

22. cmp - เปรียบเทียบไฟล์แบบ byte-by-byte

เปรียบเทียบไฟล์ทีละไบต์

cmp file1.txt file2.txt        # เปรียบเทียบไฟล์
cmp -s file1.txt file2.txt     # เปรียบเทียบแบบเงียบ
cmp -l file1.txt file2.txt     # แสดงความแตกต่างทั้งหมด

23. comm - เปรียบเทียบไฟล์ที่เรียงลำดับแล้ว

เปรียบเทียบไฟล์ที่เรียงลำดับ

comm file1.txt file2.txt       # เปรียบเทียบไฟล์
comm -12 file1.txt file2.txt   # แสดงบรรทัดที่เหมือนกัน
comm -3 file1.txt file2.txt    # แสดงบรรทัดที่แตกต่าง

24. sort - เรียงลำดับข้อมูล

เรียงลำดับบรรทัดในไฟล์

sort file.txt         # เรียงลำดับตามตัวอักษร
sort -n numbers.txt   # เรียงลำดับตามตัวเลข
sort -r file.txt      # เรียงลำดับย้อนกลับ
sort -u file.txt      # เรียงลำดับและลบข้อมูลซ้ำ

25. export - กำหนดตัวแปรสภาพแวดล้อม

กำหนดตัวแปรสภาพแวดล้อม

export PATH=$PATH:/new/path    # เพิ่ม path ใหม่
export JAVA_HOME=/usr/lib/jvm/java-11  # กำหนด JAVA_HOME
export EDITOR=nano             # กำหนด text editor เริ่มต้น

26. zip - บีบอัดไฟล์แบบ ZIP

สร้างและจัดการไฟล์ ZIP

zip archive.zip file1.txt file2.txt  # บีบอัดไฟล์
zip -r archive.zip folder/           # บีบอัดโฟลเดอร์
zip -e secure.zip file.txt           # บีบอัดพร้อมรหัสผ่าน

27. unzip - แตกไฟล์ ZIP

แตกไฟล์ ZIP

unzip archive.zip              # แตกไฟล์ ZIP
unzip archive.zip -d /path/    # แตกไปยังโฟลเดอร์ที่กำหนด
unzip -l archive.zip           # ดูรายการไฟล์ใน ZIP
unzip -q archive.zip           # แตกแบบเงียบ

28. ssh - เชื่อมต่อระยะไกล

เชื่อมต่อไปยังเซิร์ฟเวอร์ระยะไกล

ssh user@hostname              # เชื่อมต่อไปยังเซิร์ฟเวอร์
ssh -p 2222 user@hostname      # เชื่อมต่อผ่านพอร์ตที่กำหนด
ssh -i keyfile user@hostname   # เชื่อมต่อด้วย private key
ssh -X user@hostname           # เชื่อมต่อพร้อม X11 forwarding

29. service - จัดการบริการ

จัดการบริการของระบบ

sudo service nginx start      # เริ่มบริการ nginx
sudo service nginx stop       # หยุดบริการ nginx
sudo service nginx restart    # รีสตาร์ทบริการ nginx
sudo service nginx status     # ตรวจสอบสถานะบริการ

30. ps - แสดงกระบวนการที่ทำงาน

แสดงกระบวนการที่กำลังทำงาน

ps                     # แสดงกระบวนการของผู้ใช้ปัจจุบัน
ps aux                 # แสดงกระบวนการทั้งหมด
ps -ef | grep nginx    # ค้นหากระบวนการ nginx
ps -u username         # แสดงกระบวนการของผู้ใช้

31. kill และ killall - หยุดกระบวนการ

หยุดกระบวนการที่ทำงาน

kill 1234              # หยุดกระบวนการ PID 1234
kill -9 1234           # บังคับหยุดกระบวนการ
killall firefox        # หยุดกระบวนการชื่อ firefox ทั้งหมด
killall -9 process_name # บังคับหยุดกระบวนการ

32. df - แสดงพื้นที่ดิสก์

แสดงข้อมูลพื้นที่ดิสก์

df                     # แสดงพื้นที่ดิสก์ทั้งหมด
df -h                  # แสดงในรูปแบบอ่านง่าย
df -T                  # แสดงประเภทไฟล์ระบบ
df /home               # แสดงพื้นที่ของโฟลเดอร์เฉพาะ

33. mount - เมาท์อุปกรณ์

เมาท์อุปกรณ์จัดเก็บข้อมูล

sudo mount /dev/sdb1 /mnt      # เมาท์อุปกรณ์
sudo mount -t ext4 /dev/sdb1 /mnt  # กำหนดประเภทไฟล์ระบบ
mount                          # แสดงอุปกรณ์ที่เมาท์
sudo umount /mnt               # ยกเลิกการเมาท์

34. chmod - เปลี่ยนสิทธิ์ไฟล์

เปลี่ยนสิทธิ์การเข้าถึงไฟล์

chmod 755 file.txt             # กำหนดสิทธิ์ 755
chmod +x script.sh             # เพิ่มสิทธิ์ execute
chmod -w file.txt              # ลบสิทธิ์ write
chmod u+rwx,g+rx,o+r file.txt  # กำหนดสิทธิ์แยกตามกลุ่ม

35. chown - เปลี่ยนเจ้าของไฟล์

เปลี่ยนเจ้าของไฟล์และกลุ่ม

sudo chown user file.txt       # เปลี่ยนเจ้าของ
sudo chown user:group file.txt # เปลี่ยนเจ้าของและกลุ่ม
sudo chown -R user:group folder/  # เปลี่ยนทั้งโฟลเดอร์
sudo chown :group file.txt     # เปลี่ยนเฉพาะกลุ่ม

36. ifconfig - กำหนดค่าเครือข่าย

กำหนดค่าและดูข้อมูลเครือข่าย

ifconfig               # แสดงข้อมูลเครือข่ายทั้งหมด
ifconfig eth0          # แสดงข้อมูล interface eth0
sudo ifconfig eth0 192.168.1.100  # กำหนด IP address
sudo ifconfig eth0 down            # ปิด interface

37. traceroute - ติดตามเส้นทางเครือข่าย

ติดตามเส้นทางการเชื่อมต่อเครือข่าย

traceroute google.com          # ติดตามเส้นทางไป google.com
traceroute -n 8.8.8.8          # ใช้ IP แทนชื่อโดเมน
traceroute -m 15 destination   # กำหนดจำนวน hop สูงสุด

38. wget - ดาวน์โหลดไฟล์

ดาวน์โหลดไฟล์จากอินเทอร์เน็ต

wget https://example.com/file.zip     # ดาวน์โหลดไฟล์
wget -O newname.zip https://url       # ดาวน์โหลดและเปลี่ยนชื่อ
wget -c https://large-file.zip        # ดาวน์โหลดต่อจากที่หยุด
wget -r https://website.com           # ดาวน์โหลดทั้งเว็บไซต์

39. ufw - จัดการไฟร์วอลล์

จัดการไฟร์วอลล์ Ubuntu

sudo ufw enable                # เปิดใช้งาน firewall
sudo ufw disable               # ปิดการทำงาน firewall
sudo ufw allow 22              # อนุญาตพอร์ต 22
sudo ufw deny 80               # ห้ามพอร์ต 80
sudo ufw status                # ตรวจสอบสถานะ

40. iptables - จัดการไฟร์วอลล์ขั้นสูง

จัดการกฎไฟร์วอลล์ขั้นสูง

sudo iptables -L               # แสดงกฎทั้งหมด
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # อนุญาตพอร์ต 80
sudo iptables -D INPUT 1       # ลบกฎที่ 1
sudo iptables-save             # บันทึกกฎ

41. apt, pacman, yum, rpm - จัดการแพ็กเกจ

จัดการแพ็กเกจซอฟต์แวร์ (Ubuntu ใช้ apt)

sudo apt update                # อัพเดตรายการแพ็กเกจ
sudo apt upgrade               # อัพเกรดแพ็กเกจ
sudo apt install package       # ติดตั้งแพ็กเกจ
sudo apt remove package        # ลบแพ็กเกจ
sudo apt search keyword        # ค้นหาแพ็กเกจ

42. sudo - รันคำสั่งด้วยสิทธิ์ root

รันคำสั่งด้วยสิทธิ์ผู้ดูแลระบบ

sudo command               # รันคำสั่งด้วยสิทธิ์ root
sudo -u user command       # รันคำสั่งในนามผู้ใช้อื่น
sudo -i                    # เข้าสู่ root shell
sudo -l                    # แสดงสิทธิ์ sudo ของผู้ใช้

43. cal - แสดงปฏิทิน

แสดงปฏิทิน

cal                        # แสดงปฏิทินเดือนปัจจุบัน
cal 2024                   # แสดงปฏิทินทั้งปี 2024
cal 12 2024                # แสดงปฏิทินเดือนธันวาคม 2024
cal -3                     # แสดง 3 เดือน (ก่อน ปัจจุบัน หลัง)

44. alias - สร้างชื่อย่อคำสั่ง

สร้างชื่อย่อสำหรับคำสั่ง

alias ll='ls -la'          # สร้าง alias ll
alias grep='grep --color=auto'  # เพิ่มสีให้ grep
alias ..='cd ..'           # ย่อคำสั่งขึ้นไดเรกทอรี
unalias ll                 # ลบ alias

45. dd - คัดลอกและแปลงไฟล์

คัดลอกและแปลงไฟล์ระดับต่ำ

sudo dd if=/dev/zero of=testfile bs=1M count=100  # สร้างไฟล์ทดสอบ 100MB
sudo dd if=image.iso of=/dev/sdb bs=4M            # เขียน ISO ลง USB
sudo dd if=/dev/sda of=backup.img                 # สำรองข้อมูลดิสก์

46. whereis - ค้นหาตำแหน่งไฟล์

ค้นหาตำแหน่งไฟล์คำสั่งและคู่มือ

whereis ls                 # ค้นหาตำแหน่ง ls
whereis -b python          # ค้นหาเฉพาะไฟล์โปรแกรม
whereis -m python          # ค้นหาเฉพาะคู่มือ
whereis -s python          # ค้นหาเฉพาะ source code

47. whatis - แสดงคำอธิบายคำสั่งสั้นๆ

แสดงคำอธิบายสั้นๆ ของคำสั่ง

whatis ls                  # แสดงคำอธิบาย ls
whatis grep                # แสดงคำอธิบาย grep
whatis -r "^copy"          # ค้นหาคำสั่งที่ขึ้นต้นด้วย copy

48. top - แสดงกระบวนการแบบเรียลไทม์

แสดงกระบวนการที่ทำงานแบบเรียลไทม์

top                        # แสดงกระบวนการทั้งหมด
top -u username            # แสดงกระบวนการของผู้ใช้
top -p 1234,5678           # แสดงกระบวนการที่กำหนด PID
# กด q เพื่อออก

49. useradd - เพิ่มผู้ใช้ใหม่

เพิ่มผู้ใช้ใหม่ในระบบ

sudo useradd newuser       # เพิ่มผู้ใช้ใหม่
sudo useradd -m -s /bin/bash newuser  # เพิ่มพร้อมโฮมไดเรกทอรี
sudo useradd -G sudo newuser          # เพิ่มเข้ากลุ่ม sudo
sudo passwd newuser                   # กำหนดรหัสผ่าน

50. passwd - เปลี่ยนรหัสผ่าน

เปลี่ยนรหัสผ่านผู้ใช้

passwd                     # เปลี่ยนรหัสผ่านตัวเอง
sudo passwd username       # เปลี่ยนรหัสผ่านผู้ใช้อื่น
passwd -l username         # ล็อกบัญชีผู้ใช้
passwd -u username         # ปลดล็อกบัญชีผู้ใช้

การส่งความคิดเห็น ถือว่าคุณยอมรับ ข้อกำหนดการใช้งาน และ นโยบายความเป็นส่วนตัว ของเรา