Linux เป็นระบบปฏิบัติการที่มีประสิทธิภาพและเป็นที่นิยมอย่างมากในหมู่นักพัฒนา ผู้ดูแลระบบ และผู้ใช้งานทั่วไป การรู้จักและเข้าใจคำสั่งพื้นฐานของ Linux จะช่วยให้สามารถจัดการระบบ ทำงานต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น
บทความนี้ได้รวบรวม 50 คำสั่ง Linux ที่จำเป็น พร้อมคำอธิบายและตัวอย่างการใช้งาน โดยอ้างอิงการทำงานบน Ubuntu Linux
50 คำสั่ง Linux พร้อมคำอธิบายและตัวอย่างประกอบ
1. ls - แสดงรายการไฟล์และโฟลเดอร์
แสดงรายการไฟล์และโฟลเดอร์ในไดเรกทอรี
ls # แสดงรายการไฟล์และโฟลเดอร์
ls -l # แสดงรายละเอียดแบบยาว
ls -la # แสดงไฟล์ซ่อนด้วย
ls -lh # แสดงขนาดไฟล์ในรูปแบบอ่านง่าย2. pwd - แสดงตำแหน่งไดเรกทอรีปัจจุบัน
แสดงเส้นทางของไดเรกทอรีที่อยู่ในปัจจุบัน
pwd # แสดงเส้นทางปัจจุบัน
# ผลลัพธ์: /home/username/Documents3. 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/ # ย้ายไฟล์ทุกตัวที่ลงท้าย .txt6. 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 # ลบไฟล์ทุกตัวที่ลงท้าย .log8. 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 link10. clear - เคลียร์หน้าจอ
ล้างหน้าจอเทอร์มินัล
clear # เคลียร์หน้าจอ
# หรือใช้ Ctrl+L11. 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 # ดูคู่มือของไฟล์ passwd15. 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/ # แตกไปยังโฟลเดอร์ที่กำหนด -C18. 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-time21. 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 forwarding29. 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 # ปิด interface37. 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 # ลบ alias45. 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 code47. whatis - แสดงคำอธิบายคำสั่งสั้นๆ
แสดงคำอธิบายสั้นๆ ของคำสั่ง
whatis ls # แสดงคำอธิบาย ls
whatis grep # แสดงคำอธิบาย grep
whatis -r "^copy" # ค้นหาคำสั่งที่ขึ้นต้นด้วย copy48. 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 # ปลดล็อกบัญชีผู้ใช้- Log in to post comments