banner
LegalGeek

LegalGeek

搞产品的法律人

為終端命令設置alias別名

摘要:使用 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-Aliasgal
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-AliasNew-Alias命令創建的別名在關閉此 Session 後即會失效,防止此現象的方法是將此命令寫入Windows PowerShell profile文件。
查看此文件在計算機中的位置:

PS C:\> $profile

一般該文件在沒有創建前是不存在的,使用以下命令為當前用戶創建 profile 命令並返回文件地址:

PS C:\> New-Item -Type file -Force $profile

一般創建的位置在~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

別名格式:function 別名 { 需要替代的命令 }

打開文件,創建別名upmywikiupkibana

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,應該已經可以了
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。