Windows上有與Linux相同的bashrc啟動文件,查看其所在目錄:
PS C:\Users\gaowei> echo $profile
C:\Users\gaowei\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
查看內容:
PS C:\Users\gaowei> cat $profile
Set-PSReadLineOption -EditMode Emacs
這是Powershell的啟動文件,如果在文件中添加emacs命令,則每次打開任何一個tab都是啟動emacs,這并非我們想要的結果。
從run界面中鍵入命令“shell:startup”:
startup
就能進入到啟動界面,然后將程序的快捷方式復制到這里:
便能將程序設置為開機啟動。
bash 中的別名可以簡單地稱為命令或將運行另一個命令/程序的快捷方式。當我們的命令很長并且對于經常使用的命令時,別名非常有用。在本文[1]中,我們將了解別名的強大功能以及設置和使用別名的不同方法。
Alias 是一個 shell 內置命令,您可以通過運行以下命令來確認它:
$ type -a alias
alias is a shell builtin
在跳轉和設置別名之前,我們將看到涉及的配置文件。別名可以在“用戶級”或“系統級”設置。
調用您的 shell 并只需鍵入“alias”即可查看已定義別名的列表。
$ alias
用戶級別名可以在 .bashrc 文件或 .bash_aliases 文件中定義。 .bash_aliases 文件是將所有別名分組到一個單獨的文件中,而不是將其與其他參數一起放在 .bashrc 文件中。最初,.bash_aliases 不可用,我們必須創建它。
$ ls -la ~ | grep -i .bash_aliases # Check if file is available
$ touch ~/.bash_aliases # Create empty alias file
打開 .bashrc 文件并查找以下部分。此部分代碼負責檢查文件 .bash_aliases 是否存在于用戶主目錄下,并在啟動新終端會話時加載它。
# 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
fi
您還可以在任何目錄下創建自定義別名文件,并在 .bashrc 或 .profile 中添加定義以加載它。但我不喜歡這樣,我選擇堅持將所有別名分組在 .bash_aliases 下。
您還可以在 .bashrc 文件下添加別名。請注意 .bashrc 文件下的別名部分,其中包含一些預定義的別名。
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
您可以創建一個臨時別名(僅為當前會話存儲并在當前會話結束后銷毀),也可以創建永久別名(永久別名)。
在 Linux 中創建別名的語法。
$ alias <name-of-the-command>="command to run"
例如,在真實場景中。
$ alias Hello="echo welcome to Tecmint"
打開終端并創建您想要的任何別名命令。如果您打開另一個會話,則新創建的別名將不可用。
$ alias Hello"echo welcome to Tecmint"
$ alias
$ Hello
要使別名持久存在,請將其添加到 .bash_aliases 文件中。您可以使用您喜歡的文本編輯器或使用 cat 命令或 echo 命令來添加別名。
$ echo alias nf="neofetch" >> ~/.bash_aliases
$ cat >> ~/.bash_aliases
$ cat ~/.bash_aliases
您必須重新加載 .bash_aliases 文件才能使更改在當前會話中生效。
$ source ~/.bash_aliases
現在,如果我運行“nf”(“neofetch”的別名),它將觸發 neofetch 程序。
$ nf
如果您希望覆蓋任何命令的默認行為,別名會派上用場。為了進行演示,我將使用 uptime 命令,該命令將顯示系統正常運行時間、登錄用戶數以及系統平均負載。現在我將創建一個別名來覆蓋 uptime 命令的行為。
$ uptime
$ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
$ source ~/.bash_aliases
$ uptime
從這個示例中,您可以得出結論,在檢查和調用實際命令之前,優先級屬于 bash 別名。
$ cat ~/.bash_aliases
$ source ~/.bash_aliases
$ uptime
現在從 .bash_aliases 文件中刪除正常運行時間條目并重新加載 .bash_aliases 文件,該文件仍將使用別名定義打印正常運行時間。這是因為別名定義已加載到當前 shell 會話中,我們必須啟動新會話或通過運行 unalias 命令取消設置別名定義,如下圖所示。
$ unalias uptime
到目前為止,我們已經了解了如何在用戶級別設置別名。要全局設置別名,您可以修改“/etc/bash.bashrc”文件并添加全局有效的別名。您需要具有提升的權限才能修改 bash.bashrc 文件。
或者,在“/etc/profile.d/”下創建一個腳本。當您登錄到 shell 時,“/etc/profile”將在實際運行 ~/.profile 之前運行 profile.d 下的任何腳本。此方法將降低弄亂 /etc/profile 或 /etc/bash.bashrc 文件的風險。
$ sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”
下面是從 /etc/profile 中獲取的代碼,它負責運行我們放在 /etc/profiles.d/ 下的任何腳本。它將查找任何帶有 .sh 擴展名的文件并運行 source 命令。
$ tail /etc/profile
這就是本文的內容。我們已經了解了什么是別名、別名涉及的配置文件以及本地和全局設置別名的不同方法。
[1]Source: https://www.tecmint.com/create-and-use-bash-aliases-in-linux/