摘要:使用 alias 指令,為終端常用命令設計簡稱,提升終端操作效率。
一、alias 別名簡介#
在 Linux 系統當中,alias 命令用於設置指令的別名。
用戶可利用 alias,自定指令的別名。
語法:alias[別名]=[指令名稱]
若僅輸入 alias,則可列出目前所有的別名設置。alias 的效力僅及於該次登入的操作。若要每次登入時即自動設好別名,可在.profile 或.cshrc 中設定指令的別名。
二、macOS 系統 bash 或 zsh 設置別名#
一些常用的命令一遍遍的敲比較浪費時間,可以通過別名的方式簡化操作。
對於 bash 終端#
1、編輯~/.bash_profile
,比如添加 PS:=
兩邊沒有空格:
alias co='git checkout'
alias myip="ifconfig | grep '192'"
alias fetch=' git fetch upstream'
alias merge='git merge'
PS: 如果沒有.bash_profile
文件,那就直接創建一個.bash_profile
,然後進行編輯。
touch .bash_profile
vim .bash_profile
2、按照正常的邏輯直接執行(或者重啟一下終端)。
source ~/.bash_profile
對於 zsh 終端#
如果使用的是zsh
,相應配置了oh-my-zsh
。那麼以上的管理配置會發現無效,因為配置了 zsh 之後,打開新的終端不會按照bash
的方式走.bash_profile,source ~/.bash_aliases
沒有執行,因此發現就沒有起作用。而是走了.zshrc 文件。
簡單的操作,可以直接修改~/.zshrc,把原來的 alias 複製進去,通常 alias 添加到文件的最後,再source
一下。
nano ~/.zshrc
## 末尾添加alias並保存 例如:alias rezsh="source ~/.zshrc"
source ~/.zshrc
三、Windows 系統 Powershell 設置別名#
原理概述#
如果搜索關鍵詞 windows powershell set user alias,通常谷歌會給出微軟官方文檔,但是這個文檔只是告訴我們如何在腳本裡面設置臨時的別名,如果要設置永久別名,該怎麼辦?實際上,“別名” 這種東西,也就是 alias,幾乎所有的腳本語言,都沒有所謂的 “永久別名”(Permanent alias),我們使用 Linux bash、Cmder 之類的腳本工具,打開終端時,系統會默認執行一個腳本文件(bash 是用戶目錄下的.bashrc,Cmder 是 config/user_aliases.cmd),而這樣的腳本文件裡,就包含了別名的定義。這也是為什麼,我們在 Linux 類系統中,修改.bashrc 後,必須要重新登出登入、或者 source .bashrc 的原因了。
所以,我們只要修改 Windows Powershell 啟動時執行的文件就行了。很多論壇裡面說,默認執行的腳本是 $Home\Documents\profile.ps1,也就是 C:\Users\ 你的用戶名 \Documents\profile.ps1,但是這並不正確,最好的方式是,先啟動 PowerShell,再執行 echo $profile,這樣得到的文件路徑,才是 PowerShell 的默認執行文件路徑。
查看現有別名#
- 查看此 Session 中已經設定的所有別名:
Get-Alias
或gal
PS C:\> Get-Alias
CommandType Name
----------- ----
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias asnp -> Add-PSSnapin
- 查看某別名的原命令,如
ls
的原命令:> Get-Alias ls
- 查看某原命令的別名,如
Get-ChildItem
的別名:> Get-Alias -Definition Get-ChildItem
創建永久的別名#
在 PowerShell 中直接使用Set-Alias
或New-Alias
命令創建的別名在關閉此 Session 後即會失效,防止此現象的方法是將此命令寫入Windows PowerShell profile
文件。
查看此文件在計算機中的位置:
PS C:\> $profile
一般該文件在沒有創建前是不存在的,使用以下命令為當前用戶創建 profile 命令並返回文件地址:
PS C:\> New-Item -Type file -Force $profile
一般創建的位置在~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
別名格式:function 別名 { 需要替代的命令 }
打開文件,創建別名upmywiki
和upkibana
:
function upmywiki {d:;cd D:\mywiki\mywiki;tiddlywiki --server 23456}
function upkibana {c:;cd C:\kibana-7.8.0-windows-x86_64\kibana-7.8.0-windows-x86_64\bin;./kibana.bat}
重啟 PowerShell 試試效果:
PS C:\> upmywiki
如果 Powershell 報錯#
提示權限類問題,嘗試以下步驟:
- 以管理員身份打開 Powershell 執行命令
Set-ExecutionPolicy RemoteSigned
- 重新啟動 PowerShell,應該已經可以了