🐧 บรรทัดคำสั่ง Linux

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
เผยแพร่

31 สิงหาคม 2568

คำสั่งพื้นฐานและขั้นสูงสำหรับการนำทาง ไฟล์ กระบวนการ เครือข่าย การตรวจสอบ แพ็กเกจ และระบบอัตโนมัติ เหมาะสำหรับเวิร์กโฟลว์ DevOps

🔹 คำสั่งพื้นฐาน

คำสั่ง

ตัวอย่าง

คำอธิบาย

cat แสดงเนื้อหาไฟล์หรือรวมหลายไฟล์เข้าด้วยกัน
cat file.txt

ดูเนื้อหาไฟล์

cat file1 file2

รวมและแสดงผลสองไฟล์

cat file1 file2 > merged.txt

รวมไฟล์และบันทึกไปยังไฟล์ใหม่

cd เปลี่ยนไดเรกทอรีทำงานปัจจุบัน
cd /etc

ไปยัง path แบบสัมบูรณ์ /etc

cd ~

ไปยัง home directory

cd ..

ย้ายขึ้นไปหนึ่งระดับ

cd -

กลับไปยังไดเรกทอรีก่อนหน้า

clear ล้างหน้าจอเทอร์มินัล
cp คัดลอกไฟล์และไดเรกทอรี
cp file1.txt file2.txt

คัดลอกไฟล์พร้อมเปลี่ยนชื่อใหม่

cp -r dir1 dir2

คัดลอกไดเรกทอรีแบบ recursive

cp -i file.txt /tmp/

คัดลอกพร้อมยืนยันก่อนเขียนทับ

echo แสดงสตริงหรือค่าตัวแปรสภาพแวดล้อม
echo "Hello, World!"

แสดงสตริงธรรมดา

echo $HOME

แสดง path ของ home directory

echo -e "1\t2\n3"

ตีความ escape sequences ( )

history แสดงประวัติคำสั่ง
id แสดง UID, GID และกลุ่มของผู้ใช้ปัจจุบัน
ls แสดงรายการไฟล์และไดเรกทอรี
ls -l

แสดงรายละเอียดพร้อมสิทธิ์และเจ้าของ

ls -a

แสดงไฟล์ที่ซ่อนอยู่

ls -lh

แสดงขนาดแบบอ่านง่าย

mkdir สร้างไดเรกทอรี
mkdir folder

สร้างไดเรกทอรีเดียว

mkdir -p a/b/c

สร้างไดเรกทอรีซ้อน

mkdir dir{1,2,3}

สร้างหลายไดเรกทอรีพร้อมกัน

mv ย้ายหรือเปลี่ยนชื่อไฟล์/ไดเรกทอรี
mv oldname.txt newname.txt

เปลี่ยนชื่อไฟล์

mv file.txt /path/to/dir/

ย้ายไฟล์ไปยังอีกไดเรกทอรี

mv *.txt archive/

ย้ายไฟล์ .txt ทั้งหมดไปยังโฟลเดอร์ archive

pwd แสดงไดเรกทอรีทำงานปัจจุบัน
pwd -P

แสดง path จริง (ไม่ตาม symlinks)

cd /tmp && pwd

แสดง path หลังจากเปลี่ยนไปยัง /tmp

rm ลบไฟล์หรือไดเรกทอรี
rm file.txt

ลบไฟล์

rm -i file.txt

ลบไฟล์พร้อมยืนยัน

rm -r folder/

ลบไดเรกทอรีแบบ recursive

rm -rf folder/

ลบแบบบังคับโดยไม่ต้องยืนยัน

rmdir ลบไดเรกทอรีว่าง
rmdir emptydir

ลบไดเรกทอรี emptydir

touch สร้างไฟล์เปล่าหรืออัปเดตเวลาแก้ไข
touch newfile.txt

สร้างไฟล์ใหม่ถ้าไม่มีอยู่

touch a b c

สร้างหลายไฟล์พร้อมกัน

touch -c file.txt

อัปเดตเวลาโดยไม่สร้างไฟล์ถ้าไม่มี

whereis ค้นหา binary, source และ man pages ของคำสั่ง
whereis ls

หาตำแหน่งของ ls

whereis bash

แสดง path ของ binary และ docs ของ Bash

whereis -b bash

ค้นหาเฉพาะ binary

which แสดง path ของไฟล์คำสั่งที่รันได้
which python3

path ของ python3

which grep

path ของ grep

which --skip-alias ls

ข้าม alias ขณะค้นหา

whoami แสดงชื่อผู้ใช้ที่ใช้งานอยู่

🔸 ระดับกลาง

คำสั่ง

ตัวอย่าง

คำอธิบาย

chmod เปลี่ยนสิทธิ์ไฟล์หรือไดเรกทอรี
chmod 755 file

กำหนดสิทธิ์ด้วยตัวเลข (เช่น 755)

chmod +x script.sh

เพิ่มสิทธิ์ execute ให้กับสคริปต์

chmod -R 644 dir/

เปลี่ยนสิทธิ์แบบ recursive บนไดเรกทอรี

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

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

chown user:group file

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

chown -R user:group dir/

เปลี่ยนเจ้าของและกลุ่มแบบ recursive

curl รับ/ส่งข้อมูลจาก/ไปยังเซิร์ฟเวอร์ (HTTP, HTTPS ฯลฯ)
curl -I https://example.com

ส่ง HEAD request (headers เท่านั้น)

curl -O https://example.com/file.txt

ดาวน์โหลดไฟล์และเก็บชื่อเดิม

curl -d "a=1&b=2" -X POST URL

ส่ง POST request พร้อมฟอร์มข้อมูล

df รายงานการใช้งานพื้นที่ดิสก์
df -h

แสดงขนาดแบบอ่านง่าย

df /home

การใช้งานของ mount point เฉพาะ

df -T

แสดงชนิดของ file system

diff เปรียบเทียบไฟล์หรือไดเรกทอรี
diff file1 file2

เปรียบเทียบสองไฟล์

diff -u old.c new.c

แสดง diff แบบ unified (patch-style)

diff -r dir1 dir2

เปรียบเทียบไดเรกทอรีแบบ recursive

du ประเมินการใช้งานพื้นที่ของไฟล์และไดเรกทอรี
du -sh *

แสดงขนาดไฟล์ในไดเรกทอรีปัจจุบัน

du -h file.txt

แสดงขนาดไฟล์เดียว

du -sh --max-depth=1 /var

สรุปขนาดของไดเรกทอรีย่อยระดับบน

find ค้นหาไฟล์/ไดเรกทอรีตามชื่อ ขนาด เวลา ฯลฯ
find . -name "*.log"

ค้นหาไฟล์ .log ทั้งหมดในไดเรกทอรีปัจจุบัน

find / -type f -size +100M

ค้นหาไฟล์ที่ใหญ่กว่า 100 MB

find . -mtime -1

ค้นหาไฟล์ที่แก้ไขใน 1 วันที่ผ่านมา

free แสดงหน่วยความจำที่ใช้และว่าง
free -h

แสดงหน่วยแบบอ่านง่าย

free -m

แสดงค่าเป็น MB

watch -n 2 free -h

รีเฟรชผลลัพธ์ทุก 2 วินาที

grep ค้นหาข้อความโดยใช้ pattern (regular expressions)
grep "error" logfile

หาบรรทัดที่มี error

grep -r "error" /var/log

ค้นหาแบบ recursive ในไดเรกทอรี

grep -i "fail" file

ค้นหาแบบไม่สนตัวพิมพ์เล็กใหญ่

head แสดงบรรทัดแรกของไฟล์
head -n 10 file

10 บรรทัดแรก

head -n 20 file.txt

20 บรรทัดแรก

head -c 100 file

100 ไบต์แรก

hostname แสดงหรือกำหนดชื่อโฮสต์ของระบบ
hostname newname

ตั้งค่า hostname ชั่วคราวจนกว่าจะรีบูต

hostname -I

แสดงที่อยู่ IP

kill ส่งสัญญาณไปยัง process
kill -9 1234

ฆ่า process โดยใช้ PID

kill -TERM 1234

หยุดอย่างนุ่มนวลด้วย SIGTERM

pkill -f python

ฆ่า process ที่ตรงกับ pattern

ping ตรวจสอบการเชื่อมต่อเครือข่ายด้วย ICMP
ping 8.8.8.8

ping ที่อยู่

ping -c 4 ya.ru

ส่ง 4 packets

ping -i 2 1.1.1.1

ตั้งค่า interval 2 วินาที

ps รายงานสถานะ process
ps aux

แสดง process ทั้งหมด

ps -ef | grep nginx

กรองด้วย grep

ps -u $USER

แสดง process ของผู้ใช้ปัจจุบัน

rsync ถ่ายโอนไฟล์แบบ incremental เร็ว
rsync -av src/ dst/

ซิงค์ไดเรกทอรีภายในเครื่อง

rsync -avz user@host:/src /dst

ซิงค์กับโฮสต์ระยะไกลผ่าน SSH

rsync --delete src/ dst/

ลบไฟล์ในปลายทางที่ไม่มีในต้นทาง

scp คัดลอกไฟล์อย่างปลอดภัย (ระยะไกล)
scp file user@host:/path

คัดลอกไฟล์ไปยังโฮสต์ระยะไกล

scp user@host:/file.txt .

คัดลอกไฟล์จากโฮสต์ระยะไกล

scp -r dir user@host:/path

คัดลอกไดเรกทอรีแบบ recursive

sort จัดเรียงบรรทัดข้อความ
sort file.txt

เรียงลำดับตามตัวอักษร

sort -r file.txt

เรียงย้อนกลับ

sort -n numbers.txt

เรียงแบบตัวเลข

tail แสดงส่วนท้ายของไฟล์; ติดตามการเปลี่ยนแปลง
tail -f logfile.log

ติดตาม log แบบ real time

tail -n 20 file.txt

แสดง 20 บรรทัดสุดท้าย

tail -c 100 file.txt

แสดง 100 ไบต์สุดท้าย

tar สร้าง แสดงรายการ หรือแตกไฟล์ tar
tar -czf archive.tgz dir/

สร้าง .tgz archive แบบบีบอัด

tar -xzf archive.tgz

แตกไฟล์ .tgz archive

tar -tf archive.tgz

แสดงเนื้อหา archive

tee อ่านจาก stdin และเขียนไป stdout และไฟล์
echo "test" | tee out.txt

เขียน output ไปที่ out.txt และแสดงผล

ls | tee list.txt

บันทึก output ของ ls ไปยังไฟล์และแสดง

command | tee -a log.txt

ต่อท้าย output ลงใน log.txt

top แสดงงานของ Linux (interactive process viewer)
top

เริ่ม top

htop

ใช้ htop แทน

top -o %MEM

จัดเรียงตามการใช้หน่วยความจำ

uptime แสดงเวลาที่ระบบทำงาน
uptime -p

แสดง uptime แบบสวยงาม

uptime -s

เวลา boot ของระบบ

wget ดาวน์โหลดเครือข่ายแบบ non-interactive
wget https://site.com/file.zip

ดาวน์โหลดไฟล์โดยใช้ URL

wget -c file.zip

ทำต่อจากการดาวน์โหลดที่ขาด

wget -O saved.txt URL

บันทึกด้วยชื่อไฟล์ที่ต่างออกไป

wc นับบรรทัด คำ และตัวอักษรในไฟล์
wc -l file

นับบรรทัด

wc -w file

นับคำ

wc -m file

นับอักขระ

uniq รายงานหรือลบบรรทัดที่ซ้ำกัน (ติดกัน)
uniq file.txt

ลบบรรทัดซ้ำติดกัน

sort file | uniq

ลบซ้ำหลังการ sort

sort file | uniq -c

นับจำนวนครั้งของแต่ละบรรทัด

yes แสดงสตริงซ้ำ ๆ จนกว่าจะหยุด; ใช้ได้กับ scripting
yes "y" | command

ตอบ “y” อัตโนมัติทุกครั้ง

yes | rm -i *

ยืนยันการลบแบบ interactive อัตโนมัติ

yes no | command

ตอบ “no” อัตโนมัติ

