Symlink

什麼時候應該創建符號連結而不是創建別名?

  • March 28, 2022

製作符號連結可能根本無法與製作別名相提並論。但是從我目前對符號連結的理解來看,它們與設置別名的作用相同:它們定義了一個新命令,您可以在終端中輸入該命令以執行具有不同名稱的操作

什麼時候應該創建別名,什麼時候應該創建符號連結?

最大的實際區別是:

  • 別名在您的配置文件腳本中定義,它們通常特定於您,並且僅在 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

所以 nowvi是一個與vim. 同樣,許多系統都安裝了python2& python3,然後python將符號連結到其中之一。

引用自:https://unix.stackexchange.com/questions/603893