Linux Aliases ให้คุณแทนที่คำสั่งยาว ยุ่งยาก และพลาดง่าย ด้วยคำสั้นๆ ที่มีความหมายตรงกับวิธีทำงานของคุณ แทนที่จะพิมพ์คำสั่งซ้ำหรือเดา Syntax คุณสั่งงานที่ต้องการได้ด้วยคำสั่งเดียว ลดข้อผิดพลาด เร่งงานประจำวัน และช่วยให้โฟกัสอยู่ที่งานจริง ไม่ใช่บรรทัดคำสั่ง ในคู่มือนี้ จะแสดงตัวอย่างปฏิบัติจริงของการใช้ Aliases ใน Bash อย่างมีประสิทธิภาพ
Aliases ใน Linux ทำงานอย่างไร
งานขั้นสูงใน Linux หลายอย่างต้องพิมพ์คำสั่งยาวและซับซ้อน คำสั่ง alias ทำให้ง่ายขึ้น โดยให้สร้างชื่อสั้น แบบกำหนดเอง สำหรับคำสั่งยาว Aliases ทำงานเหมือน Shortcut: พิมพ์ Alias แล้ว Shell จะรันคำสั่งเดิมพร้อม Options และ Arguments เดียวกัน คุณสร้าง Shortcut เองได้ และบางอาจมีมากับระบบหรือแอปบางตัวโดยค่าเริ่มต้น
Syntax พื้นฐานสร้าง Alias:
alias short_name='command'
short_name คือชื่อสั้นแทนคำสั่งยาว ตัวอย่าง ปกติพิมพ์ ls -lah เพื่อดูไฟล์รายละเอียด รวมไฟล์ซ่อน และขนาดอ่านง่าย เพื่อไม่ต้องพิมพ์ทุกครั้ง สร้าง Alias:
alias ll='ls -lah'
หลังจากนี้ พิมพ์แค่ ll Shell จะแทนที่ด้วย ls -lah ก่อนรัน
ตั้งค่าสภาพแวดล้อม Bash Alias
Linux ส่วนใหญ่ใช้ GNU Bash เป็น Shell เริ่มต้น ใน Bash กำหนด Aliases ได้หลายตำแหน่ง ขึ้นอยู่กับว่าอยากให้ชั่วคราวหรือถาวร
Alias ชั่วคราวทำงานเฉพาะ Session ปัจจุบัน หายตอนปิด Terminal ถ้าอยากให้ Aliases พร้อมทุกครั้งที่เปิด Terminal ใหม่ ให้กำหนดใน Config File ไฟล์ Aliases ถาวรมักอยู่ใน Home Directory:
.bashrc(ใช้บ่อยที่สุด).bash_aliases(เหมาะสำหรับจัด Aliases แยกต่างหาก).bash_profile(สำหรับ Login Shell)
วิธีสะอาด: เก็บ Aliases ไว้ใน .bash_aliases และโหลดจาก .bashrc เพิ่มบรรทัดนี้ใน .bashrc (ซ่อนอยู่ในโฟลเดอร์ Home):
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
โค้ดนี้เช็คว่า .bash_aliases มีอยู่จริงและโหลดอัตโนมัติ
หลังเพิ่ม/แก้ Aliases รีโหลด Config:
source ~/.bashrc
Aliases จะกลายเป็นถาวรและพร้อมใช้ในทุก Terminal Session ใหม่
ปรับปรุงความอ่านง่ายและการแสดงไฟล์ด้วย Aliases
คำสั่ง ls ค่าเริ่มต้นอ่านยาก 특히เยอะไฟล์ เพื่ออ่านง่ายและเร็วขึ้น สร้าง Aliases ปรับแต่ง:
Alias เปิดสีอัตโนมัติ ทำให้โฟลเดอร์ ไฟล์รันได้ และประเภทไฟล์ต่างๆ แยกกันชัดเจน:
alias ls='ls --color=auto'
เพิ่ม Shortcut ที่ใช้บ่อย:
alias la='ls -A'
alias lt='ls -lhtr'
ตอนนี้ la แสดงไฟล์ทั้งหมดโดยไม่มี . และ .. รบกวน lt แสดงรายละเอียด เรียงตามเวลาแก้ไขย้อนกลับ ไฟล์ใหม่สุดอยู่ล่างสุด
Shortcut นำทางไฟล์
ตอนนำทางระหว่างโฟลเดอร์บ่อย พิมพ์ Relative Path ยาวไม่อาจทนได้ แทน cd ../../.. สร้าง Shortcut นำทางง่าย:
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
ตอนนี้ขึ้นหลายระดับได้แค่พิมพ์จุด 2-3 ตัว เร็วและง่ายกว่ามาก
สร้าง Shortcut ตรงไปโฟลเดอร์ที่เข้าบ่อย:
alias docs='cd ~/Documents'
Shortcut สำหรับ Git Workflow ทุกวัน
คำสั่ง Git บางอย่างอย่าง git log --oneline --graph --decorate พิมพ์ซ้ำลำบาก ลดรูปด้วย Shortcuts:
alias gl='git log --oneline --graph --decorate'
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
ตอนนี้พิมพ์ gl แทนคำสั่งยาว ดู History Commit แบบกระชับ โครงสร้างภาพชัด สำหรับ Git Aliases ขั้นสูง กำหนด Native Git Aliases ใน .gitconfig แทน Bash
เพิ่มชั้นความปลอดภัยให้คำสั่งอันตราย
คำสั่งอย่าง rm -rf ลบไฟล์ถาวรถ้าใช้ผิด ป้องกันอุบัติเหตุโดยสร้าง Aliases บังคับยืนยัน:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
แฟล็ก -i จะขอยืนยันก่อนทำทุกครั้ง
Aliases รันหลายคำสั่งต่อเนื่อง
Aliases รันคำสั่งหลายตัวติดกันได้ ตัวอย่าง Shortcut อัปเดตระบบและอัปเกรดแพ็กเกจทั้งหมด แต่รัน Upgrade ก็ต่อเมื่อ Update สำเร็จ:
alias update='sudo apt update && sudo apt upgrade -y'
ใช้ && รันคำสั่งถัดไปก็ต่อเมื่อก่อนหน้าสำเร็จ และ ; รันต่อเนื่องไม่สนสำเร็จหรือล้มเหลว
จัดระเบียบและดูแล Aliases
Alias เยอะขึ้น จัดระเบียบไว้ช่วยจัดการและอัปเดตง่าย ต้องการดู Aliases ทั้งหมด รัน alias โดยไม่มี Argument:
alias
เช็ค Alias เฉพาะตัว ระบุชื่อกับคำสั่ง alias:
alias update
ลบ Alias ชั่วคราว (Session ปัจจุบัน) 用 unalias:
unalias ll
ลบถาวร ลบออกจาก .bashrc หรือ .bash_aliases แล้ว source ~/.bashrc
เมื่อไหร่ไม่ควรใช้ Aliases
Aliases มีประโยชน์แต่ไม่ใช่คำตอบทุกกรณี
- Aliases ขยายได้เฉพาะ Interactive Shell Session ถ้ากำหนดใน Terminal แล้วพยายามใช้ใน Shell Script มักไม่ทำงาน
- Aliases แค่แทนที่ข้อความก่อนรัน ไม่ประมวลผล Positional Parameters อย่าง
$1,$2ฯลฯ - Aliases ออกแบบมาแทนที่คำสั่งง่ายๆ ต้องการเช็คเงื่อนไข ลูป พารามิเตอร์หลายตัว หรือ Logic ซับซ้อน Aliases จะยุ่งยาก
สรุปง่ายๆ: Aliases เหมาะสำหรับคำสั่งซ้ำง่าย ส่วนที่ต้องการ Logic หรือ Parameters ใช้ Function หรือ Script แทน