🔧 คำสั่งขั้นสูง

คำสั่ง

ตัวอย่าง

คำอธิบาย

at ตั้งเวลาให้คำสั่งรันครั้งเดียวตามที่กำหนด
at now + 1 minute

รันคำสั่งในอีก 1 นาที

atq

แสดง jobs ที่รอดำเนินการ

atrm

ลบ job ที่รอดำเนินการ

awk ภาษาสำหรับสแกนและประมวลผลข้อมูล
awk '{print $1}' file

แสดงคอลัมน์แรก

ps aux | awk '$3 > 50'

กรอง process ตามการใช้ CPU

cat file.txt | awk '{print $2}'

แสดงฟิลด์ที่สองจากแต่ละบรรทัด

awk '/error/ {print $0}' logfile

แสดงบรรทัดที่ตรงกับ pattern

crontab ติดตั้ง แสดง หรือลบ cron jobs ต่อผู้ใช้
crontab -e

แก้ไข crontab ของผู้ใช้ปัจจุบัน

crontab -l

แสดง cron jobs

crontab -r

ลบ crontab ของผู้ใช้ปัจจุบัน

cut ตัดหรือเลือกบางส่วนจากแต่ละบรรทัดของไฟล์
cut -d':' -f1 /etc/passwd

แสดงชื่อผู้ใช้จาก /etc/passwd

echo "a:b:c" | cut -d':' -f2

ตัดฟิลด์ที่สองโดยใช้ ‘:’ เป็นตัวแบ่ง

cut -c1-5 filename

เลือกตัวอักษรตามตำแหน่ง

df รายงานการใช้งานพื้นที่ดิสก์
df -h

แสดงขนาดแบบอ่านง่าย

df -T

แสดงชนิด file system

df /home

การใช้งานของ home directory

env รันคำสั่งใน environment ที่แก้ไขหรือแสดง env
env | grep PATH

แสดงรายการ PATH

env -i bash

เริ่ม shell ใหม่พร้อม environment ว่าง

export ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ shell/session
export VAR=value

ตั้งค่าตัวแปรใน shell นี้

export PATH=$PATH:/new/path

เพิ่มไดเรกทอรีเข้า PATH

export -p

แสดงรายการตัวแปรที่ export แล้ว

free แสดงการใช้หน่วยความจำ
free -m

แสดงเป็น MB

free -h

แสดงหน่วยแบบอ่านง่าย

free -s 5

อัปเดตทุก 5 วินาที

hostnamectl สอบถามและเปลี่ยน hostname ของระบบและการตั้งค่า
hostnamectl status

แสดงสถานะ hostname

hostnamectl set-hostname newname

ตั้งค่า hostname ใหม่

ifconfig / ip เครื่องมือ IP สำหรับดู/จัดการอินเทอร์เฟซและที่อยู่
ifconfig

แสดง network interfaces (legacy)

ip a

แสดง addresses ด้วย ip

ip link set eth0 up

เปิดใช้งาน interface

iostat รายงานสถิติ CPU และ I/O
iostat -x 2

แสดงสถิติทุก 2 วินาที

iostat -d 5 3

แสดงสถิติอุปกรณ์ (ทุก 5s จำนวน 3 ครั้ง)

iptables เครื่องมือจัดการ IPv4 packet filtering และ NAT
iptables -L

แสดงกฎปัจจุบัน

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

อนุญาต SSH เข้า port 22

iptables -F

ล้างกฎทั้งหมด

journalctl สอบถาม systemd journal
journalctl -xe

แสดง errors ล่าสุดพร้อมรายละเอียด

journalctl -u nginx.service

แสดง logs ของ service

journalctl --since "2 hours ago"

แสดง logs ตั้งแต่เวลาที่กำหนด

ln สร้างลิงก์ระหว่างไฟล์
ln -s target link

สร้าง symbolic link

ln file.txt backup.txt

สร้าง hard link

ln -sf target link

สร้าง symbolic link ใหม่แทนที่เดิม

sed stream editor สำหรับกรองและแปลงข้อความ
sed 's/old/new/g' file

แทนที่สตริงทั้งหมด

sed -n '1,5p' file

