ค้นหาเว็บไซต์

วิธีต่างๆ ในการสร้างและใช้ 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

เพียงเท่านี้สำหรับบทความนี้ เราได้เห็นแล้วว่า นามแฝง คืออะไร ไฟล์การกำหนดค่าที่เกี่ยวข้องกับ นามแฝง และวิธีการต่างๆ ในการตั้งค่า นามแฝง ภายในเครื่องและทั่วโลก