天天看點

用别名(alias)建立你自己的指令

一、alias初體驗

現在是時候,感受第一次程式設計經曆了!我們将用 alias 指令建立我們自己的指令。但在 開始之前,我們需要展示一個指令行小技巧。可以把多個指令放在同一行上,指令之間 用”;”分開。它像這樣工作

我們會用到下面的例子:

[[email protected] ~]$ cd /usr; ls; cd -
bin  games    kerberos  lib64    local  share  tmp
...
[[email protected] ~]$
           

正如我們看到的,我們在一行上聯合了三個指令。首先更改目錄到/usr,然後列出目錄 内容,最後回到原始目錄(用指令”cd -“),結束在開始的地方。

現在,通過 alias 指令 把這一串指令轉變為一個指令。

我們要做的第一件事就是為我們的新指令構想一個名字。

比方說”test”。在使用”test”之前,查明是否”test”指令名已經存在系統中,是個很不錯 的主意。

為了查清此事,可以使用 type 指令:

[me@linuxbox ~]$ type test
test is a shell builtin
           

哦!”test”名字已經被使用了。試一下”foo”:

[[email protected] ~]$ type foo
bash: type: foo: not found
           

太棒了!”foo”還沒被占用。建立指令别名:

注意指令結構:

alias name='string'
           

在指令”alias”之後,輸入“name”,緊接着(沒有空格)是一個等号,等号之後是 一串用引号引起的字元串,字元串的内容要指派給 name。我們定義了别名之後, 這個指令别名可以使用在任何地方。試一下:

[[email protected] ~]$ foo
bin   games   kerberos  lib64    local   share  tmp
...
[[email protected] ~]$
           

我們也可以使用 type 指令來檢視我們的别名:

[[email protected] ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -'
           

删除别名,使用 unalias 指令,像這樣:

[me@linuxbox ~]$ unalias foo
[me@linuxbox ~]$ type foo
bash: type: foo: not found
           

雖然我們有意避免使用已經存在的指令名來命名我們的别名,但這是常做的事情。通常, 會把一個普遍用到的選項加到一個經常使用的指令後面。例如,之前見到的 ls 指令,會 帶有色彩支援:

[[email protected] ~]$ type ls
ls is aliased to 'ls --color=tty'
           

要檢視所有定義在系統環境中的别名,使用不帶參數的 alias 指令。下面在 Fedora 系統中 預設定義的别名。試着弄明白,它們是做什麼的:

[[email protected] ~]$ alias
alias l.='ls -d .* --color=tty'
...
           

在指令行中定義别名有點兒小問題。當你的 shell 會話結束時,它們會消失。

二、接如何設定永久有效的alias指令

1.打開.bashrc檔案

當系統重新開機之後就會失效,是以要實作永久有效,則需要 修改使用者目錄下的一個檔案 .bashrc  目錄為 ~/.bashrc

2.自定義指令行

alias cls=’clear’這行,并且加一個注釋

# User specific aliases and functions

友善我們日後的查閱

修改後如下:

#.bashrc
# User specific aliases and functions
alias cls='clear'


# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions12345678910111213
           

3.儲存退出

4.使用指令生效更改

source ~/.bashrc
           

5.驗證

  • 重新開機後嘗試
  • 關閉ssh重新連接配接
  • 輸入alias可以看到所有的别名

繼續閱讀