แสดงบรรทัดช่วงที่เลือก

sed '/pattern/d' file

ลบบรรทัดที่ตรงกับ pattern

systemctl ควบคุม systemd และบริการ
systemctl status nginx

แสดงสถานะบริการ

systemctl start nginx

เริ่มบริการ

systemctl enable nginx

เปิดใช้บริการเมื่อบูต

tr แปลงหรือลบตัวอักษร
tr a-z A-Z

เปลี่ยนตัวพิมพ์เล็กเป็นใหญ่

echo "hello" | tr 'h' 'H'

แทนที่อักขระ

echo "abc123" | tr -d '0-9'

ลบตัวเลข

type อธิบายว่าชื่อถูกตีความอย่างไรใน shell
type ls

แสดงว่า ls ถูก resolve อย่างไร

type cd

แสดงว่า cd ถูก resolve อย่างไร

type python3

แสดงว่า python3 ถูก resolve อย่างไร

ulimit ดูหรือกำหนดขีดจำกัดของ process ต่อผู้ใช้
ulimit -n

แสดงจำนวนไฟล์ที่เปิดได้สูงสุด

ulimit -c unlimited

เปิดใช้งาน core dumps

ulimit -u 4096

จำกัดจำนวน process ของผู้ใช้

uptime แสดง uptime และค่าโหลดเฉลี่ย
uptime -p

แสดง uptime แบบสวยงาม

uptime -s

แสดงเวลา boot

xargs สร้างและรันคำสั่งจาก standard input
xargs -n 1 echo

echo แต่ละ argument บรรทัดใหม่

echo "a b c" | xargs -n 1

แยกคำเป็น arguments

find . -name '*.txt' | xargs rm

หาไฟล์แล้วลบด้วย xargs

🌐 คำสั่งเครือข่าย

คำสั่ง

ตัวอย่าง

คำอธิบาย

curl ถ่ายโอนข้อมูลไปยัง/จากเซิร์ฟเวอร์
curl -X POST -d "a=1" URL

ส่ง POST request พร้อมข้อมูลฟอร์ม

curl -I URL

ดึงเฉพาะ headers

curl -o file.html URL

ดาวน์โหลดและบันทึกเป็นไฟล์

dig เครื่องมือค้นหา DNS
dig openai.com

ค้นหา A records

dig +short openai.com

คำตอบแบบสั้น

dig @8.8.8.8 openai.com

ใช้ DNS server ที่กำหนดเอง

ftp ไคลเอนต์ FTP (File Transfer Protocol)
ftp host

เชื่อมต่อกับ FTP server

ftp -n host

เชื่อมต่อโดยไม่เข้าสู่ระบบอัตโนมัติ

ftp> get file.txt

ดาวน์โหลดไฟล์ในเซสชัน FTP

ip address แสดง/จัดการที่อยู่ IP
ip addr show eth0

แสดงข้อมูล address ของ eth0

ip addr

แสดง addresses ทั้งหมด

ip link แสดง/จัดการอุปกรณ์เครือข่าย
ip link show

แสดง network links

ip link set eth0 up

เปิดใช้งาน interface

ip route แสดง/จัดการตาราง routing ของ IP
ip route list

แสดง routing table

ip route add default via 192.168.1.1

เพิ่ม default route

nc เชื่อมต่อ TCP/UDP หรือตั้งรับการเชื่อมต่อ
nc -zv host 22

สแกนพอร์ตของโฮสต์

nc -l 1234

รอฟังที่พอร์ต TCP

nc host 1234 < file

ส่งไฟล์ไปยังพอร์ตระยะไกล

nmap เครื่องมือสำรวจเครือข่ายและสแกนพอร์ต/ความปลอดภัย
nmap -sP 192.168.1.0/24

สแกน subnet แบบ ping

nmap -sV 192.168.1.1

ตรวจหาบริการ/เวอร์ชัน

nmap -O 192.168.1.1

ตรวจจับระบบปฏิบัติการ

nslookup สอบถามเซิร์ฟเวอร์ชื่อโดเมน (DNS)
nslookup google.com

ค้นหาชื่อโดเมน

nslookup 8.8.8.8

