舉例說明 alias 和 unalias 命令
如果不是一個命令行重度用戶的話,過了一段時間之後,你就可能已經忘記了這些複雜且冗長的 Linux 命令了。當然,有很多方法可以讓你 回想起遺忘的命令。你可以簡單的 保存常用的命令 然後按需使用。也可以在終端里 標記重要的命令,然後在任何時候你想要的時間使用它們。而且,Linux 有一個內建命令 history
可以幫助你記憶這些命令。另外一個記住這些如此長的命令的簡便方式就是為這些命令創建一個別名。你可以為任何經常重複調用的常用命令創建別名,而不僅僅是長命令。通過這種方法,你不必再過多地記憶這些命令。這篇文章中,我們將會在 Linux 環境下舉例說明 alias
和 unalias
命令。
alias 命令
alias
使用一個用戶自定義的字元串來代替一個或者一串命令(包括多個選項、參數)。這個字元串可以是一個簡單的名字或者縮寫,不管這個命令原來多麼複雜。alias
命令已經預裝在 shell(包括 BASH、Csh、Ksh 和 Zsh 等) 當中。
alias
的通用語法是:
alias [alias-name[=string]...]
接下來看幾個例子。
列出別名
可能在你的系統中已經設置了一些別名。有些應用在你安裝它們的時候可能已經自動創建了別名。要查看已經存在的別名,運行:
$ alias
或者,
$ alias -p
在我的 Arch Linux 系統中已經設置了下面這些別名。
alias betty='/home/sk/betty/main.rb'
alias ls='ls --color=auto'
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
alias update='newsbeuter -r && sudo pacman -Syu'
創建一個新的別名
像我之前說的,你不必去記憶這些又臭又長的命令。你甚至不必一遍一遍的運行長命令。只需要為這些命令創建一個簡單易懂的別名,然後在任何你想使用的時候運行這些別名就可以了。這種方式會讓你愛上命令行。
$ du -h --max-depth=1 | sort -hr
這個命令將會查找當前工作目錄下的各個子目錄佔用的磁碟大小,並按照從大到小的順序進行排序。這個命令有點長。我們可以像下面這樣輕易地為其創建一個 別名:
$ alias du='du -h --max-depth=1 | sort -hr'
這裡的 du
就是這條命令的別名。這個別名可以被設置為任何名字,主要便於記憶和區別。
在創建一個別名的時候,使用單引號或者雙引號都是可以的。這兩種方法最後的結果沒有任何區別。
現在你可以運行這個別名(例如我們這個例子中的 du
)。它和上面的原命令將會產生相同的結果。
這個別名僅限於當前 shell 會話中。一旦你退出了當前 shell 會話,別名也就失效了。為了讓這些別名長久有效,你需要把它們添加到你 shell 的配置文件當中。
BASH,編輯 ~/.bashrc
文件:
$ nano ~/.bashrc
一行添加一個別名:
保存並退出這個文件。然後運行以下命令更新修改:
$ source ~/.bashrc
現在,這些別名在所有會話中都可以永久使用了。
ZSH,你需要添加這些別名到 ~/.zshrc
文件中。Fish,跟上面的類似,添加這些別名到 ~/.config/fish/config.fish
文件中。
查看某個特定的命令別名
像我上面提到的,你可以使用 alias
命令列出你系統中所有的別名。如果你想查看跟給定的別名有關的命令,例如 du
,只需要運行:
$ alias du
alias du='du -h --max-depth=1 | sort -hr'
像你看到的那樣,上面的命令可以顯示與單詞 du
有關的命令。
關於 alias
命令更多的細節,參閱 man 手冊頁:
$ man alias
unalias 命令
跟它的名字說的一樣,unalias
命令可以很輕鬆地從你的系統當中移除別名。unalias
命令的通用語法是:
unalias <alias-name>
要移除命令的別名,像我們之前創建的 du
,只需要運行:
$ unalias du
unalias
命令不僅會從當前會話中移除別名,也會從你的 shell 配置文件中永久地移除別名。
還有一種移除別名的方法,是創建具有相同名稱的新別名。
要從當前會話中移除所有的別名,使用 -a
選項:
$ unalias -a
更多細節,參閱 man 手冊頁。
$ man unalias
如果你經常一遍又一遍的運行這些繁雜又冗長的命令,給它們創建別名可以節省你的時間。現在是你為常用命令創建別名的時候了。
這就是所有的內容了。希望可以幫到你。還有更多的乾貨即將到來,敬請期待!
祝近祺!
via: https://www.ostechnix.com/the-alias-and-unalias-commands-explained-with-examples/
作者:SK 選題:lujun9972 譯者:dianbanjiu 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive