วิธีต่างๆ ในการสร้างและใช้ Bash Aliases ใน Linux
นามแฝง ใน bash สามารถเรียกง่ายๆ ว่าเป็นคำสั่งหรือทางลัดที่จะเรียกใช้คำสั่ง/โปรแกรมอื่น นามแฝงมีประโยชน์มากเมื่อคำสั่งของเรายาวมากและสำหรับคำสั่งที่ใช้บ่อย ตลอดบทความนี้ เราจะดูว่านามแฝงมีประสิทธิภาพเพียงใด และวิธีต่างๆ ในการตั้งค่านามแฝงและใช้งาน
ตรวจสอบ Bash Aliases ใน Linux
นามแฝงเป็นคำสั่งเชลล์บิวด์อิน และคุณสามารถยืนยันได้ด้วยการเรียกใช้:
type -a alias
alias is a shell builtin
ก่อนที่จะข้ามและตั้งค่า นามแฝง เราจะเห็นไฟล์การกำหนดค่าที่เกี่ยวข้อง นามแฝงสามารถตั้งค่าได้ที่ “ระดับผู้ใช้ ” หรือ “ระดับระบบ ”
เรียกใช้เชลล์ของคุณและเพียงพิมพ์ “นามแฝง” เพื่อดูรายการนามแฝงที่กำหนดไว้
alias
นามแฝง ระดับผู้ใช้ สามารถกำหนดได้ในไฟล์ .bashrc หรือไฟล์ .bash_aliases ไฟล์ .bash_aliases คือการจัดกลุ่มนามแฝงทั้งหมดของคุณให้เป็นไฟล์แยกต่างหาก แทนที่จะวางไว้ในไฟล์ .bashrc พร้อมกับพารามิเตอร์อื่นๆ ในตอนแรก .bash_aliases จะไม่สามารถใช้ได้ และเราต้องสร้างมันขึ้นมา
ls -la ~ | grep -i .bash_aliases # Check if file is available
touch ~/.bash_aliases # Create empty alias file
เปิดไฟล์ .bashrc และมองหาส่วนต่อไปนี้ โค้ดส่วนนี้มีหน้าที่ตรวจสอบว่าไฟล์ .bash_aliases ปรากฏอยู่ในโฮมไดเร็กตอรี่ของผู้ใช้หรือไม่ และโหลดทุกครั้งที่คุณเริ่มเซสชันเทอร์มินัลใหม่
Alias definitions.
You may want to put all your additions into a separate file like
~/.bash_aliases, instead of adding them here directly.
See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
คุณยังสามารถสร้างไฟล์นามแฝงที่กำหนดเองภายใต้ไดเร็กทอรีใดก็ได้ และเพิ่มคำจำกัดความใน .bashrc หรือ .profile เพื่อโหลด แต่ฉันจะไม่ชอบสิ่งนี้ และฉันเลือกที่จะยึดติดกับการจัดกลุ่มนามแฝงทั้งหมดของฉันภายใต้ .bash_aliases
คุณยังสามารถเพิ่มนามแฝงใต้ไฟล์ .bashrc ได้ มองหาส่วน นามแฝง ใต้ไฟล์ .bashrc ซึ่งมีนามแฝงที่กำหนดไว้ล่วงหน้าบางส่วน
enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
Add an "alert" alias for long running commands. Use like so:
sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
การสร้างนามแฝงใน Linux
คุณสามารถสร้าง นามแฝง ชั่วคราวที่จะถูกเก็บไว้เฉพาะสำหรับเซสชันปัจจุบันของคุณ และจะถูกทำลายเมื่อเซสชันปัจจุบันของคุณสิ้นสุดลง หรือนามแฝงถาวรซึ่งจะคงอยู่ต่อไป
ไวยากรณ์สำหรับการสร้างนามแฝงใน Linux
alias <name-of-the-command>="command to run"
เช่น ในสถานการณ์จริง
alias Hello="echo welcome to Tecmint"
เปิดเทอร์มินัลและสร้างคำสั่ง นามแฝง ที่คุณต้องการ หากคุณเปิดเซสชันอื่น นามแฝงที่สร้างขึ้นใหม่จะไม่สามารถใช้ได้
alias Hello"echo welcome to Tecmint"
alias
Hello
หากต้องการทำให้ นามแฝง คงอยู่ ให้เพิ่มลงในไฟล์ .bash_aliases คุณสามารถใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบหรือใช้คำสั่ง cat หรือคำสั่ง echo เพื่อเพิ่มนามแฝง
echo alias nf="neofetch" >> ~/.bash_aliases
cat >> ~/.bash_aliases
cat ~/.bash_aliases
คุณต้องโหลดไฟล์ .bash_aliases อีกครั้งเพื่อให้การเปลี่ยนแปลงมีผลในเซสชันปัจจุบัน
source ~/.bash_aliases
ตอนนี้ถ้าฉันเรียกใช้ “nf ” ซึ่งเป็นนามแฝงของ “neofetch ” มันจะทริกเกอร์โปรแกรม neofetch
nf
นามแฝงอาจมีประโยชน์หากคุณต้องการแทนที่การทำงานเริ่มต้นของคำสั่งใดๆ สำหรับการสาธิต ฉันจะใช้คำสั่งสถานะการออนไลน์ ซึ่งจะแสดงสถานะการออนไลน์ของระบบ จำนวนผู้ใช้ที่เข้าสู่ระบบ และค่าเฉลี่ยการโหลดของระบบ ตอนนี้ ฉันจะสร้างนามแฝงที่จะแทนที่พฤติกรรมของ คำสั่งสถานะการออนไลน์
uptime
cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
source ~/.bash_aliases
uptime
จากตัวอย่างนี้ คุณสามารถสรุปได้ว่าลำดับความสำคัญตกเป็นนามแฝง bash ก่อนที่จะตรวจสอบและเรียกใช้คำสั่งจริง
cat ~/.bash_aliases
source ~/.bash_aliases
uptime
การลบนามแฝงใน Linux
ตอนนี้ให้ลบรายการ uptime ออกจากไฟล์ .bash_aliases และโหลดไฟล์ .bash_aliases อีกครั้ง ซึ่งจะยังคงพิมพ์ uptime ด้วยคำจำกัดความ นามแฝง นี่เป็นเพราะว่าคำจำกัดความ นามแฝง ถูกโหลดลงในเซสชันเชลล์ปัจจุบัน และเราต้องเริ่มเซสชันใหม่หรือยกเลิกการตั้งค่าคำจำกัดความนามแฝงโดยการรันคำสั่ง unalias ดังที่แสดงใน ด้านล่างภาพ
unalias uptime
การเพิ่มนามแฝงทั้งระบบ
จนถึงจุดนี้ เราได้เห็นวิธีการตั้งค่านามแฝงในระดับผู้ใช้แล้ว หากต้องการตั้งค่านามแฝงทั่วโลก คุณสามารถแก้ไขไฟล์ “/etc/bash.bashrc ” และเพิ่มนามแฝงซึ่งจะมีผลทั่วโลก คุณต้องมีสิทธิ์ระดับสูงจึงจะแก้ไขไฟล์ bash.bashrc ได้
หรือสร้างสคริปต์ภายใต้ “/etc/profile.d/ ” เมื่อคุณล็อกอินเข้าสู่เชลล์ “/etc/profile ” จะเรียกใช้สคริปต์ใดๆ ภายใต้ profile.d ก่อนที่จะรันจริง ~/.profile วิธีนี้จะลดความเสี่ยงที่จะทำให้ไฟล์ /etc/profile หรือ /etc/bash.bashrc เสียหาย
sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”
ด้านล่างนี้คือโค้ดที่ดึงมาจาก /etc/profile ที่ดูแลการเรียกใช้สคริปต์ใดๆ ที่เราวางไว้ใต้ /etc/profiles.d/ มันจะค้นหาไฟล์ที่มีนามสกุล .sh
และเรียกใช้คำสั่ง source
tail /etc/profile
เพียงเท่านี้สำหรับบทความนี้ เราได้เห็นแล้วว่า นามแฝง คืออะไร ไฟล์การกำหนดค่าที่เกี่ยวข้องกับ นามแฝง และวิธีการต่างๆ ในการตั้งค่า นามแฝง ภายในเครื่องและทั่วโลก