Reverse lookup สำหรับ IP

ssh OpenSSH ไคลเอนต์สำหรับเข้าสู่ระบบระยะไกล
ssh user@host

เชื่อมต่อไปยังโฮสต์

ssh -p 2222 user@host

เชื่อมต่อด้วยพอร์ตที่ไม่ใช่ค่าเริ่มต้น

ssh -i ~/.ssh/id_rsa user@host

เข้าสู่ระบบด้วย private key ที่กำหนด

ss เครื่องมือสืบค้น sockets
ss -tuln

แสดง TCP/UDP พอร์ตที่กำลังฟัง

ss -s

สถิติแบบสรุป

ss -l

แสดง sockets ที่กำลังฟัง

telnet ส่วนติดต่อผู้ใช้สำหรับโปรโตคอล TELNET
telnet host 80

เชื่อมต่อกับโฮสต์ที่พอร์ต 80

telnet example.com 443

เชื่อมต่อไปยัง 443

telnet localhost 25

เชื่อมต่อกับ SMTP ภายในเครื่อง

traceroute ติดตามเส้นทางไปยังโฮสต์เครือข่าย
traceroute 8.8.8.8

ติดตามเส้นทางไปยัง IP

traceroute -m 15 8.8.8.8

จำกัดจำนวน hops สูงสุด

wget ดึงไฟล์จากเว็บ
wget -O file.txt URL

บันทึกผลลัพธ์ลงไฟล์

wget URL

ดาวน์โหลดไปยังไดเรกทอรีปัจจุบัน

wget -c URL

ทำต่อจากการดาวน์โหลดที่ไม่สมบูรณ์

🔍 การค้นหาและจัดการไฟล์

คำสั่ง

ตัวอย่าง

คำอธิบาย

basename ตัดไดเรกทอรีและนามสกุลออกจากชื่อไฟล์
basename /path/to/file

แสดงชื่อไฟล์จาก path

basename /path/to/file .txt

ตัดนามสกุลออกจากชื่อ

dirname ตัดส่วนสุดท้ายออกจาก path
dirname /path/to/file

แสดงส่วน directory ของ path

dirname /etc/passwd

แสดง parent ของ /etc/passwd

du ประมาณการใช้งานพื้นที่ไฟล์
du -sh folder/

แสดงขนาดของไดเรกทอรี

du -h *

แสดงขนาดของไฟล์ในไดเรกทอรีปัจจุบัน

du -c folder1 folder2

รวมขนาดของหลายไดเรกทอรี

file ตรวจสอบประเภทไฟล์
file some.bin

ตรวจสอบประเภทไฟล์

file *

ตรวจสอบประเภทไฟล์ทั้งหมดในไดเรกทอรี

file -i file.txt

แสดง MIME type

find ค้นหาไฟล์
find /path -type f -name "*.sh"

ค้นหา shell scripts ตามชื่อ

find . -size +10M

ค้นหาไฟล์ที่ใหญ่กว่า 10 MB

find /tmp -mtime -1

ค้นหาไฟล์ที่แก้ไขใน 1 วันที่ผ่านมา

locate ค้นหาไฟล์ตามชื่อด้วยฐานข้อมูล
locate filename

ค้นหาตามชื่อไฟล์

locate *.conf

ค้นหาด้วย wildcard

locate -i README

ค้นหาแบบไม่สนตัวพิมพ์เล็กใหญ่

realpath แสดง path แบบ absolute ที่ถูก resolve
realpath file

resolve path ของไฟล์

realpath ../relative/path

resolve path แบบ relative

stat แสดงสถานะไฟล์หรือระบบไฟล์
stat file

แสดงรายละเอียดสถานะไฟล์

stat -c %s file

แสดงเฉพาะขนาดไฟล์

stat -f file

แสดงสถานะระบบไฟล์

tree แสดงเนื้อหาไดเรกทอรีในรูปแบบต้นไม้
tree

พิมพ์ tree ของไดเรกทอรี

tree -L 2

จำกัดระดับความลึกของการแสดงผล

tree -a

รวมไฟล์ที่ซ่อนอยู่

📊 การตรวจสอบระบบ

