2007年11月26日 星期一

指令別名

指令在之前就提到過了,當時沒記錄 alias ,是覺得還蠻簡單的,會想重提 alias,是後來學到/etc/aliases 與 newaliases 的指令,覺得兩者易搞混,故決定記錄一下兩者的差別。

Command alias 指令別名

指令別名主要用意是希望用簡單的指令別名代替原本較長加上複雜參數的指令,最常見的莫過於 ll (常用於 red hat),它其實是 ls 的指令別明,而其原本的寫法為 ls -l --color=tty,以下為查詢指令別名的方法:
bang@linuxdiary:~$ alias
alias ls='ls --color=auto'
alias 與 unalias 分別為設定與解除指令別名的指令,以下為範例:

設定 l. 為顯示所有隱藏檔的指令別名
bang@linuxdiary:~$ alias l.='ls -d .* --color=tty'
bang@linuxdiary:~$ l.
. .chewing .gaim .gnome2 .lesshst .profile .thumbnails .Xauthority
.. .config .gconf .gnome2_private .metacity .recently-used .Trash .xsession-errors
略...
取消 l. 的設定
bang@linuxdiary:~$ unalias l.

但以上指定的別名在登出 Shell 後,即失去作用。如果想讓系統維持別名的設定,必須在 Shell 的設定擋 .bashrc 設定想要常駐的別名,以下節錄 Ubuntu 的 ~/.bashrc 檔案
# 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 (使用者也可使用 .bash_aliases 來替代在 .bashrc 編寫別名)
#fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto' (Ubuntu 預設中唯一的別名...)
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi

# some more ls aliases (red hat 常見的 ls 別名,在 Ubuntu 都註解掉了)
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

沒有留言: