Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

เชี่ยวชาญ Bash Aliases: คู่มือปฏิบัติเพิ่มประสิทธิภาพ Linux Workflow

Photo Courtesy: pchow98

ในขณะที่ส่วนใหญ่ไม่สามารถเตะใครแบบ Jennifer Garner ใน Alias ได้ เราสามารถพยายามใช้ Linux Alias Command อย่างมีประสิทธิภาพได้

Alias Command คือ String Substitution แบบง่ายของ Text หนึ่งสำหรับอีก Text หนึ่ง เมื่อใช้เป็น Word แรกของ Simple Command

ในบทความนี้ มาทบทวนวิธี Set/Unset Bash Aliases แบบ Permanent และ Temporary พร้อม Bash Alias Examples ที่มีประโยชน์สำหรับ Bash Startup Files

บทความนี้เป็นส่วนหนึ่งของชุดบทช่วยสอน Bash ต่อเนื่อง ดู Bash Introduction และ Bash Exit Status ก่อนหน้า

วิธี Set Alias

Aliases สามารถ Define ได้ที่ Command Line, ใน .bash_profile, หรือ .bashrc ด้วย Syntax:

$ alias name='unix command with options'
  • alias – เป็น Shell Built-in
  • name – User-defined Simple Name สำหรับ Alias
  • command – Unix Command ใดๆ อาจมี Options

หมายความว่า Name เป็น Alias สำหรับ Command เมื่อพิมพ์ Name เป็น Command Bash จะแทนที่ด้วย Command พร้อม Options

หมายเหตุ: ไม่มี Space ใดๆ ทั้งสองข้าง Equal Sign Quotes รอบ Command จำเป็นถ้า String ที่ Aliased มีมากกว่า 1 Word

Execute Command นี้ใน Command Line ทำให้เป็น Temporary Alias คือ Available จนกว่าจะ Exit Shell การเก็บ Alias ใน Bash Startup Files ทำให้เป็น Permanent Alias

Aliases ต่อไปนี้อาจมีประโยชน์ สามารถ Set ใน ~/.bashrc File

Most Common Alias Examples (Alias ตัวอย่างที่พบบ่อย)

Aliases ต่อไปนี้พร้อมใช้งานเลย อะไรคือ Alias โปรดของคุณ?

เปิดไฟล์ที่แก้ไขล่าสุดใน Vim

alias Vim="vim `ls -t | head -1`"

หา Top 5 ไฟล์ใหญ่ที่สุด

alias findbig="find . -type f -exec ls -s {} \; | sort -n -r | head -5"

Grep หา Bash Process

alias psg="ps -aux | grep bash"

List รวม Hidden Files พร้อม Indicator และ Color

alias ls='ls -aF --color=always'

List แบบ Long Format

alias ll='ls -l'

Clear History และ Screen ทั้งหมด

alias hcl='history -c; clear'

ทำให้ Basic Commands เป็น Interactive และ Verbose

alias cp="cp -iv"  # interactive, verbose
alias rm="rm -i"   # interactive
alias mv="mv -iv"  # interactive, verbose
alias grep="grep -i"  # ignore case

Aliases ง่ายๆ สำหรับ Commands ที่ใช้บ่อย

alias x="exit"

Clear Screen และ List File

alias cls='clear;ls'

Filesystem Diskspace Usage

alias dus='df -h'

Navigate ไป Directory ต่างๆ

alias ..='cd ..'
alias ...='cd ../..'

ดูบทความนี้สำหรับ CD Command Aliases เพิ่มเติม

Alias Examples ที่ควรปรับแต่งตาม Environment

Alias Examples ใน Section นี้ควรปรับตาม Environment ของคุณก่อนใช้

ลบ Firefox Lock

alias rm_fire_lock='/bin/rm .mozilla/firefox/NAME.default/.parentlock'  # edit NAME

Login Remote Machine ผ่าน SSH ด้วย Login Name

alias server_name='ssh 192.168.1.1 -l tom'  # change the ip & user name
alias ser2='ssh www.dbserver.com -l kgf'  # create as many alias as required.

Login Remote CVS Server

export CVS_RSH=/usr/local/bin/ssh
alias cvl='cvs -d :ext:username@cvs.server.com:/usr/local/cvsroot'  # change required.

Unmount CDROM

alias umnt='umount /mnt/cdrom'  # cdrom / thumb drive.

วิธีดู Aliases ทั้งหมด

Execute alias โดยไม่มี Arguments เพื่อดู List ของ Aliases ที่ Set ใน Shell

$ alias
alias ..='cd ..'
alias ...='cd ../..'
alias mnt='mount /mnt/cdrom'
alias umnt='umount /mnt/cdrom'
alias dus='df -h'

ดู Alias เฉพาะตัว ใช้ Format "alias aliasname"

$ alias dus
alias dus='df -h'

วิธีหยุดใช้ Aliases ชั่วคราว

เมื่อต้องการเรียก Command แทน Alias ให้ Escape แล้วเรียก

$ \aliasname

เช่น Alias cp="cp -iv" จะถามยืนยันถ้า Overwrite File นี่อาจรบกวนตอน Copy ไฟล์เยอะที่รู้ว่าจะ Overwrite อาจต้องการใช้ Regular cp Command แทน cp-alias ชั่วคราว

ดังนั้น ถ้า Alias cp มีอยู่ แต่ต้องการใช้ cp-command แทน ให้ Escape Alias ชั่วคราว:

\cp * /backup/files/

วิธีลบ Alias

unalias เป็น Shell Built-in สำหรับลบ Alias ลบ Alias เฉพาะตัว:

$ unalias hcl
where unalias is a shell built-in. mnt is an alias name.
$ hcl
-bash: hcl: command not found

วิธีลบ Aliases ทั้งหมด

unalias ด้วย -a Option ลบ Aliases ทั้งหมด

$ unalias -a
$ alias

NOTE: Shell Functions เร็วกว่า Aliases ถูก Lookup หลัง Functions ดังนั้น Resolve ช้ากว่า แม้ Aliases จะเข้าใจง่าย Shell Functions ถูก Prefer กว่า Aliases สำหรับทุก Purpose เกือบทุกอย่าง ควรระมัดระวังมากในการ Replace Standard Command ด้วย Alias หรือ Function

Aliases ในบทความนี้มีใน Sample Bash Aliases Files นี้ สามารถ Copy/Paste ใช้ใน Bash Startup File ได้

Aliases เป็นสิ่งที่มีประโยชน์มาก แต่หวังว่าคุณจะพบว่า Bash Functions น่าสนใจอย่างน้อยและมีประโยชน์มากกว่า ซึ่งจะพูดถึงในบทความ Bash ถัดไป