คำสั่ง

ตัวอย่าง

คำอธิบาย

dmesg แสดงหรือควบคุม kernel ring buffer
dmesg | tail

แสดง kernel messages ล่าสุด

dmesg | grep usb

กรองเฉพาะข้อความ USB

free แสดงการใช้หน่วยความจำ
free -h

หน่วยแบบอ่านง่าย

free -m

แสดงเป็น MB

htop ตัวแสดง process แบบ interactive
htop

รัน htop

iotop แสดงการใช้งาน I/O ตาม process
iotop

รัน iotop

iotop -o

แสดงเฉพาะ process ที่มี I/O

lsof แสดงไฟล์ที่เปิดอยู่
lsof -i :80

แสดง process ที่ใช้พอร์ต 80

lsof -u username

แสดงไฟล์ที่เปิดโดยผู้ใช้

uptime แสดง uptime ของระบบและค่าโหลดเฉลี่ย
vmstat รายงานสถิติหน่วยความจำเสมือน
vmstat 1

รีเฟรชทุก 1 วินาที

vmstat 5 3

ช่วง 5 วินาที จำนวน 3 รายงาน

watch รันโปรแกรมซ้ำ ๆ และแสดงผล
watch -n 1 df -h

ตรวจสอบการใช้งานดิสก์

watch -d free -h

ไฮไลต์ความต่างและตรวจสอบหน่วยความจำ

📦 การจัดการแพ็กเกจ

คำสั่ง

ตัวอย่าง

คำอธิบาย

apt APT package manager (Debian/Ubuntu)
apt install curl

ติดตั้งแพ็กเกจ

apt remove curl

ลบแพ็กเกจ

apt update && apt upgrade

อัปเดตรายการและอัปเกรดแพ็กเกจ

dnf Dandified YUM (Fedora/RHEL family)
dnf install curl

ติดตั้งแพ็กเกจ

dnf upgrade

อัปเกรดแพ็กเกจ

rpm RPM package manager
rpm -ivh package.rpm

ติดตั้งแพ็กเกจ RPM

rpm -e package

ถอนการติดตั้งแพ็กเกจ

snap Snappy package manager
snap install app

ติดตั้ง snap

snap remove app

ลบ snap

yum Yellowdog Updater Modified (RHEL/CentOS)
yum install curl

ติดตั้งแพ็กเกจ

yum remove curl

ลบแพ็กเกจ

💽 ระบบไฟล์

คำสั่ง

ตัวอย่าง

คำอธิบาย

blkid ค้นหา/แสดงคุณลักษณะ block device
blkid

แสดง block devices และ attributes

df รายงานการใช้งานดิสก์
df -Th

แสดงขนาดอ่านง่ายตามชนิด

fsck ตรวจสอบและซ่อมแซมระบบไฟล์ Linux
fsck /dev/sda1

ตรวจสอบอุปกรณ์

lsblk แสดงข้อมูล block devices
lsblk

แสดง devices ในรูปแบบต้นไม้

mkfs สร้างระบบไฟล์ Linux
mkfs.ext4 /dev/sdb1

สร้างระบบไฟล์ ext4

mount เมานต์ระบบไฟล์
mount /dev/sdb1 /mnt

เมานต์อุปกรณ์ไปยัง /mnt

mount | grep /mnt

แสดงระบบไฟล์ที่เมานต์พร้อมกรอง path

parted โปรแกรมจัดการพาร์ทิชัน
parted /dev/sdb

เปิดดิสก์เพื่อจัดการพาร์ทิชัน

umount ยกเลิกการเมานต์ระบบไฟล์
umount /mnt

ยกเลิกการเมานต์ mount point

🤖 สคริปต์และระบบอัตโนมัติ

คำสั่ง

ตัวอย่าง

คำอธิบาย

alias กำหนดหรือแสดง alias ของ shell
alias ll='ls -la'

สร้าง alias ที่ใช้งานง่าย

alias

แสดง alias ที่มีอยู่

bash / sh รัน shell scripts
bash script.sh

รันสคริปต์ด้วย Bash

sh script.sh

รันสคริปต์ด้วย sh

