
建立符號連結可能根本無法與建立別名相比。但據我目前對符號連結的了解,它們的作用與設定別名相同:它們定義一個新命令,您可以在終端機中輸入該命令以執行具有不同名稱的操作
什麼時候應該創建別名以及什麼時候應該創建符號連結?
答案1
最大的實際差異是:
- 別名是在您的設定檔腳本中定義的,它們通常是特定於您的它們只在 shell 中工作。
- 當可執行檔連結到 bin 目錄中的新名稱時這是所有進程和使用者都可以使用的系統命令
細節
別名可以包含選項和參數,讓您可以為指令設定首選的預設選項:
alias ll='ls -l'
並且與文件無關。
符號連結在檔案系統中建立一個引用檔案系統中其他檔案的條目:
link -s ~/somedirectory/mydoc.txt ~/someotherdirectory
將在其他目錄中建立指向 mydoc.txt 的鏈接
然而。
如果連結用於執行檔然後它可以為命令指定一個新名稱,就像別名一樣。例如在我的系統上ls -l /usr/bin/vi
說
lrwxr-xr-x 1 root wheel 3B 19 Nov 2019 /usr/bin/vi -> vim
所以現在vi
是一個與 相同的可執行指令vim
。同樣,許多系統都安裝了python2
& python3
,然後python
將符號連結到其中一個。