crontab cron tables ต่อผู้ใช้
crontab -e

แก้ไข crontab ของผู้ใช้ปัจจุบัน

read รับอินพุตจากผู้ใช้ใน shell scripts
read name

อ่านค่าใส่ตัวแปร

set ตั้งค่า options/parameters ของ shell
set -e

ออกจาก script เมื่อเกิด error

source อ่านและรันคำสั่งจากไฟล์ใน shell ปัจจุบัน
source ~/.bashrc

โหลดการตั้งค่า shell ใหม่

trap ดักสัญญาณและรันคำสั่ง
trap "echo 'exit'" EXIT

รันคำสั่งเมื่อ shell ออก

🛠 การพัฒนาและการดีบัก

คำสั่ง

ตัวอย่าง

คำอธิบาย

gcc GNU C compiler
gcc main.c -o app

คอมไพล์ไฟล์ต้นฉบับ C

gdb GNU debugger
gdb ./app

ดีบัก binary ที่คอมไพล์แล้ว

git ระบบควบคุมเวอร์ชันแบบกระจาย
git status

แสดงสถานะ working tree

git commit -m "msg"

commit พร้อมข้อความ

ltrace ติดตาม library calls
ltrace ./app

ติดตาม library calls ของ binary

make เครื่องมือจัดการโปรแกรมหลายตัว
make

คอมไพล์ตาม Makefile

shellcheck วิเคราะห์ static สำหรับ shell scripts
shellcheck script.sh

ตรวจสอบ shell script

strace ติดตาม system calls และสัญญาณ
strace ./app

ติดตาม syscalls ของโปรแกรม

valgrind เฟรมเวิร์กวิเคราะห์ dynamic สำหรับเครื่องมือ
valgrind ./app

รันโปรแกรมภายใต้ Valgrind

vim / nano ตัวแก้ไขข้อความบน command line
vim file.sh

แก้ไขด้วย Vim

nano file.sh

แก้ไขด้วย Nano

📌 เบ็ดเตล็ด

คำสั่ง

ตัวอย่าง

คำอธิบาย

cal แสดงปฏิทิน
cal 2025

แสดงปฏิทินทั้งปี

cal 08 2025

แสดงเดือนที่ระบุ

date แสดงหรือตั้งวันที่และเวลาของระบบ
date +%T

พิมพ์เวลาปัจจุบัน (HH:MM:SS)

date -d "next friday"

พิมพ์วันที่สำหรับวันแบบ relative

factor แยกตัวประกอบจำนวนเต็ม
factor 100

แยกตัวประกอบตัวเลข

man จัดรูปแบบและแสดง man pages ออนไลน์
man tar

เปิด man page

man -k copy

ค้นหา manuals ด้วย keyword

man 5 passwd

เปิด section ของ manual

seq แสดงลำดับตัวเลข
seq 1 5

นับจาก 1 ถึง 5

seq 1 2 9

นับแบบกำหนด step

seq -s ',' 1 5

รวมตัวเลขด้วยตัวคั่นที่กำหนดเอง

yes แสดงสตริงซ้ำจนกว่าจะหยุด
yes | rm -r dir

ยืนยันอัตโนมัติในการลบแบบ recursive

📚 แหล่งข้อมูลเพิ่มเติม

📘 man pages - คู่มือคำสั่งแบบละเอียด:

man ls
man rm

📙 TLDR - ตัวอย่างการใช้งานคำสั่งยอดนิยมแบบสั้น:

🧠 เคล็ดลับ: ติดตั้ง tldr สำหรับความช่วยเหลือแบบชีทโกง:

sudo apt install tldr   # หรือ: npm install -g tldr
tldr tar                # ตัวอย่างสรุปแบบย่อสำหรับคำสั่ง tar

🌐 ลิงก์ที่มีประโยชน์

Linux man pages online — คู่มืออย่างเป็นทางการ ค้นหาได้ตามชื่อคำสั่ง:
https://man7.org/linux/man-pages/

man pages แบบง่ายและขับเคลื่อนโดยชุมชน — หน้า help จากชุมชนพร้อมตัวอย่างการใช้งานจริง:
https://tldr.sh/